package net.lomeli.ec.entity; import java.util.Calendar; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class EntityBirthdayCreeper extends EntityBaseCreeper { private boolean spawnCake; public EntityBirthdayCreeper(World world) { super(world); } @Override public void onLivingUpdate() { super.onLivingUpdate(); int month = Calendar.getInstance().get(Calendar.MONTH); int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH); if (!(month == Calendar.NOVEMBER && day == 12) || !(month == Calendar.MAY && day == 10)) spawnCake = true; else spawnCake = false; } @Override public void explosion(int power, boolean flag) { int x = MathHelper.floor_double(this.posX); int y = MathHelper.floor_double(this.posY); int z = MathHelper.floor_double(this.posZ); BlockPos blockPos = new BlockPos(x, y, z); if (spawnCake || this.rand.nextInt(5) <= 2) { IBlockState state = Blocks.torch.onBlockPlaced(worldObj, blockPos, EnumFacing.UP, 0f, 0f, 0f, 0, null); if (Blocks.cake.canPlaceBlockAt(worldObj, blockPos)) { state = Blocks.cake.onBlockPlaced(worldObj, blockPos, EnumFacing.UP, 0f, 0f, 0f, 0, null); worldObj.setBlockState(blockPos, state, 3); } BlockPos b1 = blockPos.add(1, 0, 0); if (Blocks.torch.canPlaceBlockAt(worldObj, b1)) worldObj.setBlockState(b1, state, 3); b1 = blockPos.add(-1, 0, 0); if (Blocks.torch.canPlaceBlockAt(worldObj, b1)) worldObj.setBlockState(b1, state, 3); b1 = blockPos.add(0, 0, 1); if (Blocks.torch.canPlaceBlockAt(worldObj, b1)) worldObj.setBlockState(b1, state, 3); b1 = blockPos.add(0, 0, -1); if (Blocks.torch.canPlaceBlockAt(worldObj, b1)) worldObj.setBlockState(b1, state, 3); } } }