private boolean isApplicable(Block block) { BlockState state = block.getState(); switch (state.getType()) { case CACTUS: case MELON_BLOCK: case PUMPKIN: return true; case CROPS: return ((Crops) state.getData()).getState() == CropState.RIPE; case NETHER_WARTS: return ((NetherWarts) state.getData()).getState() == NetherWartsState.RIPE; case COCOA: return ((CocoaPlant) state.getData()).getSize() == CocoaPlantSize.LARGE; default: return false; } }
/** * Determine if a given block should be affected by Green Terra * * @param blockState The {@link BlockState} of the block to check * @return true if the block should affected by Green Terra, false otherwise */ public static boolean affectedByGreenTerra(BlockState blockState) { switch (blockState.getType()) { case BROWN_MUSHROOM: case CACTUS: case DOUBLE_PLANT: case MELON_BLOCK: case LONG_GRASS: case PUMPKIN: case RED_MUSHROOM: case RED_ROSE: case SUGAR_CANE_BLOCK: case VINE: case WATER_LILY: case YELLOW_FLOWER: return true; case CARROT: case POTATO: return blockState.getRawData() == CropState.RIPE.getData(); case CROPS: return ((Crops) blockState.getData()).getState() == CropState.RIPE; case NETHER_WARTS: return ((NetherWarts) blockState.getData()).getState() == NetherWartsState.RIPE; case COCOA: return ((CocoaPlant) blockState.getData()).getSize() == CocoaPlantSize.LARGE; default: return mcMMO.getModManager().isCustomHerbalismBlock(blockState); } }
private boolean handleBlockState(BlockState blockState, boolean greenTerra) { byte greenThumbStage = getGreenThumbStage(); blockState.setMetadata(mcMMO.greenThumbDataKey, new FixedMetadataValue(mcMMO.p, (int) (System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR))); switch (blockState.getType()) { case CROPS: Crops crops = (Crops) blockState.getData(); if (greenTerra) { crops.setState(CropState.MEDIUM); } else { switch (greenThumbStage) { case 4: crops.setState(CropState.SMALL); break; case 3: crops.setState(CropState.VERY_SMALL); break; case 2: crops.setState(CropState.GERMINATED); break; default: crops.setState(CropState.SEEDED); break; } } return true; case CARROT: case POTATO: if (greenTerra) { blockState.setRawData(CropState.MEDIUM.getData()); } else { blockState.setRawData(greenThumbStage); } return true; case NETHER_WARTS: NetherWarts warts = (NetherWarts) blockState.getData(); if (greenTerra || greenThumbStage > 2) { warts.setState(NetherWartsState.STAGE_TWO); } else if (greenThumbStage == 2) { warts.setState(NetherWartsState.STAGE_ONE); } else { warts.setState(NetherWartsState.SEEDED); } return true; case COCOA: CocoaPlant plant = (CocoaPlant) blockState.getData(); if (greenTerra || getGreenThumbStage() > 1) { plant.setSize(CocoaPlantSize.MEDIUM); } else { plant.setSize(CocoaPlantSize.SMALL); } return true; default: return false; } }
public CocoaPlant(CocoaPlant.CocoaPlantSize sz) { }
public CocoaPlant(CocoaPlant.CocoaPlantSize sz, BlockFace dir) { }
public CocoaPlant.CocoaPlantSize getSize() { return null; }
public void setSize(CocoaPlant.CocoaPlantSize sz) { }