/** * Registers blocks, items, stats, etc. */ public static void register() { if (!alreadyRegistered) { alreadyRegistered = true; if (LOGGER.isDebugEnabled()) { redirectOutputToLog(); } Block.registerBlocks(); BlockFire.init(); Item.registerItems(); StatList.init(); registerDispenserBehaviors(); } }
/** * Registers blocks, items, stats, etc. */ public static void register() { if (!alreadyRegistered) { alreadyRegistered = true; redirectOutputToLog(); SoundEvent.registerSounds(); Block.registerBlocks(); BlockFire.init(); Potion.registerPotions(); Enchantment.registerEnchantments(); Item.registerItems(); PotionType.registerPotionTypes(); PotionHelper.init(); EntityList.init(); StatList.init(); Biome.registerBiomes(); registerDispenserBehaviors(); } }
/** * Registers blocks, items, stats, etc. */ public static void register() { if (!alreadyRegistered) { alreadyRegistered = true; if (LOGGER.isDebugEnabled()) { redirectOutputToLog(); } SoundEvent.registerSounds(); Block.registerBlocks(); BlockFire.init(); Potion.registerPotions(); Enchantment.registerEnchantments(); Item.registerItems(); PotionType.registerPotionTypes(); PotionHelper.init(); StatList.init(); Biome.registerBiomes(); registerDispenserBehaviors(); net.minecraftforge.fml.common.registry.GameData.vanillaSnapshot(); } }
public static void func_149843_e() { ((BlockFire) ((BlockFire) BlockLoader.BlockModFire)).func_149842_a(getIdFromBlock(Blocks.planks), 5, 20); ((BlockFire) ((BlockFire) BlockLoader.BlockModFire)).func_149842_a(getIdFromBlock(Blocks.double_wooden_slab), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.wooden_slab), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.fence), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.oak_stairs), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.birch_stairs), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.spruce_stairs), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.jungle_stairs), 5, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.log), 5, 5); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.log2), 5, 5); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.leaves), 30, 60); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.leaves2), 30, 60); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.bookshelf), 30, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.tnt), 15, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.tallgrass), 60, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.double_plant), 60, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.yellow_flower), 60, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.red_flower), 60, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.wool), 30, 60); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.vine), 15, 100); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.coal_block), 5, 5); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.hay_block), 60, 20); ((BlockFire) BlockLoader.BlockModFire).func_149842_a(getIdFromBlock(Blocks.carpet), 60, 20); }
public void checkFire() { if (getColour() != Colourizer.RED) return; boolean didThing = false; List list = WorldUtils.searchForBlock(worldObj, xCoord, yCoord, zCoord, radius, radius, radius, BlockFire.class); for (Object block : list) if (block instanceof BlockFire) { if (giveRiftEnergy(10) != 0) { //Fire per tick didThing = true; } } if (didThing) { IMessage message = new MessageVanillaParticle("lava", xCoord + 0.5, yCoord + 0.6, zCoord + 0.5, 0D, 0.2D, 0D, Math.max(list.size() / 3, 1)); NetworkHandler.wrapper.sendToDimension(message, worldObj.provider.dimensionId); } update(); }
int generateCrater(double radius, int x, int y, int z, World world) { // delete all blocks in radius 'radius' of (x,y,z) for (double x1 = x - radius; x1 < x + radius; x1++) { for (double y1 = y - radius; y1 < y + radius; y1++) { for (double z1 = z - radius; z1 < z + radius; z1++) { double dist = Math.floor(Math.pow(x - x1, 2) + Math.pow(y - y1, 2) + Math.pow(z - z1, 2)); if (dist <= Math.pow(radius, 2)) { world.destroyBlock((int) x1, (int) y1, (int) z1, false); if (world.rand.nextInt(2) == 0) world.setBlock((int) x1, (int) y1, (int) z1, BlockFire.fire.blockID); } } } } // lowest height of the crater return (int) (y - radius); }
@Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { if (par5 > 0 && Block.blocksList[par5] instanceof BlockFire || par5 > 0 && Block.blocksList[par5].canProvidePower() && par1World.isBlockIndirectlyGettingPowered(par2, par3, par4)) { ClientUtils.mc().thePlayer.sendChatToPlayer("You might want to run, FAST. 6 seconds until detonation."); new Thread(); try { Thread.sleep(6000); par1World.newExplosion(null, par2, par3, par4, 125.0F, true, true); Thread.sleep(6000); par1World.setBlockMetadataWithNotify(par2, par3, par4, this.blockID, 0); // ADDED // TWO // ZEROS. // DONT // KNOW // WHAT // THIS // WILL // DO. } catch (InterruptedException e) { AmitLogger.severe(e, "Caught InterruptedException in Vibranium"); } } }
/** * Get the actual Block state of this Block at the given position. This applies properties not visible in the * metadata, such as fence connections. */ public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) { if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP) && !((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.down(), EnumFacing.UP)) { return state.withProperty(NORTH, this.canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH)) .withProperty(EAST, this.canCatchFire(worldIn, pos.east(), EnumFacing.WEST)) .withProperty(SOUTH, this.canCatchFire(worldIn, pos.south(), EnumFacing.NORTH)) .withProperty(WEST, this.canCatchFire(worldIn, pos.west(), EnumFacing.EAST)) .withProperty(UPPER, this.canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)); } return this.getDefaultState(); }
@Override public void notifyBlockUpdate(World worldIn, BlockPos pos, IBlockState oldState, IBlockState currentState, int flags) { if (currentState.getBlock() == Blocks.FIRE && !(worldIn.getBlockState(pos.down()).getBlock() instanceof BlockObsidian) && !(worldIn.getBlockState(pos.down()).getBlock() instanceof BlockBush) && !(worldIn.getBlockState(pos.down()).getBlock() instanceof BlockTallGrass)) { IBlockState newStateBlock = BlockRegistry.specialfire.getDefaultState().withProperty(BlockSpecialFire.AGE, currentState.getValue(BlockFire.AGE)).withProperty(BlockSpecialFire.NORTH, currentState.getValue(BlockFire.NORTH)).withProperty(BlockSpecialFire.EAST, currentState.getValue(BlockFire.EAST)).withProperty(BlockSpecialFire.SOUTH, currentState.getValue(BlockFire.SOUTH)).withProperty(BlockSpecialFire.WEST, currentState.getValue(BlockFire.WEST)).withProperty(BlockSpecialFire.UPPER, currentState.getValue(BlockFire.UPPER)); worldIn.setBlockState(pos, newStateBlock, flags); } }
public CommandFlammable() { Iterator<Block> blocks = Block.REGISTRY.iterator(); BlockFire fire = Blocks.FIRE; while (blocks.hasNext()) { Block block = blocks.next(); this.flammables.put(block, new FireInfo(fire.getEncouragement(block), fire.getFlammability(block))); } }
public static void func_151354_b() { if (!field_151355_a) { field_151355_a = true; Block.registerBlocks(); BlockFire.func_149843_e(); Item.registerItems(); StatList.func_151178_a(); func_151353_a(); } }
public boolean tryExtinguishStuff(World worldIn, BlockPos pos, EntityPlayer playerIn) { int extinguishedPlayers = 0; double distance = 2.5; for (int i = 0; i < worldIn.playerEntities.size(); ++i) { EntityPlayer entityplayer1 = (EntityPlayer)worldIn.playerEntities.get(i); if (entityplayer1.isBurning()) { double dist = entityplayer1.getDistanceSq(playerIn.posX, playerIn.posY, playerIn.posZ); if (dist < distance * distance) { entityplayer1.extinguish(); extinguishedPlayers++; extinguishEffectsAt(worldIn, entityplayer1.posX, entityplayer1.posY + 1, entityplayer1.posZ); } } } int extinguishedFires = 0; for (int dx = -1; dx <= 1; dx++) { for (int dy = -1; dy <= 1; dy++) { for (int dz = -1; dz <= 1; dz++) { if (worldIn.getBlockState(pos.add(dx, dy, dz)).getBlock() instanceof BlockFire) { worldIn.setBlockToAir(pos.add(dx, dy, dz)); extinguishEffectsAt(worldIn, pos.getX() + dx + 0.5f, pos.getY() + dy + 0.5f, pos.getZ() + dz + 0.5f); extinguishedFires++; } } } } if (extinguishedFires > 0 || extinguishedPlayers > 0) { worldIn.playSoundEffect(playerIn.posX, playerIn.posY, playerIn.posZ, "random.fizz", 1f, 1f); return true; } return false; }
public MessageFireplaceList assembleNewFireplaceList(World w) { MessageFireplaceList m = new MessageFireplaceList(); m.places = this.placeList.keySet().toArray(); boolean[] l = new boolean[m.places.length]; int keyCount = 0; for(String nextName : this.placeList.keySet()) { int[] coords = this.placeList.get(nextName); BlockPos dest = new BlockPos(coords[0], coords[1], coords[2]); Block b = w.getBlockState(dest).getBlock(); boolean ok; if(b instanceof BlockFire) { ok = ((GreenFlamesBase) FloocraftBase.greenFlamesTemp).isInFireplace(w, dest); w.setBlockState(dest, Blocks.FIRE.getDefaultState()); } else { ok = b instanceof GreenFlamesBase; } l[keyCount] = ok; ++keyCount; } m.enabledList = l; return m; }
/** * Makes a block burnable by fire. * @param block The block that will be set to burn. * @param flammability How easily this block catches fire. Higher this is = more likely. * @param chanceToNotBurn How likely this block is to be destroyed. Higher this is = less likely it is to be destroyed. */ public static final void addFlammableBlock(Block block, int flammability, int chanceToNotBurn) { if (!MCData.isForge) { ReflectionCallMethods.callMethod(BlockFire.class, "func_149842_a", Block.getIdFromBlock(block), flammability, chanceToNotBurn); } else { //Forge compatibility. ReflectionCallMethods.callMethod(BlockFire.class, "setFireInfo", block, flammability, chanceToNotBurn); } }
public boolean func_78612_b(Block p_78612_1_, int p_78612_2_, int p_78612_3_, int p_78612_4_) { int var5 = p_78612_1_.func_71857_b(); if(var5 == -1) { return false; } else { p_78612_1_.func_71902_a(this.field_78669_a, p_78612_2_, p_78612_3_, p_78612_4_); this.func_83018_a(p_78612_1_); return var5 == 0?this.func_78570_q(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 4?this.func_78621_p(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 31?this.func_78581_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 1?this.func_78620_l(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 2?this.func_78572_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 20?this.func_78598_k(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 11?this.func_78582_a((BlockFence)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 39?this.func_96445_r(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 5?this.func_78589_i(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 13?this.func_78584_s(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 9?this.func_78586_a((BlockRailBase)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 19?this.func_78603_m(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 23?this.func_78566_o(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 6?this.func_78614_n(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 3?this.func_78590_h((BlockFire)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 8?this.func_78576_j(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 7?this.func_78601_u(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 10?this.func_78565_t((BlockStairs)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 27?this.func_78618_a((BlockDragonEgg)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 32?this.func_82779_a((BlockWall)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 12?this.func_78594_e(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 29?this.func_78577_f(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 30?this.func_78619_g(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 14?this.func_78574_w(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 15?this.func_78610_x((BlockRedstoneRepeater)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 36?this.func_94176_a((BlockRedstoneLogic)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 37?this.func_94171_a((BlockComparator)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 16?this.func_78593_b(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, false):(var5 == 17?this.func_78608_c(p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_, true):(var5 == 18?this.func_78592_a((BlockPane)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 21?this.func_78580_a((BlockFenceGate)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 24?this.func_78615_a((BlockCauldron)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 33?this.func_82780_a((BlockFlowerPot)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 35?this.func_82775_a((BlockAnvil)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 25?this.func_78585_a((BlockBrewingStand)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 26?this.func_78567_v((BlockEndPortalFrame)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 28?this.func_78616_a((BlockCocoa)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 34?this.func_82778_a((BlockBeacon)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):(var5 == 38?this.func_94172_a((BlockHopper)p_78612_1_, p_78612_2_, p_78612_3_, p_78612_4_):false)))))))))))))))))))))))))))))))))))))); } }
protected void checkForFire(final World worldIn, final BlockPos pos) { if (rocketFuelIsExplosive) { NNList.FACING.apply(new Callback<EnumFacing>() { @Override public void apply(@Nonnull EnumFacing side) { IBlockState neighbor = worldIn.getBlockState(pos.offset(side)); if (neighbor.getBlock() instanceof BlockFire && neighbor.getBlock() != ModObject.blockColdFire.getBlock()) { if (worldIn.rand.nextFloat() < .5f) { List<BlockPos> explosions = new ArrayList<BlockPos>(); explosions.add(pos); BlockPos up = pos.up(); while (worldIn.getBlockState(up).getBlock() instanceof RocketFuel) { explosions.add(up); up = up.up(); } if (isSourceBlock(worldIn, pos)) { worldIn.newExplosion(null, pos.getX() + .5f, pos.getY() + .5f, pos.getZ() + .5f, 2, true, true); } float strength = .5f; for (BlockPos explosion : explosions) { worldIn.newExplosion(null, explosion.getX() + .5f, explosion.getY() + .5f, explosion.getZ() + .5f, strength, true, true); strength = Math.min(strength * 1.05f, 7f); } return; } } } }); } }
public static void init() { ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.PLANKS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DOUBLE_WOODEN_SLAB, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.WOODEN_SLAB, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.OAK_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.SPRUCE_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.BIRCH_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.JUNGLE_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DARK_OAK_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.ACACIA_FENCE_GATE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.OAK_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.SPRUCE_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.BIRCH_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.JUNGLE_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DARK_OAK_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.ACACIA_FENCE, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.OAK_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.BIRCH_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.SPRUCE_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.JUNGLE_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.ACACIA_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DARK_OAK_STAIRS, 5, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.LOG, 5, 5); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.LOG2, 5, 5); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.LEAVES, 30, 60); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.LEAVES2, 30, 60); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.BOOKSHELF, 30, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.TNT, 15, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.TALLGRASS, 60, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DOUBLE_PLANT, 60, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.YELLOW_FLOWER, 60, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.RED_FLOWER, 60, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.DEADBUSH, 60, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.WOOL, 30, 60); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.VINE, 15, 100); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.COAL_BLOCK, 5, 5); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.HAY_BLOCK, 60, 20); ((BlockFire) BlockRegistry.specialfire).setFireInfo(Blocks.CARPET, 60, 20); // ReflectionHelper.getPrivateValue(BlockFire.class, Blocks.FIRE, "encouragements"); //ReflectionHelper.getPrivateValue(BlockFire.class, Blocks.FIRE, "flammabilities"); }
@SideOnly(Side.CLIENT) public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) { if (rand.nextInt(24) == 0) { worldIn.playSound((double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), SoundEvents.BLOCK_FIRE_AMBIENT, SoundCategory.BLOCKS, 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F, false); } if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP) && !((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.down(), EnumFacing.UP)) { if (((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.west(), EnumFacing.EAST)) { for (int j = 0; j < 2; ++j) { double d3 = (double)pos.getX() + rand.nextDouble() * 0.10000000149011612D; double d8 = (double)pos.getY() + rand.nextDouble(); double d13 = (double)pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d3, d8, d13, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.east(), EnumFacing.WEST)) { for (int k = 0; k < 2; ++k) { double d4 = (double)(pos.getX() + 1) - rand.nextDouble() * 0.10000000149011612D; double d9 = (double)pos.getY() + rand.nextDouble(); double d14 = (double)pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d4, d9, d14, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH)) { for (int l = 0; l < 2; ++l) { double d5 = (double)pos.getX() + rand.nextDouble(); double d10 = (double)pos.getY() + rand.nextDouble(); double d15 = (double)pos.getZ() + rand.nextDouble() * 0.10000000149011612D; worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d5, d10, d15, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.south(), EnumFacing.NORTH)) { for (int i1 = 0; i1 < 2; ++i1) { double d6 = (double)pos.getX() + rand.nextDouble(); double d11 = (double)pos.getY() + rand.nextDouble(); double d16 = (double)(pos.getZ() + 1) - rand.nextDouble() * 0.10000000149011612D; worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d6, d11, d16, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockFire) BlockRegistry.specialfire).canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) { for (int j1 = 0; j1 < 2; ++j1) { double d7 = (double)pos.getX() + rand.nextDouble(); double d12 = (double)(pos.getY() + 1) - rand.nextDouble() * 0.10000000149011612D; double d17 = (double)pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d7, d12, d17, 0.0D, 0.0D, 0.0D, new int[0]); } } } else { for (int i = 0; i < 3; ++i) { double d0 = (double)pos.getX() + rand.nextDouble(); double d1 = (double)pos.getY() + rand.nextDouble() * 0.5D + 0.5D; double d2 = (double)pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } }
public static void func_149843_e() { ((BlockFire) TDEBlocks.dark_fire).setFireInfo(TDEBlocks.blockLog1, 5, 20); }
@Override public void registerStateMappings() { addStateMapperToIgnore(ModBlocks.nileFire, BlockNileFire.AGE); addStateMapperToIgnore(ModBlocks.nileFire, BlockFire.AGE); }
@Override public void registerStateMappingsForDark() { addStateMapperToIgnore(ModBlocks.darkFire, BlockDarkFire.AGE); addStateMapperToIgnore(ModBlocks.darkFire, BlockFire.AGE); }
public boolean renderBlockByRenderType(Block p_147805_1_, int p_147805_2_, int p_147805_3_, int p_147805_4_) { int l = p_147805_1_.getRenderType(); if (l == -1) { return false; } else { p_147805_1_.setBlockBoundsBasedOnState(this.blockAccess, p_147805_2_, p_147805_3_, p_147805_4_); this.setRenderBoundsFromBlock(p_147805_1_); switch (l) { //regex: ' : \(l == ([\d]+) \?' replace: ';\ncase \1: return' ::: IMPORTANT: REMEMBER THIS ON FIRST line! case 0 : return this.renderStandardBlock(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 4: return this.renderBlockLiquid(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 31: return this.renderBlockLog(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 1: return this.renderCrossedSquares(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 40: return this.renderBlockDoublePlant((BlockDoublePlant)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 2: return this.renderBlockTorch(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 20: return this.renderBlockVine(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 11: return this.renderBlockFence((BlockFence)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 39: return this.renderBlockQuartz(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 5: return this.renderBlockRedstoneWire(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 13: return this.renderBlockCactus(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 9: return this.renderBlockMinecartTrack((BlockRailBase)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 19: return this.renderBlockStem(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 23: return this.renderBlockLilyPad(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 6: return this.renderBlockCrops(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 3: return this.renderBlockFire((BlockFire)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 8: return this.renderBlockLadder(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 7: return this.renderBlockDoor(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 10: return this.renderBlockStairs((BlockStairs)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 27: return this.renderBlockDragonEgg((BlockDragonEgg)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 32: return this.renderBlockWall((BlockWall)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 12: return this.renderBlockLever(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 29: return this.renderBlockTripWireSource(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 30: return this.renderBlockTripWire(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 14: return this.renderBlockBed(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 15: return this.renderBlockRepeater((BlockRedstoneRepeater)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 36: return this.renderBlockRedstoneDiode((BlockRedstoneDiode)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 37: return this.renderBlockRedstoneComparator((BlockRedstoneComparator)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 16: return this.renderPistonBase(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, false) ; case 17: return this.renderPistonExtension(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_, true) ; case 18: return this.renderBlockPane((BlockPane)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 41: return this.renderBlockStainedGlassPane(p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 21: return this.renderBlockFenceGate((BlockFenceGate)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 24: return this.renderBlockCauldron((BlockCauldron)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 33: return this.renderBlockFlowerpot((BlockFlowerPot)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 35: return this.renderBlockAnvil((BlockAnvil)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 25: return this.renderBlockBrewingStand((BlockBrewingStand)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 26: return this.renderBlockEndPortalFrame((BlockEndPortalFrame)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 28: return this.renderBlockCocoa((BlockCocoa)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 34: return this.renderBlockBeacon((BlockBeacon)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_) ; case 38: return this.renderBlockHopper((BlockHopper)p_147805_1_, p_147805_2_, p_147805_3_, p_147805_4_); default: return FMLRenderAccessLibrary.renderWorldBlock(this, blockAccess, p_147805_2_, p_147805_3_, p_147805_4_, p_147805_1_, l); } } }
/** * Renders the block at the given coordinates using the block's rendering type */ public boolean renderBlockByRenderType(Block par1Block, int par2, int par3, int par4) { int l = par1Block.getRenderType(); if (l == -1) { return false; } else { par1Block.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4); this.setRenderBoundsFromBlock(par1Block); switch (l) { //regex: ' : \(l == ([\d]+) \?' replace: ';\ncase \1: return' ::: IMPORTANT: REMEMBER THIS ON FIRST line! case 0: return this.renderStandardBlock(par1Block, par2, par3, par4); case 4: return this.renderBlockFluids(par1Block, par2, par3, par4); case 31: return this.renderBlockLog(par1Block, par2, par3, par4); case 1: return this.renderCrossedSquares(par1Block, par2, par3, par4); case 2: return this.renderBlockTorch(par1Block, par2, par3, par4); case 20: return this.renderBlockVine(par1Block, par2, par3, par4); case 11: return this.renderBlockFence((BlockFence)par1Block, par2, par3, par4); case 39: return this.renderBlockQuartz(par1Block, par2, par3, par4); case 5: return this.renderBlockRedstoneWire(par1Block, par2, par3, par4); case 13: return this.renderBlockCactus(par1Block, par2, par3, par4); case 9: return this.renderBlockMinecartTrack((BlockRailBase)par1Block, par2, par3, par4); case 19: return this.renderBlockStem(par1Block, par2, par3, par4); case 23: return this.renderBlockLilyPad(par1Block, par2, par3, par4); case 6: return this.renderBlockCrops(par1Block, par2, par3, par4); case 3: return this.renderBlockFire((BlockFire)par1Block, par2, par3, par4); case 8: return this.renderBlockLadder(par1Block, par2, par3, par4); case 7: return this.renderBlockDoor(par1Block, par2, par3, par4); case 10: return this.renderBlockStairs((BlockStairs)par1Block, par2, par3, par4); case 27: return this.renderBlockDragonEgg((BlockDragonEgg)par1Block, par2, par3, par4); case 32: return this.renderBlockWall((BlockWall)par1Block, par2, par3, par4); case 12: return this.renderBlockLever(par1Block, par2, par3, par4); case 29: return this.renderBlockTripWireSource(par1Block, par2, par3, par4); case 30: return this.renderBlockTripWire(par1Block, par2, par3, par4); case 14: return this.renderBlockBed(par1Block, par2, par3, par4); case 15: return this.renderBlockRepeater((BlockRedstoneRepeater)par1Block, par2, par3, par4); case 36: return this.renderBlockRedstoneLogic((BlockRedstoneLogic)par1Block, par2, par3, par4); case 37: return this.renderBlockComparator((BlockComparator)par1Block, par2, par3, par4); case 16: return this.renderPistonBase(par1Block, par2, par3, par4, false); case 17: return this.renderPistonExtension(par1Block, par2, par3, par4, true); case 18: return this.renderBlockPane((BlockPane)par1Block, par2, par3, par4); case 21: return this.renderBlockFenceGate((BlockFenceGate)par1Block, par2, par3, par4); case 24: return this.renderBlockCauldron((BlockCauldron)par1Block, par2, par3, par4); case 33: return this.renderBlockFlowerpot((BlockFlowerPot)par1Block, par2, par3, par4); case 35: return this.renderBlockAnvil((BlockAnvil)par1Block, par2, par3, par4); case 25: return this.renderBlockBrewingStand((BlockBrewingStand)par1Block, par2, par3, par4); case 26: return this.renderBlockEndPortalFrame((BlockEndPortalFrame)par1Block, par2, par3, par4); case 28: return this.renderBlockCocoa((BlockCocoa)par1Block, par2, par3, par4); case 34: return this.renderBlockBeacon((BlockBeacon)par1Block, par2, par3, par4); case 38: return this.renderBlockHopper((BlockHopper)par1Block, par2, par3, par4); default: return FMLRenderAccessLibrary.renderWorldBlock(this, blockAccess, par2, par3, par4, par1Block, l); } } }
@SubscribeEvent public static void on(NeighborNotifyEvent event) { if (InfinityConfig.infinityCraftingEnabled.get()) { final World world = event.getWorld(); BlockPos posIdx = event.getPos(); if (world.provider.getDimension() != 0) { if (InfinityConfig.infinityInAllDimensions.get()) { posIdx = posIdx.up(world.provider.getDimension() * 256); } else { return; } } BlockPos pos = event.getPos(); final long worldTime = world.getTotalWorldTime(); if (fires.containsKey(posIdx)) { if (world.isAirBlock(pos) && world.getBlockState(pos.down()).getBlock() == Blocks.BEDROCK && worldTime > fires.get(posIdx) && RANDOM.nextFloat() <= InfinityConfig.infinityDropChance.get()) { double d0 = RANDOM.nextFloat() * 0.5F + 0.25D; double d1 = RANDOM.nextFloat() * 0.5F + 0.25D; double d2 = RANDOM.nextFloat() * 0.5F + 0.25D; EntityItem entityitem = new EntityItem(world, pos.getX() + d0, pos.getY() + d1, pos.getZ() + d2, Material.POWDER_INFINITY.getStack(InfinityConfig.infinityStackSize.get())); entityitem.setDefaultPickupDelay(); // This gives the item enough health to survive for a while... entityitem.attackEntityFrom(DamageSource.IN_FIRE, -100); // while being on fire entityitem.setFire(10); world.spawnEntity(entityitem); if (InfinityConfig.infinityMakesSound.get()) { world.playSound(null, pos, SoundEvents.ENTITY_FIREWORK_LARGE_BLAST, SoundCategory.BLOCKS, 1.0F, RANDOM.nextFloat() * 0.4F + 0.8F); } } fires.remove(posIdx); } else if (event.getState().getBlock() instanceof BlockFire && world.getBlockState(pos.down()).getBlock() == Blocks.BEDROCK) { if (fires.size() > 100) { Iterator<Long> iterator = fires.values().iterator(); while (iterator.hasNext()) { if (iterator.next() < worldTime || fires.size() > 500) { iterator.remove(); } } } fires.put(posIdx, worldTime + InfinityConfig.infinityMinAge.get()); } } }