diff --git a/src/main/java/ellpeck/actuallyadditions/proxy/ClientProxy.java b/src/main/java/ellpeck/actuallyadditions/proxy/ClientProxy.java index 33a2f5bd8..5707cac99 100644 --- a/src/main/java/ellpeck/actuallyadditions/proxy/ClientProxy.java +++ b/src/main/java/ellpeck/actuallyadditions/proxy/ClientProxy.java @@ -30,6 +30,8 @@ import ellpeck.actuallyadditions.util.playerdata.PersistentClientData; import net.minecraft.client.Minecraft; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.common.DimensionManager; import java.io.File; import java.util.Calendar; @@ -93,6 +95,12 @@ public class ClientProxy implements IProxy{ SpecialRenderInit.init(); } + @Override + public World getWorld(int worldID){ + World world = DimensionManager.getWorld(worldID); + return world == null ? Minecraft.getMinecraft().theWorld : world; + } + private static void registerRenderer(Class tileClass, RenderTileEntity tileRender, int renderID){ ClientRegistry.bindTileEntitySpecialRenderer(tileClass, tileRender); RenderingRegistry.registerBlockHandler(new RenderInventory(tileRender, renderID)); diff --git a/src/main/java/ellpeck/actuallyadditions/proxy/IProxy.java b/src/main/java/ellpeck/actuallyadditions/proxy/IProxy.java index b71f8fda4..15928263e 100644 --- a/src/main/java/ellpeck/actuallyadditions/proxy/IProxy.java +++ b/src/main/java/ellpeck/actuallyadditions/proxy/IProxy.java @@ -13,6 +13,7 @@ package ellpeck.actuallyadditions.proxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import net.minecraft.world.World; public interface IProxy{ @@ -21,4 +22,6 @@ public interface IProxy{ void init(FMLInitializationEvent event); void postInit(FMLPostInitializationEvent event); + + World getWorld(int worldID); } diff --git a/src/main/java/ellpeck/actuallyadditions/proxy/ServerProxy.java b/src/main/java/ellpeck/actuallyadditions/proxy/ServerProxy.java index 5d1b2f181..de0810e30 100644 --- a/src/main/java/ellpeck/actuallyadditions/proxy/ServerProxy.java +++ b/src/main/java/ellpeck/actuallyadditions/proxy/ServerProxy.java @@ -14,6 +14,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import ellpeck.actuallyadditions.util.ModUtil; +import net.minecraft.world.World; +import net.minecraftforge.common.DimensionManager; @SuppressWarnings("unused") public class ServerProxy implements IProxy{ @@ -32,4 +34,9 @@ public class ServerProxy implements IProxy{ public void postInit(FMLPostInitializationEvent event){ ModUtil.LOGGER.info("PostInitializing ServerProxy..."); } + + @Override + public World getWorld(int worldID){ + return DimensionManager.getWorld(worldID); + } } diff --git a/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java b/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java index 23a1e53d6..59d4a4672 100644 --- a/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java +++ b/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java @@ -10,13 +10,13 @@ package ellpeck.actuallyadditions.util; +import ellpeck.actuallyadditions.ActuallyAdditions; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import net.minecraftforge.common.DimensionManager; public class WorldPos{ @@ -45,7 +45,7 @@ public class WorldPos{ } public World getWorld(){ - return DimensionManager.getWorld(this.worldID); + return ActuallyAdditions.proxy.getWorld(this.worldID); } public Material getMaterial(){