package com.hbm.blocks.siege; import java.util.List; import java.util.Random; import com.hbm.blocks.BlockBase; import com.hbm.entity.mob.siege.EntitySiegeZombie; import com.hbm.handler.SiegeOrchestrator; import net.minecraft.block.material.Material; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; public class SiegeHole extends BlockBase { public SiegeHole(Material material) { super(material); } @Override public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); } @Override public int tickRate(World world) { return 90 + world.rand.nextInt(20); } @Override public void updateTick(World world, int x, int y, int z, Random rand) { world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); if(SiegeOrchestrator.spawnThresholdEnabled(world) && SiegeOrchestrator.siegeMobCount > SiegeOrchestrator.getSpawnThreshold(world)) return; List list = world.getEntitiesWithinAABB(EntitySiegeZombie.class, AxisAlignedBB.getBoundingBox(x - 5, y - 2, z - 5, x + 6, y + 3, z + 6)); if(list.size() < 2) { EntitySiegeZombie zomb = new EntitySiegeZombie(world); zomb.setPositionAndRotation(x + 0.5, y + 1, z + 0.5, 0.0F, 0.0F); zomb.onSpawnWithEgg(null); world.spawnEntityInWorld(zomb); } } }