Search in sources :

Example 1 with FlowerRenderInfo

use of binnie.botany.tile.FlowerRenderInfo in project Binnie by ForestryMC.

the class BlockFlower method onBlockPlacedBy.

@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
    super.onBlockPlacedBy(world, pos, state, placer, stack);
    IFlowerRoot flowerRoot = BotanyCore.getFlowerRoot();
    TileEntity flower = world.getTileEntity(pos);
    if (world.isRemote) {
        if (flower != null && flower instanceof TileEntityFlower) {
            IFlower f = flowerRoot.getMember(stack);
            if (f != null) {
                ((TileEntityFlower) flower).setRender(new FlowerRenderInfo(f, (TileEntityFlower) flower));
            }
        }
        return;
    }
    TileEntity below = world.getTileEntity(pos.down());
    if (flower != null && flower instanceof TileEntityFlower) {
        if (below instanceof TileEntityFlower) {
            ((TileEntityFlower) flower).setSection(((TileEntityFlower) below).getSection());
        } else {
            GameProfile owner = (placer instanceof EntityPlayer) ? ((EntityPlayer) placer).getGameProfile() : null;
            ((TileEntityFlower) flower).create(stack, owner);
        }
    }
    flowerRoot.tryGrowSection(world, pos);
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) FlowerRenderInfo(binnie.botany.tile.FlowerRenderInfo) IFlower(binnie.botany.api.genetics.IFlower) GameProfile(com.mojang.authlib.GameProfile) EntityPlayer(net.minecraft.entity.player.EntityPlayer) TileEntityFlower(binnie.botany.tile.TileEntityFlower) IFlowerRoot(binnie.botany.api.genetics.IFlowerRoot)

Aggregations

IFlower (binnie.botany.api.genetics.IFlower)1 IFlowerRoot (binnie.botany.api.genetics.IFlowerRoot)1 FlowerRenderInfo (binnie.botany.tile.FlowerRenderInfo)1 TileEntityFlower (binnie.botany.tile.TileEntityFlower)1 GameProfile (com.mojang.authlib.GameProfile)1 EntityPlayer (net.minecraft.entity.player.EntityPlayer)1 TileEntity (net.minecraft.tileentity.TileEntity)1