public BiomeGenMesa(int p_i45380_1_, boolean p_i45380_2_, boolean p_i45380_3_) { super(p_i45380_1_); this.field_150626_aH = p_i45380_2_; this.field_150620_aI = p_i45380_3_; this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); this.spawnableCreatureList.clear(); this.topBlock = Blocks.sand.getDefaultState().withProperty(BlockSand.VARIANT, BlockSand.EnumType.RED_SAND); this.fillerBlock = Blocks.stained_hardened_clay.getDefaultState(); this.theBiomeDecorator.treesPerChunk = -999; this.theBiomeDecorator.deadBushPerChunk = 20; this.theBiomeDecorator.reedsPerChunk = 3; this.theBiomeDecorator.cactiPerChunk = 5; this.theBiomeDecorator.flowersPerChunk = 0; this.spawnableCreatureList.clear(); if (p_i45380_3_) { this.theBiomeDecorator.treesPerChunk = 5; } }
public static void inventoryRender() { Item item = GameRegistry.findItem(MReference.MODID, "cold_sand"); ModelBakery.addVariantName(item, "ministrapp:cold_sand"); ModelBakery.addVariantName(item, "ministrapp:cold_red_sand"); Item itemBlockVariants = GameRegistry.findItem(MReference.MODID, "cold_sand"); EnumType[] aenumtype = BlockSand.EnumType.values(); int i = aenumtype.length; for (int j = 0; j < i; ++j) { BlockSand.EnumType enumtype = aenumtype[j]; ModelResourceLocation itemModelResourceLocation = new ModelResourceLocation(MReference.MODID + ":" + "cold_" + enumtype.getName(), "inventory"); Minecraft.getMinecraft().getRenderItem().getItemModelMesher() .register(itemBlockVariants, enumtype.getMetadata(), itemModelResourceLocation); } }
private void func_72236_l(World p_72236_1_, int p_72236_2_, int p_72236_3_, int p_72236_4_) { if(BlockSand.func_72191_e_(p_72236_1_, p_72236_2_, p_72236_3_ - 1, p_72236_4_) && p_72236_3_ >= 0) { byte var5 = 32; if(!BlockSand.field_72192_a && p_72236_1_.func_72904_c(p_72236_2_ - var5, p_72236_3_ - var5, p_72236_4_ - var5, p_72236_2_ + var5, p_72236_3_ + var5, p_72236_4_ + var5)) { EntityFallingSand var6 = new EntityFallingSand(p_72236_1_, (double)((float)p_72236_2_ + 0.5F), (double)((float)p_72236_3_ + 0.5F), (double)((float)p_72236_4_ + 0.5F), this.field_71990_ca); p_72236_1_.func_72838_d(var6); } else { p_72236_1_.func_94571_i(p_72236_2_, p_72236_3_, p_72236_4_); while(BlockSand.func_72191_e_(p_72236_1_, p_72236_2_, p_72236_3_ - 1, p_72236_4_) && p_72236_3_ > 0) { --p_72236_3_; } if(p_72236_3_ > 0) { p_72236_1_.func_72832_d(p_72236_2_, p_72236_3_, p_72236_4_, this.field_71990_ca, 0, 2); } } } }
/** * Populates chunk with ores etc etc */ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, endWorld, endWorld.rand, par2, par3, false)); int k = par2 * 16; int l = par3 * 16; BiomeGenBase biomegenbase = this.endWorld.getBiomeGenForCoords(k + 16, l + 16); biomegenbase.decorate(this.endWorld, this.endWorld.rand, k, l); MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, endWorld, endWorld.rand, par2, par3, false)); BlockSand.fallInstantly = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; final int var4 = par2 * 16; final int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); { } this.decoratePlanet(this.worldObj, this.rand, var4, var5); BlockSand.fallInstantly = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; int var4 = par2 * 16; int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.decoratePlanet(this.worldObj, this.rand, var4, var5); var4 += 8; var5 += 8; this.dungeonGenerator.handleTileEntities(this.rand); if (!SCMercuryConfigManager.disableMercuryVillageGen) { ; } }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; final int var4 = par2 * 16; final int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.dungeonGenerator.handleTileEntities(this.rand); { ; } this.decoratePlanet(this.worldObj, this.rand, var4, var5); BlockSand.fallInstantly = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; final int var4 = par2 * 16; final int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.decoratePlanet(this.worldObj, this.rand, var4, var5); this.blazeNest.generateStructuresInChunk(this.worldObj, new Random(), par2, par3); this.dungeonGenerator.handleTileEntities(this.rand); if (!SCVenusConfigManager.disableVenusVillageGen) { this.villageGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); } BlockSand.fallInstantly = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; final int var4 = par2 * 16; final int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.dungeonGenerator.handleTileEntities(this.rand); { } this.decoratePlanet(this.worldObj, this.rand, var4, var5); BlockSand.fallInstantly = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; int var4 = par2 * 16; int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.decoratePlanet(this.worldObj, this.rand, var4, var5); var4 += 8; var5 += 8; BlockSand.fallInstantly = false; }
public static void populateDistributions(Collection<IOreDistribution> distributions, World world, int chunkX, int chunkZ) { SimpleProfiler.globalProfiler.startSection("Populate"); BlockSand.fallInstantly = true; ReflectionHelper.setPrivateValue(World.class, world, true, "scheduledUpdatesAreImmediate","field_72999_e"); for (IOreDistribution dist : distributions) { dist.generate(world, chunkX, chunkZ); dist.populate(world, chunkX, chunkZ); dist.cull(); } ReflectionHelper.setPrivateValue(World.class, world, false, "scheduledUpdatesAreImmediate","field_72999_e"); BlockSand.fallInstantly = false; if (Loader.isModLoaded("UndergroundBiomes")) { // FIXME: API not yet available for 1.8.x // UBAPIHook.ubAPIHook.ubOreTexturizer.redoOres(chunkX*16, chunkZ*16, world); } SimpleProfiler.globalProfiler.endSection(); }
/** * Adds the crafting recipes to the CraftingManager. */ public void addRecipes(CraftingManager p_77589_1_) { p_77589_1_.addRecipe(new ItemStack(Blocks.chest), new Object[] {"###", "# #", "###", '#', Blocks.planks}); p_77589_1_.addRecipe(new ItemStack(Blocks.trapped_chest), new Object[] {"#-", '#', Blocks.chest, '-', Blocks.tripwire_hook}); p_77589_1_.addRecipe(new ItemStack(Blocks.ender_chest), new Object[] {"###", "#E#", "###", '#', Blocks.obsidian, 'E', Items.ender_eye}); p_77589_1_.addRecipe(new ItemStack(Blocks.furnace), new Object[] {"###", "# #", "###", '#', Blocks.cobblestone}); p_77589_1_.addRecipe(new ItemStack(Blocks.crafting_table), new Object[] {"##", "##", '#', Blocks.planks}); p_77589_1_.addRecipe(new ItemStack(Blocks.sandstone), new Object[] {"##", "##", '#', new ItemStack(Blocks.sand, 1, BlockSand.EnumType.SAND.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.red_sandstone), new Object[] {"##", "##", '#', new ItemStack(Blocks.sand, 1, BlockSand.EnumType.RED_SAND.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.sandstone, 4, BlockSandStone.EnumType.SMOOTH.getMetadata()), new Object[] {"##", "##", '#', new ItemStack(Blocks.sandstone, 1, BlockSandStone.EnumType.DEFAULT.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.red_sandstone, 4, BlockRedSandstone.EnumType.SMOOTH.getMetadata()), new Object[] {"##", "##", '#', new ItemStack(Blocks.red_sandstone, 1, BlockRedSandstone.EnumType.DEFAULT.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.sandstone, 1, BlockSandStone.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.stone_slab, 1, BlockStoneSlab.EnumType.SAND.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.red_sandstone, 1, BlockRedSandstone.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.stone_slab2, 1, BlockStoneSlabNew.EnumType.RED_SANDSTONE.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.quartz_block, 1, BlockQuartz.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.stone_slab, 1, BlockStoneSlab.EnumType.QUARTZ.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.quartz_block, 2, BlockQuartz.EnumType.LINES_Y.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.quartz_block, 1, BlockQuartz.EnumType.DEFAULT.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.stonebrick, 4), new Object[] {"##", "##", '#', new ItemStack(Blocks.stone, 1, BlockStone.EnumType.STONE.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.stonebrick, 1, BlockStoneBrick.CHISELED_META), new Object[] {"#", "#", '#', new ItemStack(Blocks.stone_slab, 1, BlockStoneSlab.EnumType.SMOOTHBRICK.getMetadata())}); p_77589_1_.addShapelessRecipe(new ItemStack(Blocks.stonebrick, 1, BlockStoneBrick.MOSSY_META), new Object[] {Blocks.stonebrick, Blocks.vine}); p_77589_1_.addShapelessRecipe(new ItemStack(Blocks.mossy_cobblestone, 1), new Object[] {Blocks.cobblestone, Blocks.vine}); p_77589_1_.addRecipe(new ItemStack(Blocks.iron_bars, 16), new Object[] {"###", "###", '#', Items.iron_ingot}); p_77589_1_.addRecipe(new ItemStack(Blocks.glass_pane, 16), new Object[] {"###", "###", '#', Blocks.glass}); p_77589_1_.addRecipe(new ItemStack(Blocks.redstone_lamp, 1), new Object[] {" R ", "RGR", " R ", 'R', Items.redstone, 'G', Blocks.glowstone}); p_77589_1_.addRecipe(new ItemStack(Blocks.beacon, 1), new Object[] {"GGG", "GSG", "OOO", 'G', Blocks.glass, 'S', Items.nether_star, 'O', Blocks.obsidian}); p_77589_1_.addRecipe(new ItemStack(Blocks.nether_brick, 1), new Object[] {"NN", "NN", 'N', Items.netherbrick}); p_77589_1_.addRecipe(new ItemStack(Blocks.stone, 2, BlockStone.EnumType.DIORITE.getMetadata()), new Object[] {"CQ", "QC", 'C', Blocks.cobblestone, 'Q', Items.quartz}); p_77589_1_.addShapelessRecipe(new ItemStack(Blocks.stone, 1, BlockStone.EnumType.GRANITE.getMetadata()), new Object[] {new ItemStack(Blocks.stone, 1, BlockStone.EnumType.DIORITE.getMetadata()), Items.quartz}); p_77589_1_.addShapelessRecipe(new ItemStack(Blocks.stone, 2, BlockStone.EnumType.ANDESITE.getMetadata()), new Object[] {new ItemStack(Blocks.stone, 1, BlockStone.EnumType.DIORITE.getMetadata()), Blocks.cobblestone}); p_77589_1_.addRecipe(new ItemStack(Blocks.dirt, 4, BlockDirt.DirtType.COARSE_DIRT.getMetadata()), new Object[] {"DG", "GD", 'D', new ItemStack(Blocks.dirt, 1, BlockDirt.DirtType.DIRT.getMetadata()), 'G', Blocks.gravel}); p_77589_1_.addRecipe(new ItemStack(Blocks.stone, 4, BlockStone.EnumType.DIORITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.stone, 1, BlockStone.EnumType.DIORITE.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.stone, 4, BlockStone.EnumType.GRANITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.stone, 1, BlockStone.EnumType.GRANITE.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.stone, 4, BlockStone.EnumType.ANDESITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.stone, 1, BlockStone.EnumType.ANDESITE.getMetadata())}); p_77589_1_.addRecipe(new ItemStack(Blocks.prismarine, 1, BlockPrismarine.ROUGH_META), new Object[] {"SS", "SS", 'S', Items.prismarine_shard}); p_77589_1_.addRecipe(new ItemStack(Blocks.prismarine, 1, BlockPrismarine.BRICKS_META), new Object[] {"SSS", "SSS", "SSS", 'S', Items.prismarine_shard}); p_77589_1_.addRecipe(new ItemStack(Blocks.prismarine, 1, BlockPrismarine.DARK_META), new Object[] {"SSS", "SIS", "SSS", 'S', Items.prismarine_shard, 'I', new ItemStack(Items.dye, 1, EnumDyeColor.BLACK.getDyeDamage())}); p_77589_1_.addRecipe(new ItemStack(Blocks.sea_lantern, 1, 0), new Object[] {"SCS", "CCC", "SCS", 'S', Items.prismarine_shard, 'C', Items.prismarine_crystals}); }
@SubscribeEvent public void grassGrowEvent(RandomBlockTickEvent event) { World world = event.getWorld(); BlockPos pos = event.getPos().up(); IBlockState state = event.getState(); Random random = event.getRandom(); if (!world.isRemote && state.getBlock() == Blocks.GRASS) { if (world.getLightFromNeighbors(pos.up()) >= 9 && world.getBlockState(pos.up()).getLightOpacity(world, pos.up()) <= 2) { for (int i = 0; i < 4; ++i) { BlockPos growthpos = pos.add(random.nextInt(3) - 1, random.nextInt(5) - 3, random.nextInt(3) - 1); if (growthpos.getY() >= 0 && growthpos.getY() < 256 && !world.isBlockLoaded(growthpos)) { return; } IBlockState topstate = world.getBlockState(growthpos.up()); IBlockState growthstate = world.getBlockState(growthpos); if(world.getLightFromNeighbors(growthpos.up()) >= 4 && topstate.getLightOpacity(world, pos.up()) <= 2) { if (InteractionBWA.GRASS_TO_SAND && growthstate.getBlock() == Blocks.SAND) { if(growthstate.getValue(BlockSand.VARIANT) == BlockSand.EnumType.SAND) world.setBlockState(growthpos, ModBlocks.grass.getDefaultState().withProperty(BlockExtraGrass.VARIANT,BlockExtraGrass.ExtraGrassType.SAND)); else world.setBlockState(growthpos, ModBlocks.grass.getDefaultState().withProperty(BlockExtraGrass.VARIANT,BlockExtraGrass.ExtraGrassType.REDSAND)); } else if(InteractionBWA.GRASS_TO_CLAY && growthstate.getBlock() == Blocks.CLAY) world.setBlockState(growthpos, ModBlocks.grass.getDefaultState().withProperty(BlockExtraGrass.VARIANT,BlockExtraGrass.ExtraGrassType.CLAY)); } } } } }
private static boolean checkBlockAbove(World w, int x, int y, int z) { Block b = w.getBlock(x, y, z); if (b instanceof BlockSand) { return true; } if (b instanceof BlockGravel) { return true; } return false; }
void biomeifyBlocks(Coord col, ChunkPrimer primer, BiomeGenBase biome, double stoneNoise, int min, int max) { if (col == null) return; biome.genTerrainBlocks(col.w, rand, primer, 0, 0, stoneNoise); Coord at = col.copy(); boolean onSolid = false; for (int y = min; y <= max; y++) { IBlockState bs = primer.getBlockState(0, y, 0); Block id = bs.getBlock(); if (id == Blocks.bedrock) continue; if (id == Blocks.air) { onSolid = false; continue; } if (!onSolid && id instanceof BlockFalling) { if (id == Blocks.sand) { boolean isRed = bs.getValue(BlockSand.VARIANT) == BlockSand.EnumType.RED_SAND; if (isRed) { bs = Blocks.red_sandstone.getDefaultState(); } else { bs = Blocks.sandstone.getDefaultState(); } } else { bs = Blocks.stone.getDefaultState(); } } at.y = y; if (id == Blocks.grass) { at.y++; if (at.isSolid()) bs = Blocks.dirt.getDefaultState(); at.y--; } at.set(bs, true); // Notify only if triggered by command? onSolid = true; } }
private static boolean checkBlockAbove( World pWorld, int pLocX, int pLocY, int pLocZ ) { Block tBlock = pWorld.getBlock( pLocX, pLocY, pLocZ ); if(tBlock instanceof BlockSand) { return true; } if(tBlock instanceof BlockGravel) { return true; } return false; }
private boolean isDefered(StructureBlock sb) { Block block = GameRegistry.findBlock(sb.getModId(), sb.getBlockName()); if(block == null) { return false; } return block instanceof BlockTorch || block instanceof BlockSand || block instanceof BlockGravel || block instanceof BlockAnvil || block instanceof BlockTripWireHook || block instanceof BlockTripWire|| block instanceof BlockRedstoneWire; }
private EntityVillager.ITradeList[][] buildDruidTrades() { return new EntityVillager.ITradeList[][] { { new EmeraldForItems(Items.COOKED_FISH, new PriceInfo(9, 12)), // GROUP 1 new EmeraldForItems(Items.APPLE, new PriceInfo(3, 6)), new EmeraldForItems(Items.BEETROOT, new PriceInfo(8, 12)) }, { new EmeraldForItems(Items.FEATHER, new PriceInfo(12, 13)), //GROUP 2 new EmeraldForItems(Items.WHEAT_SEEDS, new PriceInfo(50, 64)), new EmeraldForItems(Items.POISONOUS_POTATO, new PriceInfo(1, 3)) }, { new EmeraldForItems(Item.getItemFromBlock(Blocks.BROWN_MUSHROOM), new PriceInfo(8, 12)), //GROUP 3 new EmeraldForItems(Item.getItemFromBlock(Blocks.RED_MUSHROOM), new PriceInfo(8, 12)) }, { new EmeraldForItems(Items.BEEF, new PriceInfo(14, 17)), //GROUP 4 new EmeraldForItems(Items.RABBIT, new PriceInfo(14, 17)), new EmeraldForItems(Items.CHICKEN, new PriceInfo(14, 17)) }, { new EmeraldForItems(Items.WRITTEN_BOOK, new PriceInfo(1, 1)), //GROUP 5 new EmeraldForItems(Items.FISH, new PriceInfo(9, 12)), new EmeraldForItems(Items.SPIDER_EYE, new PriceInfo(3, 6)) }, { new ListItemForEmeraldsFixed(new ItemStack(Blocks.GRASS, 32), new PriceInfo(1, 2)), //GROUP 6 new ListItemForEmeraldsFixed(new ItemStack(Blocks.FARMLAND, 32), new PriceInfo(1, 2)), new ListItemForEmeraldsFixed(new ItemStack(Blocks.DIRT, 32, BlockDirt.DirtType.PODZOL.getMetadata()), new PriceInfo(1, 2)), new ListItemForEmeraldsFixed(new ItemStack(Blocks.GRASS_PATH, 32), new PriceInfo(1, 2)) }, { new ListItemForEmeraldsFixed(new ItemStack(Blocks.MYCELIUM, 1), new PriceInfo(12, 16)), //GROUP 7 new ListItemForEmeraldsFixed(new ItemStack(Blocks.WATERLILY, 32), new PriceInfo(1, 2)), new ListItemForEmeraldsFixed(new ItemStack(Blocks.SAND, 32, BlockSand.EnumType.RED_SAND.ordinal()), new PriceInfo(1, 3)), new ListItemForEmeraldsFixed(new ItemStack(Items.DYE, 16, EnumDyeColor.BLACK.getDyeDamage()), new PriceInfo(1, 3)) } }; }
private static void registerVanillaVariantProps() { // TODO: omit similar blocks registerVariantProperty(BlockStone.VARIANT); registerVariantProperty(BlockPlanks.VARIANT); registerVariantProperty(BlockSapling.TYPE); registerVariantProperty(BlockDirt.VARIANT); registerVariantProperty(BlockSand.VARIANT); registerVariantProperty(BlockOldLog.VARIANT); registerVariantProperty(BlockNewLog.VARIANT); registerVariantProperty(BlockOldLeaf.VARIANT); registerVariantProperty(BlockNewLeaf.VARIANT); registerVariantProperty(BlockSandStone.TYPE); registerVariantProperty(BlockTallGrass.TYPE); registerVariantProperty(BlockPistonExtension.TYPE); registerVariantProperty(BlockColored.COLOR); registerVariantProperty(BlockPistonMoving.TYPE); registerVariantProperty(Blocks.YELLOW_FLOWER.getTypeProperty()); registerVariantProperty(Blocks.RED_FLOWER.getTypeProperty()); registerVariantProperty(BlockStoneSlab.VARIANT); registerVariantProperty(BlockWoodSlab.VARIANT); registerVariantProperty(BlockAnvil.DAMAGE); registerVariantProperty(BlockQuartz.VARIANT); registerVariantProperty(BlockCarpet.COLOR); registerVariantProperty(BlockDoublePlant.VARIANT); registerVariantProperty(BlockStainedGlass.COLOR); registerVariantProperty(BlockStainedGlassPane.COLOR); registerVariantProperty(BlockPrismarine.VARIANT); registerVariantProperty(BlockRedSandstone.TYPE); registerVariantProperty(BlockStoneSlabNew.VARIANT); }
@Override public void populate(IChunkProvider ichunkprovider, int i, int j) { BlockSand.fallInstantly = true; int k = i * 16; int l = j * 16; BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed((long)i*i1 + (long)j*j1 ^ this.worldObj.getSeed()); boolean flag = false; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(ichunkprovider, worldObj, rand, i, j, flag)); if(mapFeaturesEnabled){ this.mineshaftGenerator.generateStructuresInChunk(this.worldObj, rand, i, j); this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, rand, i, j); } int k1; int l1; int i2; if(biome != BiomeGenBase.desert && biome != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0 && TerrainGen.populate(ichunkprovider, this.worldObj, rand, i, j, flag, LAKE)){ k1 = k + this.rand.nextInt(16) + 8; l1 = this.rand.nextInt(128); i2 = l + this.rand.nextInt(16) + 8; (new WorldGenLakes(Block.waterStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); } biome.decorate(worldObj, rand, k, j); k+=8; l+=8; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(ichunkprovider, worldObj, rand, i, j, flag)); BlockSand.fallInstantly = false; }
public void func_73153_a(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_) { BlockSand.field_72192_a = true; int var4 = p_73153_2_ * 16; int var5 = p_73153_3_ * 16; BiomeGenBase var6 = this.field_73200_m.func_72807_a(var4 + 16, var5 + 16); var6.func_76728_a(this.field_73200_m, this.field_73200_m.field_73012_v, var4, var5); BlockSand.field_72192_a = false; }
@Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; final int var4 = par2 * 16; final int var5 = par3 * 16; this.worldObj.getBiomeGenForCoords(var4 + 16, var5 + 16); this.rand.setSeed(this.worldObj.getSeed()); final long var7 = this.rand.nextLong() / 2L * 2L + 1L; final long var9 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed(par2 * var7 + par3 * var9 ^ this.worldObj.getSeed()); this.decoratePlanet(this.worldObj, this.rand, var4, var5); BlockSand.fallInstantly = false; }
public void initTesters() { entityWhitelist.addTester(new ClassTester<Entity>(EntityItem.class)); entityWhitelist.addTester(new ClassTester<Entity>(EntityBoat.class)); entityWhitelist.addTester(new ClassTester<Entity>(EntityMinecart.class)); MinecraftForge.EVENT_BUS.post(new EntityRegisterEvent(entityWhitelist)); blockWhitelist.addTester(o -> { float hardness = o.blockState.getBlockHardness(o.world, o); return (hardness < 0)? Result.REJECT : Result.CONTINUE; }); blockWhitelist.addTester(o -> o.blockState.getRenderType() == EnumBlockRenderType.MODEL? Result.ACCEPT : Result.CONTINUE); blockWhitelist.addTester(createBlockClassTester(BlockSand.class)); blockWhitelist.addTester(createBlockClassTester(BlockStairs.class)); blockWhitelist.addTester(createBlockClassTester(BlockFence.class)); blockWhitelist.addTester(createBlockClassTester(BlockFenceGate.class)); blockWhitelist.addTester(createBlockIdentityTester(Blocks.CACTUS)); MinecraftForge.EVENT_BUS.post(new BlockRegisterEvent(blockWhitelist)); tileEntityWhitelist .addTester(new ClassTester<TileEntity>(TileEntityBeacon.class)) .addTester(new ClassTester<TileEntity>(TileEntityBrewingStand.class)) .addTester(new ClassTester<TileEntity>(TileEntityChest.class)) .addTester(new ClassTester<TileEntity>(TileEntityCommandBlock.class)) .addTester(new ClassTester<TileEntity>(TileEntityDispenser.class)) .addTester(new ClassTester<TileEntity>(TileEntityEnchantmentTable.class)) .addTester(new ClassTester<TileEntity>(TileEntityEnderChest.class)) .addTester(new ClassTester<TileEntity>(TileEntityFurnace.class)) .addTester(new ClassTester<TileEntity>(TileEntityHopper.class)) .addTester(new ClassTester<TileEntity>(TileEntityNote.class)) .addTester(new ClassTester<TileEntity>(TileEntityJukebox.class)); }
/** * Populates chunk with ores etc etc */ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { BlockSand.fallInstantly = true; int x = par2 * 16; int z = par3 * 16; BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(x + 16, z + 16); this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; this.rand.setSeed((long)par2 * i1 + (long)par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); int i; int j; int k; if (this.rand.nextInt(4) == 0) { i = x + this.rand.nextInt(16) + 8; k = z + this.rand.nextInt(16) + 8; j = this.worldObj.getTopSolidOrLiquidBlock(i, k); this.essenceSpikeGen.generate(this.worldObj, this.rand, i, j, k); } MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); BlockSand.fallInstantly = false; }
/** Populates chunk with ores, plants, etc */ public void populate(IChunkProvider provider, int xCoord, int zCoord) { BlockSand.fallInstantly = true; MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(provider, world, xarRNG, xCoord, zCoord, false)); int chunkX = xCoord * 16; int chunkZ = zCoord * 16; BiomeGenBase biomeGen = world.getBiomeGenForCoords(chunkX + 16, chunkZ + 16); biomeGen.decorate(world, world.rand, chunkX, chunkZ); //Add structure generation here i.e. villages, mineshafts, strongholds, etc MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(provider, world, xarRNG, xCoord, zCoord, false)); BlockSand.fallInstantly = false; }
/** * Adds the crafting recipes to the CraftingManager. */ public void addRecipes(CraftingManager manager) { manager.addRecipe(new ItemStack(Blocks.CHEST), new Object[] {"###", "# #", "###", '#', Blocks.PLANKS}); manager.addShapelessRecipe(new ItemStack(Blocks.TRAPPED_CHEST), new Object[] {Blocks.CHEST, Blocks.TRIPWIRE_HOOK}); manager.addRecipe(new ItemStack(Blocks.ENDER_CHEST), new Object[] {"###", "#E#", "###", '#', Blocks.OBSIDIAN, 'E', Items.ENDER_EYE}); manager.addRecipe(new ItemStack(Blocks.FURNACE), new Object[] {"###", "# #", "###", '#', Blocks.COBBLESTONE}); manager.addRecipe(new ItemStack(Blocks.CRAFTING_TABLE), new Object[] {"##", "##", '#', Blocks.PLANKS}); manager.addRecipe(new ItemStack(Blocks.SANDSTONE), new Object[] {"##", "##", '#', new ItemStack(Blocks.SAND, 1, BlockSand.EnumType.SAND.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.RED_SANDSTONE), new Object[] {"##", "##", '#', new ItemStack(Blocks.SAND, 1, BlockSand.EnumType.RED_SAND.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.SANDSTONE, 4, BlockSandStone.EnumType.SMOOTH.getMetadata()), new Object[] {"##", "##", '#', new ItemStack(Blocks.SANDSTONE, 1, BlockSandStone.EnumType.DEFAULT.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.RED_SANDSTONE, 4, BlockRedSandstone.EnumType.SMOOTH.getMetadata()), new Object[] {"##", "##", '#', new ItemStack(Blocks.RED_SANDSTONE, 1, BlockRedSandstone.EnumType.DEFAULT.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.SANDSTONE, 1, BlockSandStone.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.STONE_SLAB, 1, BlockStoneSlab.EnumType.SAND.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.RED_SANDSTONE, 1, BlockRedSandstone.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.STONE_SLAB2, 1, BlockStoneSlabNew.EnumType.RED_SANDSTONE.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.QUARTZ_BLOCK, 1, BlockQuartz.EnumType.CHISELED.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.STONE_SLAB, 1, BlockStoneSlab.EnumType.QUARTZ.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.QUARTZ_BLOCK, 2, BlockQuartz.EnumType.LINES_Y.getMetadata()), new Object[] {"#", "#", '#', new ItemStack(Blocks.QUARTZ_BLOCK, 1, BlockQuartz.EnumType.DEFAULT.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.STONEBRICK, 4), new Object[] {"##", "##", '#', new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.STONE.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.STONEBRICK, 1, BlockStoneBrick.CHISELED_META), new Object[] {"#", "#", '#', new ItemStack(Blocks.STONE_SLAB, 1, BlockStoneSlab.EnumType.SMOOTHBRICK.getMetadata())}); manager.addShapelessRecipe(new ItemStack(Blocks.STONEBRICK, 1, BlockStoneBrick.MOSSY_META), new Object[] {Blocks.STONEBRICK, Blocks.VINE}); manager.addShapelessRecipe(new ItemStack(Blocks.MOSSY_COBBLESTONE, 1), new Object[] {Blocks.COBBLESTONE, Blocks.VINE}); manager.addRecipe(new ItemStack(Blocks.IRON_BARS, 16), new Object[] {"###", "###", '#', Items.IRON_INGOT}); manager.addRecipe(new ItemStack(Blocks.GLASS_PANE, 16), new Object[] {"###", "###", '#', Blocks.GLASS}); manager.addRecipe(new ItemStack(Blocks.REDSTONE_LAMP, 1), new Object[] {" R ", "RGR", " R ", 'R', Items.REDSTONE, 'G', Blocks.GLOWSTONE}); manager.addRecipe(new ItemStack(Blocks.BEACON, 1), new Object[] {"GGG", "GSG", "OOO", 'G', Blocks.GLASS, 'S', Items.NETHER_STAR, 'O', Blocks.OBSIDIAN}); manager.addRecipe(new ItemStack(Blocks.NETHER_BRICK, 1), new Object[] {"NN", "NN", 'N', Items.NETHERBRICK}); manager.addRecipe(new ItemStack(Blocks.RED_NETHER_BRICK, 1), new Object[] {"NW", "WN", 'N', Items.NETHERBRICK, 'W', Items.NETHER_WART}); manager.addRecipe(new ItemStack(Blocks.STONE, 2, BlockStone.EnumType.DIORITE.getMetadata()), new Object[] {"CQ", "QC", 'C', Blocks.COBBLESTONE, 'Q', Items.QUARTZ}); manager.addShapelessRecipe(new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.GRANITE.getMetadata()), new Object[] {new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.DIORITE.getMetadata()), Items.QUARTZ}); manager.addShapelessRecipe(new ItemStack(Blocks.STONE, 2, BlockStone.EnumType.ANDESITE.getMetadata()), new Object[] {new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.DIORITE.getMetadata()), Blocks.COBBLESTONE}); manager.addRecipe(new ItemStack(Blocks.DIRT, 4, BlockDirt.DirtType.COARSE_DIRT.getMetadata()), new Object[] {"DG", "GD", 'D', new ItemStack(Blocks.DIRT, 1, BlockDirt.DirtType.DIRT.getMetadata()), 'G', Blocks.GRAVEL}); manager.addRecipe(new ItemStack(Blocks.STONE, 4, BlockStone.EnumType.DIORITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.DIORITE.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.STONE, 4, BlockStone.EnumType.GRANITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.GRANITE.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.STONE, 4, BlockStone.EnumType.ANDESITE_SMOOTH.getMetadata()), new Object[] {"SS", "SS", 'S', new ItemStack(Blocks.STONE, 1, BlockStone.EnumType.ANDESITE.getMetadata())}); manager.addRecipe(new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.ROUGH_META), new Object[] {"SS", "SS", 'S', Items.PRISMARINE_SHARD}); manager.addRecipe(new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.BRICKS_META), new Object[] {"SSS", "SSS", "SSS", 'S', Items.PRISMARINE_SHARD}); manager.addRecipe(new ItemStack(Blocks.PRISMARINE, 1, BlockPrismarine.DARK_META), new Object[] {"SSS", "SIS", "SSS", 'S', Items.PRISMARINE_SHARD, 'I', new ItemStack(Items.DYE, 1, EnumDyeColor.BLACK.getDyeDamage())}); manager.addRecipe(new ItemStack(Blocks.SEA_LANTERN, 1, 0), new Object[] {"SCS", "CCC", "SCS", 'S', Items.PRISMARINE_SHARD, 'C', Items.PRISMARINE_CRYSTALS}); manager.addRecipe(new ItemStack(Blocks.PURPUR_BLOCK, 4, 0), new Object[] {"FF", "FF", 'F', Items.CHORUS_FRUIT_POPPED}); manager.addRecipe(new ItemStack(Blocks.PURPUR_STAIRS, 4, 0), new Object[] {"# ", "## ", "###", '#', Blocks.PURPUR_BLOCK}); manager.addRecipe(new ItemStack(Blocks.PURPUR_PILLAR, 1, 0), new Object[] {"#", "#", '#', Blocks.PURPUR_SLAB}); manager.addRecipe(new ItemStack(Blocks.END_BRICKS, 4, 0), new Object[] {"##", "##", '#', Blocks.END_STONE}); manager.addRecipe(new ItemStack(Blocks.MAGMA, 1, 0), new Object[] {"##", "##", '#', Items.MAGMA_CREAM}); manager.addRecipe(new ItemStack(Blocks.NETHER_WART_BLOCK, 1, 0), new Object[] {"###", "###", "###", '#', Items.NETHER_WART}); }
@SubscribeEvent public void prePopulate(PopulateChunkEvent.Pre event) { BlockSand.fallInstantly = false; }