import com.irtimaled.bbor.common.models.AbstractBoundingBox;
import com.irtimaled.bbor.common.models.BoundingBoxCuboid;
-import com.irtimaled.bbor.common.models.BoundingBoxVillage;
-import com.irtimaled.bbor.common.models.Coords;
import java.util.HashMap;
import java.util.Map;
private static final Map<Class, BiConsumer<AbstractBoundingBox, PayloadBuilder>> serializers = new HashMap<>();
static {
- serializers.put(BoundingBoxVillage.class, (bb, pb) -> serializeVillage((BoundingBoxVillage) bb, pb));
serializers.put(BoundingBoxCuboid.class, (bb, pb) -> serializeStructure((BoundingBoxCuboid)bb, pb));
}
serializer.accept(boundingBox, builder);
}
- private static void serializeVillage(BoundingBoxVillage boundingBox, PayloadBuilder builder) {
- builder.writeChar('V')
- .writeCoords(boundingBox.getCenter())
- .writeVarInt((int)boundingBox.getRadius())
- .writeBoolean(boundingBox.getSpawnsIronGolems())
- .writeVarInt(boundingBox.getColor().getRGB());
- for (Coords door : boundingBox.getDoors()) {
- builder.writeCoords(door);
- }
- }
-
private static void serializeStructure(BoundingBoxCuboid boundingBox, PayloadBuilder builder) {
builder.writeChar('S')
.writeInt(boundingBox.getType().hashCode())