- static void serialize(BoundingBox boundingBox, PacketBuffer buf) {
- if (boundingBox instanceof BoundingBoxVillage) {
- serializeVillage((BoundingBoxVillage) boundingBox, buf);
- }
- if (boundingBox instanceof BoundingBoxStructure) {
- serializeStructure((BoundingBoxStructure) boundingBox, buf);
- }
- if (boundingBox instanceof BoundingBoxMobSpawner) {
- serializeMobSpawner((BoundingBoxMobSpawner) boundingBox, buf);
- }
- }
-
- private static void serializeVillage(BoundingBoxVillage boundingBox, PacketBuffer buf) {
- buf.writeChar('V');
- serializeBlockPos(boundingBox.getCenter(), buf);
- buf.writeVarInt(boundingBox.getRadius());
- buf.writeBoolean(boundingBox.getSpawnsIronGolems());
- serializeColor(boundingBox.getColor(), buf);
- for (BlockPos door : boundingBox.getDoors()) {
- serializeBlockPos(door, buf);
- }
- }
+ private static final Map<Class, BiConsumer<AbstractBoundingBox, PayloadBuilder>> serializers = new HashMap<>();