Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package luckyBlocks.event;
- import java.util.Random;
- import luckyBlocks.blocks._blocks;
- import net.minecraft.entity.item.EntityItem;
- import net.minecraft.entity.monster.EntityBlaze;
- import net.minecraft.init.Blocks;
- import net.minecraft.init.Items;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.Explosion;
- import net.minecraftforge.event.entity.living.ZombieEvent.SummonAidEvent;
- import net.minecraftforge.event.world.BlockEvent.BreakEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- public class LuckyBlockBreakEvent {
- @SubscribeEvent
- public void main(BreakEvent event) {
- if(event.getState().getBlock() != _blocks.blockLucky) {
- return;
- }
- Random rand = new Random();
- switch(rand.nextInt(4)){
- case 0: //drops a lot of lava buckets
- for(int a = 0; a < 32; a = a + 1){
- BlockPos pos;
- Random randx = new Random(); double x = randx.nextInt(2); x = x - 0.5;
- Random randz = new Random(); double z = randz.nextInt(2); z = z - 0.5;
- double posX = event.getPos().getX() + x;
- double posY = event.getPos().getY() + 0.5;
- double posZ = event.getPos().getZ() + z;
- EntityItem bucket = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Items.LAVA_BUCKET));
- bucket.setLocationAndAngles(posX, posY, posZ, 0, 0);
- event.getWorld().spawnEntity(bucket);
- }
- break;
- case 1: //drops a lot of cacti
- for(int a = 0; a < 32; a = a + 1){
- BlockPos pos;
- Random randx = new Random(); double x = randx.nextInt(2); x = x - 0.5;
- Random randz = new Random(); double z = randz.nextInt(2); z = z - 0.5;
- double posX = event.getPos().getX() + x;
- double posY = event.getPos().getY() + 0.5;
- double posZ = event.getPos().getZ() + z;
- EntityItem bucket = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Item.getItemFromBlock(Blocks.CACTUS), 64));
- bucket.setLocationAndAngles(posX, posY, posZ, 0, 0);
- event.getWorld().spawnEntity(bucket);
- }
- break;
- case 2: //summons 5 blazes
- for(int a = 0; a < 5; a = a + 1){
- Random randx = new Random(); double x = randx.nextInt(5); x = x - 2;
- Random randz = new Random(); double z = randz.nextInt(5); z = z - 2;
- double posX = event.getPos().getX() + x;
- double posY = event.getPos().getY() + 1;
- double posZ = event.getPos().getZ() + z;
- EntityBlaze blaze = new EntityBlaze(event.getWorld());
- blaze.setLocationAndAngles(posX, posY, posZ, 0, 0);
- event.getWorld().spawnEntity(blaze);
- }
- break;
- case 3: //spawns desert well
- int posX = event.getPos().getX();
- int posY = event.getPos().getY();
- int posZ = event.getPos().getZ();
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ), Blocks.WATER.getDefaultState());
- //THIS IS THE BLOCK THAT WILL NOT SPAWN IN
- event.getWorld().setBlockState(new BlockPos(posX,posY,posZ), Blocks.STONE.getDefaultState());
- //THIS IS THE BLOCK THAT WILL NOT SPAWN IN
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ - 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ +- 1), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 1,posZ), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 1,posZ), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY + 1,posZ + 1), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY + 1,posZ - 1), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 2,posZ), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 2,posZ), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY + 2,posZ + 1), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY + 2,posZ - 1), Blocks.OAK_FENCE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ), Blocks.SANDSTONE.getDefaultState());
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ +- 1), Blocks.STONE_SLAB.getStateFromMeta(1));
- EntityItem diamonds = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Items.DIAMOND, 16));
- diamonds.setLocationAndAngles(posX + 0.5, posY - 1, posZ + 0.5, 0, 0);
- diamonds.setVelocity(0, 0.1, 0);
- event.getWorld().spawnEntity(diamonds);
- break;
- case 5:
- event.getWorld().createExplosion(null, event.getPos().getX(), event.getPos().getY(), event.getPos().getZ(), 10, true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement