public Materials(Random random) { IWoodType woodType; boolean fireproof; if (ModuleHelper.isEnabled(ForestryModuleUids.ARBORICULTURE)) { woodType = EnumForestryWoodType.getRandom(random); fireproof = random.nextInt(4) == 0; } else { woodType = EnumVanillaWoodType.getRandom(random); fireproof = false; } IWoodAccess woodAccess = TreeManager.woodAccess; this.logs = woodAccess.getBlock(woodType, WoodBlockKind.LOG, fireproof).withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.X); this.planks = woodAccess.getBlock(woodType, WoodBlockKind.PLANKS, fireproof); this.slabs = woodAccess.getBlock(woodType, WoodBlockKind.SLAB, fireproof); this.stairs = woodAccess.getBlock(woodType, WoodBlockKind.STAIRS, fireproof); this.fence = woodAccess.getBlock(woodType, WoodBlockKind.FENCE, fireproof); this.door = woodAccess.getBlock(woodType, WoodBlockKind.DOOR, false); this.fenceGate = woodAccess.getBlock(woodType, WoodBlockKind.FENCE_GATE, fireproof); } }
@Override public boolean setLogBlock(ITreeGenome genome, World world, BlockPos pos, EnumFacing facing) { AlleleBoolean fireproofAllele = (AlleleBoolean) genome.getActiveAllele(EnumTreeChromosome.FIREPROOF); boolean fireproof = fireproofAllele.getValue(); IBlockState logBlock = TreeManager.woodAccess.getBlock(woodType, WoodBlockKind.LOG, fireproof); BlockLog.EnumAxis axis = BlockLog.EnumAxis.fromFacingAxis(facing.getAxis()); return world.setBlockState(pos, logBlock.withProperty(BlockLog.LOG_AXIS, axis)); }
@Override public boolean setLogBlock(ITreeGenome genome, World world, BlockPos pos, EnumFacing facing) { AlleleBoolean fireproofAllele = (AlleleBoolean) genome.getActiveAllele(EnumTreeChromosome.FIREPROOF); boolean fireproof = fireproofAllele.getValue(); IBlockState logBlock = TreeManager.woodAccess.getBlock(woodType, WoodBlockKind.LOG, fireproof); BlockLog.EnumAxis axis = BlockLog.EnumAxis.fromFacingAxis(facing.getAxis()); if (logBlock.getBlock() instanceof BlockLog) { logBlock = logBlock.withProperty(BlockLog.LOG_AXIS, axis); } return world.setBlockState(pos, logBlock); }