@Override public List<Tag> save(T entity) { List<Tag> tags = super.save(entity); tags.add(new ByteTag("Dir", entity.getDirection())); tags.add(new StringTag("Motive", entity.getArt())); Vector3f bc = entity.getBlockCoordinates(); tags.add(new IntTag("TileX", bc.getBlockX())); tags.add(new IntTag("TileY", bc.getBlockY())); tags.add(new IntTag("TileZ", bc.getBlockZ())); return tags; }
@Override @SuppressWarnings("unchecked") public void loadTag(T entity, Tag tag) { String name = tag.getName(); if (name.equals("Dir")) { entity.setDirection(((ByteTag) tag).getValue()); } else if (name.equals("Motive")) { entity.setArt(((StringTag) tag).getValue()); } else if (name.equals("TileX")) { entity.getBlockCoordinates().setX(((IntTag) tag).getValue()); } else if (name.equals("TileY")) { entity.getBlockCoordinates().setY(((IntTag) tag).getValue()); } else if (name.equals("TileZ")) { entity.getBlockCoordinates().setZ(((IntTag) tag).getValue()); } else { super.loadTag(entity, tag); } }