diff --git a/src/main/java/com/goodbird/npcgecko/CommonProxy.java b/src/main/java/com/goodbird/npcgecko/CommonProxy.java index 1feced2..5e9f5d0 100644 --- a/src/main/java/com/goodbird/npcgecko/CommonProxy.java +++ b/src/main/java/com/goodbird/npcgecko/CommonProxy.java @@ -9,6 +9,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.World; import noppes.npcs.scripted.NpcAPI; import software.bernie.example.block.tile.BotariumTileEntity; @@ -24,4 +26,8 @@ public class CommonProxy { GameRegistry.registerTileEntity(TileEntityCustomModel.class, "custommodeltile"); NpcAPI.Instance().addGlobalObject("GeckoAPI", AbstractGeckoAPI.Instance()); } + + public World getWorldById(int id){ + return MinecraftServer.getServer().worldServers[id]; + } } diff --git a/src/main/java/com/goodbird/npcgecko/client/ClientProxy.java b/src/main/java/com/goodbird/npcgecko/client/ClientProxy.java index 7383da5..e622c12 100644 --- a/src/main/java/com/goodbird/npcgecko/client/ClientProxy.java +++ b/src/main/java/com/goodbird/npcgecko/client/ClientProxy.java @@ -8,6 +8,8 @@ import com.goodbird.npcgecko.tile.TileEntityCustomModel; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import net.minecraft.client.Minecraft; +import net.minecraft.world.World; public class ClientProxy extends CommonProxy { @@ -19,4 +21,7 @@ public class ClientProxy extends CommonProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCustomModel.class, new RenderTileCustomModel()); } + public World getWorldById(int id){ + return Minecraft.getMinecraft().theWorld; + } } diff --git a/src/main/java/com/goodbird/npcgecko/mixin/impl/TileScriptedMixin.java b/src/main/java/com/goodbird/npcgecko/mixin/impl/TileScriptedMixin.java index 5cc4fd3..0aa04f9 100644 --- a/src/main/java/com/goodbird/npcgecko/mixin/impl/TileScriptedMixin.java +++ b/src/main/java/com/goodbird/npcgecko/mixin/impl/TileScriptedMixin.java @@ -1,5 +1,6 @@ package com.goodbird.npcgecko.mixin.impl; +import com.goodbird.npcgecko.CustomNpcPlusGecko; import com.goodbird.npcgecko.tile.TileEntityCustomModel; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; @@ -24,9 +25,10 @@ public class TileScriptedMixin { if(compound.hasKey("renderTileTag")){ renderTile = new TileEntityCustomModel(); NBTTagCompound saveTag = compound.getCompoundTag("renderTileTag"); - if(MinecraftServer.getServer()!=null && saveTag.hasKey("dimID")){ - World world = MinecraftServer.getServer().worldServers[saveTag.getInteger("dimID")]; - renderTile.setWorldObj(world); + if(saveTag.hasKey("dimID")){ + renderTile.setWorldObj(CustomNpcPlusGecko.proxy.getWorldById(saveTag.getInteger("dimID"))); + }else{ + renderTile.setWorldObj(CustomNpcPlusGecko.proxy.getWorldById(0)); } renderTile.readFromNBT(saveTag); }