diff --git a/StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java b/StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java index 22c1853..38b9fc7 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java @@ -2,12 +2,15 @@ package StevenDimDoors.mod_pocketDim.blocks; import net.minecraft.block.material.Material; import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import StevenDimDoors.mod_pocketDim.DDProperties; import StevenDimDoors.mod_pocketDim.core.DimLink; import StevenDimDoors.mod_pocketDim.core.LinkTypes; import StevenDimDoors.mod_pocketDim.core.NewDimData; import StevenDimDoors.mod_pocketDim.core.PocketManager; +import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoor; +import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoorGold; public class BlockGoldDimDoor extends BaseDimDoor implements IDimDoor { @@ -37,5 +40,11 @@ public class BlockGoldDimDoor extends BaseDimDoor implements IDimDoor { return this.properties.GoldDoorItemID; } + + @Override + public TileEntity createNewTileEntity(World world) + { + return new TileEntityDimDoorGold(); + } } diff --git a/StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java b/StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java index b4003fe..aae42db 100644 --- a/StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java @@ -45,6 +45,7 @@ public class ItemRiftSignature extends Item @Override public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + //TODO- recognize doors and intelligently place rifts on them. // We must use onItemUseFirst() instead of onItemUse() because Minecraft checks // whether the user is in creative mode after calling onItemUse() and undoes any // damage we might set to indicate the rift sig has been activated. Otherwise, diff --git a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index 1523c19..e9c2e8c 100644 --- a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -148,6 +148,7 @@ public class mod_pocketDim @PreInit public void onPreInitialization(FMLPreInitializationEvent event) { + this.instance = this; //This should be the FIRST thing that gets done. properties = DDProperties.initialize(event.getSuggestedConfigurationFile()); @@ -386,7 +387,6 @@ public class mod_pocketDim //Register loot chests DDLoot.registerInfo(); } - @ServerStopping public void onServerStopping(FMLServerStoppingEvent event) { @@ -403,6 +403,8 @@ public class mod_pocketDim @ServerStarting public void onServerStarting(FMLServerStartingEvent event) { + + //TODO- load dims with forced chunks on server startup here /* CommandResetDungeons.instance().register(event); CommandCreateDungeonRift.instance().register(event); diff --git a/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java b/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java index d57aa37..2de4528 100644 --- a/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java +++ b/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java @@ -21,16 +21,19 @@ public class TileEntityDimDoorGold extends TileEntityDimDoor public void updateEntity() { - if(this.chunkTicket==null) - { - chunkTicket = ForgeChunkManager.requestTicket(mod_pocketDim.instance, worldObj, Type.NORMAL); + if(PocketManager.getDimensionData(this.worldObj)!=null&&PocketManager.getDimensionData(this.worldObj).isPocketDimension()&&!this.worldObj.isRemote) + { + if(this.chunkTicket==null) + { + chunkTicket = ForgeChunkManager.requestTicket(mod_pocketDim.instance, worldObj, Type.NORMAL); + } + + chunkTicket.getModData().setInteger("goldDimDoorX", xCoord); + chunkTicket.getModData().setInteger("goldDimDoorY", yCoord); + chunkTicket.getModData().setInteger("goldDimDoorZ", zCoord); + ForgeChunkManager.forceChunk(chunkTicket, new ChunkCoordIntPair(xCoord >> 4, zCoord >> 4)); + forceChunkLoading(chunkTicket); } - - chunkTicket.getModData().setInteger("goldDimDoorX", xCoord); - chunkTicket.getModData().setInteger("goldDimDoorY", yCoord); - chunkTicket.getModData().setInteger("goldDimDoorZ", zCoord); - - this.forceChunkLoading(chunkTicket); } public void forceChunkLoading(Ticket chunkTicket) @@ -48,10 +51,7 @@ public class TileEntityDimDoorGold extends TileEntityDimDoor { ForgeChunkManager.forceChunk(chunkTicket, new ChunkCoordIntPair((xCoord >> 4)+chunks, (zCoord >> 4)+chunks)); - } - - - + } } diff --git a/resources/mods/DimDoors/textures/blocks/dimDoorGold_bottom.png b/resources/mods/DimDoors/textures/blocks/dimDoorGold_bottom.png index 85221b9..9e00119 100644 Binary files a/resources/mods/DimDoors/textures/blocks/dimDoorGold_bottom.png and b/resources/mods/DimDoors/textures/blocks/dimDoorGold_bottom.png differ diff --git a/resources/mods/DimDoors/textures/blocks/dimDoorGold_top.png b/resources/mods/DimDoors/textures/blocks/dimDoorGold_top.png index 1b4339a..af4d1a8 100644 Binary files a/resources/mods/DimDoors/textures/blocks/dimDoorGold_top.png and b/resources/mods/DimDoors/textures/blocks/dimDoorGold_top.png differ diff --git a/resources/mods/DimDoors/textures/blocks/doorGold_bottom.png b/resources/mods/DimDoors/textures/blocks/doorGold_bottom.png index 85221b9..9e00119 100644 Binary files a/resources/mods/DimDoors/textures/blocks/doorGold_bottom.png and b/resources/mods/DimDoors/textures/blocks/doorGold_bottom.png differ diff --git a/resources/mods/DimDoors/textures/blocks/doorGold_top.png b/resources/mods/DimDoors/textures/blocks/doorGold_top.png index 1b4339a..af4d1a8 100644 Binary files a/resources/mods/DimDoors/textures/blocks/doorGold_top.png and b/resources/mods/DimDoors/textures/blocks/doorGold_top.png differ