private EnumWorldBlockLayer fixBlockLayer(Block p_fixBlockLayer_1_, EnumWorldBlockLayer p_fixBlockLayer_2_) { if (this.isMipmaps) { if (p_fixBlockLayer_2_ == EnumWorldBlockLayer.CUTOUT) { if (p_fixBlockLayer_1_ instanceof BlockRedstoneWire) { return p_fixBlockLayer_2_; } if (p_fixBlockLayer_1_ instanceof BlockCactus) { return p_fixBlockLayer_2_; } return EnumWorldBlockLayer.CUTOUT_MIPPED; } } else if (p_fixBlockLayer_2_ == EnumWorldBlockLayer.CUTOUT_MIPPED) { return EnumWorldBlockLayer.CUTOUT; } return p_fixBlockLayer_2_; }
private BlockRenderLayer fixBlockLayer(Block p_fixBlockLayer_1_, BlockRenderLayer p_fixBlockLayer_2_) { if (this.isMipmaps) { if (p_fixBlockLayer_2_ == BlockRenderLayer.CUTOUT) { if (p_fixBlockLayer_1_ instanceof BlockRedstoneWire) { return p_fixBlockLayer_2_; } if (p_fixBlockLayer_1_ instanceof BlockCactus) { return p_fixBlockLayer_2_; } return BlockRenderLayer.CUTOUT_MIPPED; } } else if (p_fixBlockLayer_2_ == BlockRenderLayer.CUTOUT_MIPPED) { return BlockRenderLayer.CUTOUT; } return p_fixBlockLayer_2_; }
@Override public void motorHit(ServoMotor motor) { Coord at = motor.getCurrentPos(); at = at.add(motor.getOrientation().top); FzColor col = FzColor.readColor(at); if (col != FzColor.NO_COLOR) { motor.getArgStack().push(col); return; } Block block = at.getBlock(); if (block instanceof BlockReed || block instanceof BlockCactus) return; // Colors don't change, so give nothing. Integer age = at.getProperty(BlockCrops.AGE); if (age != null) { int md = age; motor.getArgStack().push(colorArray[md]); } }
@Override public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) { super.updateTick(world, pos, state, rand); Block blockAbove = world.getBlockState(pos.up()).getBlock(); if (blockAbove instanceof BlockReed || blockAbove instanceof BlockCactus) { boolean isSameBlockType = true; int height = 1; while (isSameBlockType) { if (world.getBlockState(pos.up(height)).getBlock() != null) { Block nextPlantBlock = world.getBlockState(pos.up(height)).getBlock(); if (nextPlantBlock.getClass() == blockAbove.getClass()) { for (int growthAttempts = 0; growthAttempts < ConfigurationData.SPEED_INCREASE_VALUE; growthAttempts++) { if (growthAttempts == 0 | canSustainPlant(world.getBlockState(pos), world, pos, null, (IPlantable) blockAbove)) { nextPlantBlock .updateTick(world, pos.up(height), world.getBlockState(pos.up(height)), rand); } } height++; } else { isSameBlockType = false; } } else { isSameBlockType = false; } } } else if (blockAbove instanceof IPlantable) { blockAbove.updateTick(world, pos.up(), world.getBlockState(pos.up()), rand); } }
@Override public boolean canBeHarvested(World world, BlockPos pos, IBlockState blockState) { return blockState.getBlock() instanceof BlockCactus || blockState.getBlock() instanceof BlockReed; }
@EventTarget private void onBoundingBox(BoundingBoxEvent event) { if (event.block instanceof BlockCactus) { event.boundingBox = new AxisAlignedBB((double)event.pos.getX(), (double)event.pos.getY(), (double)event.pos.getZ(), (double)(event.pos.getX() + 1), (double)(event.pos.getY() + 1), (double)(event.pos.getZ() + 1)); } }
private EnumWorldBlockLayer fixBlockLayer(Block p_fixBlockLayer_1_, EnumWorldBlockLayer p_fixBlockLayer_2_) { return p_fixBlockLayer_2_ == EnumWorldBlockLayer.CUTOUT ? (p_fixBlockLayer_1_ instanceof BlockRedstoneWire ? p_fixBlockLayer_2_ : (p_fixBlockLayer_1_ instanceof BlockCactus ? p_fixBlockLayer_2_ : EnumWorldBlockLayer.CUTOUT_MIPPED)) : p_fixBlockLayer_2_; }