From 1bb7a80f7b4cebe861071bca2a4929aefb3fd142 Mon Sep 17 00:00:00 2001 From: BlueWeabo Date: Sun, 4 Aug 2024 21:49:14 +0300 Subject: [PATCH] add the world on the client side too --- src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java | 2 ++ .../mutecore/api/registry/MultiTileContainer.java | 4 ++-- .../com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java b/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java index dff189b..167526e 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java +++ b/src/main/java/com/gtnewhorizons/mutecore/MuTENetwork.java @@ -20,6 +20,7 @@ import com.cleanroommc.modularui.network.IPacket; import com.gtnewhorizons.mutecore.api.block.MultiTileEntityBlock; import com.gtnewhorizons.mutecore.api.data.Coordinates; +import com.gtnewhorizons.mutecore.api.data.WorldContainer; import com.gtnewhorizons.mutecore.api.data.WorldStateValidator; import com.gtnewhorizons.mutecore.api.registry.MultiTileContainer; import com.gtnewhorizons.mutecore.api.registry.MultiTileEntityRegistry; @@ -120,6 +121,7 @@ public void read(PacketBuffer buf) throws IOException { .getInteger("i")); Entity entity = container.createNewEntity(); entity.add(coords); + entity.add(new WorldContainer(Minecraft.getMinecraft().theWorld)); Object[] components = ((IntEntity) entity).getComponentArray(); for (int i = 0; i < components.length; i++) { if (!(components[i] instanceof WorldStateValidator validator)) continue; diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java index f3653ab..abb0a79 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/registry/MultiTileContainer.java @@ -150,16 +150,16 @@ public void setRegId(int regId) { @Override public void save(NBTTagCompound nbt) { NBTTagCompound idNBT = new NBTTagCompound(); - idNBT.setInteger("i", id); idNBT.setInteger("r", regId); + idNBT.setInteger("i", id); nbt.setTag("idData", idNBT); } @Override public void load(NBTTagCompound nbt) { NBTTagCompound idNBT = nbt.getCompoundTag("idData"); - id = idNBT.getInteger("i"); regId = idNBT.getInteger("r"); + id = idNBT.getInteger("i"); } } } diff --git a/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java b/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java index 6528262..0a3f690 100644 --- a/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java +++ b/src/main/java/com/gtnewhorizons/mutecore/api/tile/MultiTileEntity.java @@ -67,6 +67,9 @@ public ModularPanel buildUI(ComponentData data, GuiSyncManager syncManager) { if (entity == null) { entity = container.createNewEntity(); } + if (!entity.has(WorldContainer.class)) { + entity.add(new WorldContainer(syncManager.getPlayer().worldObj)); + } Object[] components = ((IntEntity) entity).getComponentArray(); for (Object component : components) { if (component instanceof WorldStateValidator validator) {