Advertisement
circuitdh

lucky block event class 1

Jan 23rd, 2017
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.04 KB | None | 0 0
  1. package luckyBlocks.event;
  2.  
  3. import java.util.Random;
  4.  
  5. import luckyBlocks.blocks._blocks;
  6. import net.minecraft.entity.item.EntityItem;
  7. import net.minecraft.entity.monster.EntityBlaze;
  8. import net.minecraft.init.Blocks;
  9. import net.minecraft.init.Items;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraft.util.math.BlockPos;
  13. import net.minecraft.world.Explosion;
  14. import net.minecraftforge.event.entity.living.ZombieEvent.SummonAidEvent;
  15. import net.minecraftforge.event.world.BlockEvent.BreakEvent;
  16. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  17.  
  18. public class LuckyBlockBreakEvent {
  19.    
  20.     @SubscribeEvent
  21.     public void main(BreakEvent event) {
  22.         if(event.getState().getBlock() != _blocks.blockLucky) {
  23.             return;
  24.         }
  25.        
  26.         Random rand = new Random();
  27.         switch(rand.nextInt(4)){
  28.        
  29.         case 0:   //drops a lot of lava buckets
  30.             for(int a = 0; a < 32; a = a + 1){
  31.                 BlockPos pos;
  32.                 Random randx = new Random(); double x = randx.nextInt(2); x = x - 0.5;
  33.                 Random randz = new Random(); double z = randz.nextInt(2); z = z - 0.5;
  34.                 double posX = event.getPos().getX() + x;
  35.                 double posY = event.getPos().getY() + 0.5;
  36.                 double posZ = event.getPos().getZ() + z;
  37.                 EntityItem bucket = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Items.LAVA_BUCKET));
  38.                 bucket.setLocationAndAngles(posX, posY, posZ, 0, 0);
  39.                 event.getWorld().spawnEntity(bucket);
  40.             }
  41.             break;
  42.                
  43.         case 1: //drops a lot of cacti
  44.             for(int a = 0; a < 32; a = a + 1){
  45.                 BlockPos pos;
  46.                 Random randx = new Random(); double x = randx.nextInt(2); x = x - 0.5;
  47.                 Random randz = new Random(); double z = randz.nextInt(2); z = z - 0.5;
  48.                 double posX = event.getPos().getX() + x;
  49.                 double posY = event.getPos().getY() + 0.5;
  50.                 double posZ = event.getPos().getZ() + z;
  51.                 EntityItem bucket = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Item.getItemFromBlock(Blocks.CACTUS), 64));
  52.                 bucket.setLocationAndAngles(posX, posY, posZ, 0, 0);
  53.                 event.getWorld().spawnEntity(bucket);
  54.             }
  55.             break;
  56.                
  57.         case 2:  //summons 5 blazes
  58.             for(int a = 0; a < 5; a = a + 1){
  59.                 Random randx = new Random(); double x = randx.nextInt(5); x = x - 2;
  60.                 Random randz = new Random(); double z = randz.nextInt(5); z = z - 2;
  61.                 double posX = event.getPos().getX() + x;
  62.                 double posY = event.getPos().getY() + 1;
  63.                 double posZ = event.getPos().getZ() + z;
  64.                 EntityBlaze blaze = new EntityBlaze(event.getWorld());
  65.                 blaze.setLocationAndAngles(posX, posY, posZ, 0, 0);
  66.                 event.getWorld().spawnEntity(blaze);
  67.             }
  68.             break;
  69.         case 3:  //spawns desert well
  70.             int posX = event.getPos().getX();
  71.             int posY = event.getPos().getY();
  72.             int posZ = event.getPos().getZ();
  73.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ), Blocks.SANDSTONE.getDefaultState());
  74.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ), Blocks.SANDSTONE.getDefaultState());
  75.             event.getWorld().setBlockState(new BlockPos(posX,posY,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  76.             event.getWorld().setBlockState(new BlockPos(posX,posY,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  77.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  78.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  79.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  80.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  81.             event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ), Blocks.WATER.getDefaultState());
  82.            
  83.            
  84.             //THIS IS THE BLOCK THAT WILL NOT SPAWN IN
  85.             event.getWorld().setBlockState(new BlockPos(posX,posY,posZ), Blocks.STONE.getDefaultState());
  86.             //THIS IS THE BLOCK THAT WILL NOT SPAWN IN
  87.            
  88.            
  89.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  90.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ), Blocks.SANDSTONE.getDefaultState());
  91.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  92.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  93.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ), Blocks.SANDSTONE.getDefaultState());
  94.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  95.             event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  96.             event.getWorld().setBlockState(new BlockPos(posX,posY - 1,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  97.             event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
  98.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  99.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
  100.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY - 2,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  101.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  102.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ), Blocks.SANDSTONE.getDefaultState());
  103.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY - 2,posZ - 1), Blocks.SANDSTONE.getDefaultState());
  104.             event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ + 1), Blocks.SANDSTONE.getDefaultState());
  105.             event.getWorld().setBlockState(new BlockPos(posX,posY - 2,posZ +- 1), Blocks.SANDSTONE.getDefaultState());
  106.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 1,posZ), Blocks.OAK_FENCE.getDefaultState());
  107.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 1,posZ), Blocks.OAK_FENCE.getDefaultState());
  108.             event.getWorld().setBlockState(new BlockPos(posX,posY + 1,posZ + 1), Blocks.OAK_FENCE.getDefaultState());
  109.             event.getWorld().setBlockState(new BlockPos(posX,posY + 1,posZ - 1), Blocks.OAK_FENCE.getDefaultState());
  110.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 2,posZ), Blocks.OAK_FENCE.getDefaultState());
  111.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 2,posZ), Blocks.OAK_FENCE.getDefaultState());
  112.             event.getWorld().setBlockState(new BlockPos(posX,posY + 2,posZ + 1), Blocks.OAK_FENCE.getDefaultState());
  113.             event.getWorld().setBlockState(new BlockPos(posX,posY + 2,posZ - 1), Blocks.OAK_FENCE.getDefaultState());
  114.             event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ), Blocks.SANDSTONE.getDefaultState());
  115.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  116.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ), Blocks.STONE_SLAB.getStateFromMeta(1));
  117.             event.getWorld().setBlockState(new BlockPos(posX + 1,posY + 3,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  118.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  119.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ), Blocks.STONE_SLAB.getStateFromMeta(1));
  120.             event.getWorld().setBlockState(new BlockPos(posX - 1,posY + 3,posZ - 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  121.             event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ + 1), Blocks.STONE_SLAB.getStateFromMeta(1));
  122.             event.getWorld().setBlockState(new BlockPos(posX,posY + 3,posZ +- 1), Blocks.STONE_SLAB.getStateFromMeta(1));  
  123.  
  124.             EntityItem diamonds = new EntityItem(event.getWorld(), posX, posY, posZ, new ItemStack(Items.DIAMOND, 16));
  125.             diamonds.setLocationAndAngles(posX + 0.5, posY - 1, posZ + 0.5, 0, 0);
  126.             diamonds.setVelocity(0, 0.1, 0);
  127.             event.getWorld().spawnEntity(diamonds);
  128.             break;
  129.         case 5:
  130.             event.getWorld().createExplosion(null, event.getPos().getX(), event.getPos().getY(), event.getPos().getZ(), 10, true);
  131.         }
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement