import com.irtimaled.bbor.client.events.AddBoundingBoxReceived;
import com.irtimaled.bbor.common.models.AbstractBoundingBox;
import com.irtimaled.bbor.common.models.DimensionId;
+import net.minecraft.world.dimension.DimensionType;
import java.util.HashSet;
import java.util.Set;
public class AddBoundingBox {
public static final String NAME = "bbor:add_bounding_box_v2";
+ public static final String LEGACY = "bbor:add_bounding_box";
public static PayloadBuilder getPayload(DimensionId dimensionId, AbstractBoundingBox key, Set<AbstractBoundingBox> boundingBoxes) {
if (!BoundingBoxSerializer.canSerialize(key)) return null;
return builder;
}
- public static AddBoundingBoxReceived getEvent(PayloadReader reader) {
- DimensionId dimensionId = reader.readDimensionId();
+ public static AddBoundingBoxReceived getEvent(PayloadReader reader, String name) {
+ DimensionId dimensionId = getDimensionId(reader, name);
AbstractBoundingBox key = BoundingBoxDeserializer.deserialize(reader);
if (key == null) return null;
boundingBoxes.add(key);
return new AddBoundingBoxReceived(dimensionId, key, boundingBoxes);
}
+
+ private static DimensionId getDimensionId(PayloadReader reader, String name) {
+ if (name.equals(NAME)) return reader.readDimensionId();
+
+ int dimensionRawId = reader.readVarInt();
+ DimensionType dimensionType = DimensionType.getById(dimensionRawId);
+ return DimensionId.from(dimensionType);
+ }
}
import com.irtimaled.bbor.common.models.Coords;
import com.irtimaled.bbor.common.models.DimensionId;
import net.minecraft.network.PacketBuffer;
-import net.minecraft.util.ResourceLocation;
public class PayloadReader {
private final PacketBuffer buffer;
((ClientPlayNetHandler) netHandlerPlayClient).sendPacket(SubscribeToServer.getPayload().build());
break;
}
- case AddBoundingBox.NAME: {
- EventBus.publish(AddBoundingBox.getEvent(reader));
+ case AddBoundingBox.NAME:
+ case AddBoundingBox.LEGACY: {
+ EventBus.publish(AddBoundingBox.getEvent(reader, channelName));
break;
}
}