use of com.ferreusveritas.dynamictrees.blocks.BlockBonsaiPot in project Bewitchment by Um-Mitternacht.
the class ItemFoodSeed method onItemUseFlowerPot.
@Optional.Method(modid = "dynamictrees")
public EnumActionResult onItemUseFlowerPot(EntityPlayer player, World world, BlockPos pos, EnumHand hand, ItemStack seedStack, EnumFacing facing, float hitX, float hitY, float hitZ) {
IBlockState emptyPotState = world.getBlockState(pos);
if (emptyPotState.getBlock() instanceof BlockFlowerPot && emptyPotState == emptyPotState.getBlock().getDefaultState()) {
Species species = getSpecies();
if (species != null) {
BlockBonsaiPot bonzaiPot = species.getBonzaiPot();
world.setBlockState(pos, bonzaiPot.getDefaultState());
if (bonzaiPot.setSpecies(world, species, pos) && bonzaiPot.setPotState(world, emptyPotState, pos)) {
seedStack.shrink(1);
return EnumActionResult.SUCCESS;
}
}
}
return EnumActionResult.PASS;
}
use of com.ferreusveritas.dynamictrees.blocks.BlockBonsaiPot in project DynamicTrees by DynamicTreesTeam.
the class Seed method onItemUseFlowerPot.
public EnumActionResult onItemUseFlowerPot(EntityPlayer player, World world, BlockPos pos, EnumHand hand, ItemStack seedStack, EnumFacing facing, float hitX, float hitY, float hitZ) {
// Handle Flower Pot interaction
IBlockState emptyPotState = world.getBlockState(pos);
if (emptyPotState.getBlock() instanceof BlockFlowerPot && (emptyPotState == emptyPotState.getBlock().getDefaultState())) {
// Empty Flower Pot of some kind
Species species = getSpecies(seedStack);
BlockBonsaiPot bonzaiPot = species.getBonzaiPot();
world.setBlockState(pos, bonzaiPot.getDefaultState());
if (bonzaiPot.setSpecies(world, species, pos) && bonzaiPot.setPotState(world, emptyPotState, pos)) {
seedStack.shrink(1);
return EnumActionResult.SUCCESS;
}
}
return EnumActionResult.PASS;
}
use of com.ferreusveritas.dynamictrees.blocks.BlockBonsaiPot in project DynamicTrees by DynamicTreesTeam.
the class BakedModelBlockBonsaiPot method getQuads.
@Override
public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand) {
List<BakedQuad> quads = new ArrayList<BakedQuad>();
if (side != null) {
return quads;
}
Species species = Species.NULLSPECIES;
IBlockState potState = null;
if (state != null && state.getBlock() instanceof BlockBonsaiPot && state instanceof IExtendedBlockState) {
species = ((IExtendedBlockState) state).getValue(SpeciesProperty.SPECIES);
potState = ((IExtendedBlockState) state).getValue(BlockBonsaiPot.POT);
}
if (species == null || species == Species.NULLSPECIES || !(potState.getBlock() instanceof BlockFlowerPot)) {
return quads;
}
BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
IBakedModel potModel = dispatcher.getModelForState(potState);
IBakedModel saplingModel = BakedModelSapling.getModelForSapling(species);
quads.addAll(potModel.getQuads(potState, side, rand));
quads.addAll(cachedSaplingQuads.computeIfAbsent(species, s -> QuadManipulator.getQuads(saplingModel, ModBlocks.blockDynamicSapling.getDefaultState(), new Vec3d(0, 0.25, 0), rand)));
return quads;
}
Aggregations