Search in sources :

Example 1 with TileEntitySeedStorage

use of com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage in project AgriCraft by AgriCraft.

the class BlockSeedStorage method getActualState.

@Override
@SuppressWarnings("deprecation")
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
    Optional<TileEntitySeedStorage> tile = WorldHelper.getTile(worldIn, pos, TileEntitySeedStorage.class);
    if (tile.isPresent()) {
        TileEntitySeedStorage storage = tile.get();
        state = AgriProperties.FACING.applyToBlockState(state, storage.getOrientation());
    }
    return state;
}
Also used : TileEntitySeedStorage(com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage)

Example 2 with TileEntitySeedStorage

use of com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage in project AgriCraft by AgriCraft.

the class MessageTileEntitySeedStorage method processMessage.

@Override
protected void processMessage(MessageContext ctx) {
    TileEntity te = FMLClientHandler.instance().getClient().world.getTileEntity(this.pos);
    if (te instanceof TileEntitySeedStorage) {
        TileEntitySeedStorage storage = (TileEntitySeedStorage) te;
        ItemStack stack = storage.getLockedSeed().map(s -> s.toStack()).orElse(null);
        if (stack != null) {
            stack.setCount(this.amount);
            NBTTagCompound tag = new NBTTagCompound();
            stats.writeToNBT(tag);
            stack.setTagCompound(tag);
            storage.setSlotContents(this.slotId, stack);
        }
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) IMessageReader(com.infinityraider.infinitylib.network.serialization.IMessageReader) AgriApi(com.infinityraider.agricraft.api.v1.AgriApi) IMessage(net.minecraftforge.fml.common.network.simpleimpl.IMessage) MessageBase(com.infinityraider.infinitylib.network.MessageBase) SeedStorageSlot(com.infinityraider.agricraft.tiles.storage.SeedStorageSlot) IMessageSerializer(com.infinityraider.infinitylib.network.serialization.IMessageSerializer) BlockPos(net.minecraft.util.math.BlockPos) ItemStack(net.minecraft.item.ItemStack) List(java.util.List) ImmutableList(com.google.common.collect.ImmutableList) IMessageWriter(com.infinityraider.infinitylib.network.serialization.IMessageWriter) MessageContext(net.minecraftforge.fml.common.network.simpleimpl.MessageContext) FMLClientHandler(net.minecraftforge.fml.client.FMLClientHandler) Side(net.minecraftforge.fml.relauncher.Side) ByteBufUtil(com.infinityraider.infinitylib.network.serialization.ByteBufUtil) TileEntity(net.minecraft.tileentity.TileEntity) TileEntitySeedStorage(com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage) IAgriStat(com.infinityraider.agricraft.api.v1.stat.IAgriStat) TileEntitySeedStorage(com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ItemStack(net.minecraft.item.ItemStack)

Aggregations

TileEntitySeedStorage (com.infinityraider.agricraft.tiles.storage.TileEntitySeedStorage)2 ImmutableList (com.google.common.collect.ImmutableList)1 AgriApi (com.infinityraider.agricraft.api.v1.AgriApi)1 IAgriStat (com.infinityraider.agricraft.api.v1.stat.IAgriStat)1 SeedStorageSlot (com.infinityraider.agricraft.tiles.storage.SeedStorageSlot)1 MessageBase (com.infinityraider.infinitylib.network.MessageBase)1 ByteBufUtil (com.infinityraider.infinitylib.network.serialization.ByteBufUtil)1 IMessageReader (com.infinityraider.infinitylib.network.serialization.IMessageReader)1 IMessageSerializer (com.infinityraider.infinitylib.network.serialization.IMessageSerializer)1 IMessageWriter (com.infinityraider.infinitylib.network.serialization.IMessageWriter)1 List (java.util.List)1 ItemStack (net.minecraft.item.ItemStack)1 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)1 TileEntity (net.minecraft.tileentity.TileEntity)1 BlockPos (net.minecraft.util.math.BlockPos)1 FMLClientHandler (net.minecraftforge.fml.client.FMLClientHandler)1 IMessage (net.minecraftforge.fml.common.network.simpleimpl.IMessage)1 MessageContext (net.minecraftforge.fml.common.network.simpleimpl.MessageContext)1 Side (net.minecraftforge.fml.relauncher.Side)1