public CocoaPlant(CocoaPlantSize sz) { this(); setSize(sz); }
public CocoaPlant(CocoaPlantSize sz, BlockFace dir) { this(); setSize(sz); setFacingDirection(dir); }
@Override public void updateBlock(GlowBlock block) { MaterialData data = block.getState().getData(); if (data instanceof CocoaPlant) { CocoaPlant cocoa = (CocoaPlant) data; CocoaPlantSize size = cocoa.getSize(); if (size != CocoaPlantSize.LARGE && ThreadLocalRandom.current().nextInt(5) == 0) { if (size == CocoaPlantSize.SMALL) { cocoa.setSize(CocoaPlantSize.MEDIUM); } else if (size == CocoaPlantSize.MEDIUM) { cocoa.setSize(CocoaPlantSize.LARGE); } else { return; } GlowBlockState state = block.getState(); state.setData(cocoa); BlockGrowEvent growEvent = new BlockGrowEvent(block, state); EventFactory.getInstance().callEvent(growEvent); if (!growEvent.isCancelled()) { state.update(true); } } } else { warnMaterialData(CocoaPlant.class, data); } } }
@Override public void placeBlock(GlowPlayer player, GlowBlockState state, BlockFace face, ItemStack holding, Vector clickedLoc) { state.setType(getMaterial()); MaterialData data = state.getData(); if (data instanceof CocoaPlant) { CocoaPlant cocoa = (CocoaPlant) data; cocoa.setFacingDirection(face.getOppositeFace()); cocoa.setSize(CocoaPlantSize.SMALL); } else { warnMaterialData(CocoaPlant.class, data); } }
@Override public void grow(GlowPlayer player, GlowBlock block) { MaterialData data = block.getState().getData(); if (data instanceof CocoaPlant) { CocoaPlant cocoa = (CocoaPlant) data; CocoaPlantSize size = cocoa.getSize(); if (size == CocoaPlantSize.SMALL) { cocoa.setSize(CocoaPlantSize.MEDIUM); } else if (size == CocoaPlantSize.MEDIUM) { cocoa.setSize(CocoaPlantSize.LARGE); } else { return; } GlowBlockState state = block.getState(); state.setData(cocoa); BlockGrowEvent growEvent = new BlockGrowEvent(block, state); EventFactory.getInstance().callEvent(growEvent); if (!growEvent.isCancelled()) { state.update(true); } } else { warnMaterialData(CocoaPlant.class, data); } }
public CocoaPlant(CocoaPlantSize sz) { this(); setSize(sz); }
public CocoaPlant(CocoaPlantSize sz, BlockFace dir) { this(); setSize(sz); setFacingDirection(dir); }