diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler.java new file mode 100644 index 000000000..ff475c20c --- /dev/null +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler.java @@ -0,0 +1,29 @@ +package com.hbm.handler.radiation; + +import net.minecraft.world.World; +import net.minecraftforge.event.world.ChunkDataEvent; +import net.minecraftforge.event.world.ChunkEvent; +import net.minecraftforge.event.world.WorldEvent; + +public abstract class ChunkRadiationHandler { + + /** + * Updates the radiation system, i.e. all worlds. + * Doesn't need parameters because it governs the ENTIRE system. + */ + public abstract void updateSystem(); + public abstract float getRadiation(World world, int x, int y, int z); + public abstract void setRadiation(World world, int x, int y, int z, float rad); + public abstract void incrementRad(World world, int x, int y, int z, float rad); + public abstract void decrementRad(World world, int x, int y, int z, float rad); + + /* + * Proxy'd event handlers + */ + public void receiveWorldLoad(WorldEvent.Load event) { } + public void receiveWorldUnload(WorldEvent.Unload event) { } + + public void receiveChunkLoad(ChunkDataEvent.Load event) { } + public void receiveChunkSave(ChunkDataEvent.Save event) { } + public void receiveChunkUnload(ChunkEvent.Unload event) { } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerBlank.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerBlank.java new file mode 100644 index 000000000..c28a69348 --- /dev/null +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerBlank.java @@ -0,0 +1,23 @@ +package com.hbm.handler.radiation; + +import net.minecraft.world.World; + +public class ChunkRadiationHandlerBlank extends ChunkRadiationHandler { + + @Override + public float getRadiation(World world, int x, int y, int z) { + return 0; + } + + @Override + public void setRadiation(World world, int x, int y, int z, float rad) { } + + @Override + public void incrementRad(World world, int x, int y, int z, float rad) { } + + @Override + public void decrementRad(World world, int x, int y, int z, float rad) { } + + @Override + public void updateSystem() { } +} diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerNT.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerNT.java new file mode 100644 index 000000000..40eca711c --- /dev/null +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerNT.java @@ -0,0 +1,36 @@ +package com.hbm.handler.radiation; + +import net.minecraft.world.World; + +public class ChunkRadiationHandlerNT extends ChunkRadiationHandler { + + @Override + public float getRadiation(World world, int x, int y, int z) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void setRadiation(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void incrementRad(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void decrementRad(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void updateSystem() { + // TODO Auto-generated method stub + + } +} diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java new file mode 100644 index 000000000..10d0e9619 --- /dev/null +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java @@ -0,0 +1,36 @@ +package com.hbm.handler.radiation; + +import net.minecraft.world.World; + +public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { + + @Override + public float getRadiation(World world, int x, int y, int z) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void setRadiation(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void incrementRad(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void decrementRad(World world, int x, int y, int z, float rad) { + // TODO Auto-generated method stub + + } + + @Override + public void updateSystem() { + // TODO Auto-generated method stub + + } +} diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationManager.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationManager.java new file mode 100644 index 000000000..535d6e1ef --- /dev/null +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationManager.java @@ -0,0 +1,43 @@ +package com.hbm.handler.radiation; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import net.minecraft.world.World; +import net.minecraftforge.event.world.ChunkDataEvent; +import net.minecraftforge.event.world.ChunkEvent; +import net.minecraftforge.event.world.WorldEvent; + +public class ChunkRadiationManager { + + public static ChunkRadiationHandler proxy; + + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) { + proxy.receiveWorldLoad(event); + } + + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload event) { + proxy.receiveWorldUnload(event); + } + + @SubscribeEvent + public void onChunkLoad(ChunkDataEvent.Load event) { + proxy.receiveChunkLoad(event); + } + + @SubscribeEvent + public void onChunkSave(ChunkDataEvent.Save event) { + proxy.receiveChunkSave(event); + } + + @SubscribeEvent + public void onChunkUnload(ChunkEvent.Unload event) { + proxy.receiveChunkUnload(event); + } + + @SubscribeEvent + public void updateSystem(TickEvent.ServerTickEvent event) { + + } +} diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 9d7410874..10c4dfb0c 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -56,6 +56,7 @@ import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; import com.hbm.handler.*; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.*; import com.hbm.items.ModItems; import com.hbm.lib.HbmWorld; @@ -1136,6 +1137,8 @@ public class MainRegistry { MinecraftForge.TERRAIN_GEN_BUS.register(new ModEventHandler()); MinecraftForge.ORE_GEN_BUS.register(new ModEventHandler()); PacketDispatcher.registerPackets(); + + MinecraftForge.EVENT_BUS.register(new ChunkRadiationManager()); } //yes kids, this is where we would usually register commands diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java index 725bc3781..af014a09c 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java @@ -42,6 +42,7 @@ public class TileEntityTrappedBrick extends TileEntity { } } + @SuppressWarnings("incomplete-switch") private void trigger() { Trap trap = Trap.get(this.getBlockMetadata()); @@ -106,6 +107,7 @@ public class TileEntityTrappedBrick extends TileEntity { worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.brick_jungle); } + @SuppressWarnings("incomplete-switch") private void setDetector() { Trap trap = Trap.get(this.getBlockMetadata()); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index e1797ba31..54204be91 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -525,6 +525,9 @@ item.ammo_container.name=Munitionsbehälter item.ammo_dart.name=Plastikdart (Withernd) item.ammo_dart_nerf.name=NERF-Dart item.ammo_dgk.name=Goalkeeper-Zwilling CIWS 200er Gürtel +item.ammo_fireext.name=Feuerlöscher-Wassertank +item.ammo_fireext_foam.name=Feuerlöscher-Schaumtank +item.ammo_fireext_sand.name=Feuerlöscher-Sandtank item.ammo_folly.name=Silbernes Geschoss (Original) item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv) item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 043096e57..5a16da838 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -593,6 +593,9 @@ item.ammo_container.name=Ammo Container item.ammo_dart.name=Plastic Dart (Withering) item.ammo_dart_nerf.name=NERF Dart item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt +item.ammo_fireext.name=Fire Extinguisher Water Tank +item.ammo_fireext_foam.name=Fire Extinguisher Foam Tank +item.ammo_fireext_sand.name=Fire Extinguisher Sand Tank item.ammo_folly.name=Silver Bullet (Original) item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) item.ammo_folly_nuclear.name=Silver Bullet (Nuclear)