package choonster.testmod3.tileentity; import choonster.testmod3.capability.lock.Lock; import choonster.testmod3.inventory.itemhandler.ItemHandlerLoot; import choonster.testmod3.util.IWorldContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.text.Style; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; import net.minecraft.world.storage.loot.LootTable; /** * A {@link TileEntity} with a single {@link ItemHandlerLoot} inventory that generates its contents from a {@link LootTable} the first time it's accessed. * <p> * Locked with a {@link Lock}. * * @author Choonster */ public abstract class TileEntityItemHandlerLoot extends TileEntityItemHandlerLockable<ItemHandlerLoot, Lock> implements IWorldContainer { @Override public void openGUI(World world, EntityPlayer player) { if (inventory.getLootTable() != null && player.isSpectator()) { player.sendMessage(new TextComponentTranslation("container.spectatorCantOpen").setStyle(new Style().setColor(TextFormatting.RED))); } else { super.openGUI(world, player); } } @Override public World getContainedWorld() { return getWorld(); } }