Advertisement
Guest User

Untitled

a guest
Mar 25th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package com.aiko.cenamicolmod.container;
  2.  
  3. import com.aiko.cenamicolmod.te.TileEntityAnvil;
  4. import net.minecraft.entity.player.EntityPlayer;
  5. import net.minecraft.entity.player.InventoryPlayer;
  6. import net.minecraft.init.Blocks;
  7. import net.minecraft.init.Items;
  8. import net.minecraft.inventory.Container;
  9. import net.minecraft.inventory.IContainerListener;
  10. import net.minecraft.inventory.Slot;
  11. import net.minecraft.item.Item;
  12. import net.minecraft.item.ItemStack;
  13. import net.minecraftforge.fml.relauncher.Side;
  14. import net.minecraftforge.fml.relauncher.SideOnly;
  15.  
  16. public class AnvilContainer extends Container {
  17.  
  18.     private TileEntityAnvil tile;
  19.     private int timePassed = 0;
  20.     private int burnTimeLeft = 0;
  21.  
  22.     public AnvilContainer(TileEntityAnvil tile, InventoryPlayer playerInventory) {
  23.         this.tile = tile;
  24.  
  25.         int i;
  26.         for(i = 0; i < 2; i++) {
  27.             this.addSlotToContainer(new Slot(tile, i, 33 + i * 18, 7));
  28.         }
  29.         for(i = 0; i < 2; i++) {
  30.             this.addSlotToContainer(new SlotSingleItem(tile, i + 2, 42, 40 + i * 18, i == 0 ? Item.getItemFromBlock(Blocks.PLANKS) : Items.WHEAT));
  31.         }
  32.         this.addSlotToContainer(new SlotOutput(tile, 4, 116, 17));
  33.  
  34.         for(i = 0; i < 3; ++i) {
  35.             for(int j = 0; j < 9; ++j) {
  36.                 this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
  37.             }
  38.         }
  39.  
  40.         for(i = 0; i < 9; ++i) {
  41.             this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142));
  42.         }
  43.     }
  44.  
  45.     @Override
  46.     public boolean canInteractWith(EntityPlayer player) {
  47.         return tile.isUsableByPlayer(player);
  48.     }
  49.  
  50.     @Override
  51.     public void addListener(IContainerListener listener) {
  52.         super.addListener(listener);
  53.         listener.sendAllWindowProperties(this, this.tile);
  54.     }
  55.  
  56.     @Override
  57.     public void detectAndSendChanges() {
  58.         super.detectAndSendChanges();
  59.  
  60.         for(int i = 0; i < this.listeners.size(); ++i) {
  61.             IContainerListener icontainerlistener = (IContainerListener) this.listeners
  62.                     .get(i);
  63.  
  64.             if (this.burnTimeLeft != this.tile.getField(0)) {
  65.                 icontainerlistener.sendWindowProperty(this, 0,
  66.                         this.tile.getField(0));
  67.             }
  68.  
  69.             if (this.timePassed != this.tile.getField(1)) {
  70.                 icontainerlistener.sendWindowProperty(this, 1,
  71.                         this.tile.getField(1));
  72.             }
  73.         }
  74.  
  75.         this.burnTimeLeft = this.tile.getField(0);
  76.         this.timePassed = this.tile.getField(1);
  77.     }
  78.  
  79.     @Override
  80.     @SideOnly(Side.CLIENT)
  81.     public void updateProgressBar(int id, int data) {
  82.         this.tile.setField(id, data);
  83.     }
  84.  
  85.     @Override
  86.     public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) {
  87.         return ItemStack.EMPTY;
  88.     }
  89.  
  90.  
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement