summaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/util/GT_SpawnEventHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/api/util/GT_SpawnEventHandler.java')
-rw-r--r--main/java/gregtech/api/util/GT_SpawnEventHandler.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/java/gregtech/api/util/GT_SpawnEventHandler.java b/main/java/gregtech/api/util/GT_SpawnEventHandler.java
new file mode 100644
index 0000000..565b414
--- /dev/null
+++ b/main/java/gregtech/api/util/GT_SpawnEventHandler.java
@@ -0,0 +1,35 @@
+package gregtech.api.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import cpw.mods.fml.common.eventhandler.Event;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import net.minecraft.entity.EnumCreatureType;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.entity.living.LivingSpawnEvent.CheckSpawn;
+
+public class GT_SpawnEventHandler {
+
+ public static volatile List <int[]> mobReps = new ArrayList();
+
+ public GT_SpawnEventHandler(){
+ MinecraftForge.EVENT_BUS.register(this);
+ }
+
+ @SubscribeEvent
+ public void denyMobSpawn(CheckSpawn event)
+ {
+ if (event.getResult() == Event.Result.ALLOW) {return;}
+ if (event.entityLiving.isCreatureType(EnumCreatureType.monster, false))
+ {
+ for(int[] rep : mobReps){
+ if(rep[3] == event.entity.worldObj.provider.dimensionId){
+ TileEntity tTile = event.entity.worldObj.getTileEntity(rep[0], rep[1], rep[2]);
+
+ }
+ }
+ }
+ }
+}