Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ContainerTileEntityPurifier extends Container {
- private TileEntityPurifier te;
- private int progress;
- private int currentProgress;
- private int storedPower;
- public ContainerTileEntityPurifier(IInventory playerInv, TileEntityPurifier te) {
- this.te = te;
- // Tile Entity, Slot 1, Slot ID 1
- this.addSlotToContainer(new SlotPurifierSand(te.getInventory(), 0, 58, 40));
- this.addSlotToContainer(new SlotPurifierOutput(te.getInventory(), 1, 102, 40));
- // Player Inventory, Slot 9-35, Slot IDs 9-35
- for (int y = 0; y < 3; ++y) {
- for (int x = 0; x < 9; ++x) {
- this.addSlotToContainer(new Slot(playerInv, x + y * 9 + 9, 8 + x * 18, 84 + y * 18));
- }
- }
- // Player Inventory, Slot 0-8, Slot IDs 36-44
- for (int x = 0; x < 9; ++x) {
- this.addSlotToContainer(new Slot(playerInv, x, 8 + x * 18, 142));
- }
- }
- /**
- * Looks for changes made in the container, sends them to every listener.
- */
- @Override
- public void detectAndSendChanges() {
- super.detectAndSendChanges();
- for(IContainerListener listener : listeners) {
- if (progress != te.getField(0)) {
- if (listener instanceof EntityPlayerMP) {
- ModPacketHandler.INSTANCE.sendTo(new PurifierMessage(progress, currentProgress, storedPower, this.windowId), (EntityPlayerMP) listener);
- }
- }
- if (currentProgress != te.getField(1)) {
- if (listener instanceof EntityPlayerMP) {
- ModPacketHandler.INSTANCE.sendTo(new PurifierMessage(progress, currentProgress, storedPower, this.windowId), (EntityPlayerMP) listener);
- }
- }
- if (storedPower != te.getField(2)) {
- if (listener instanceof EntityPlayerMP) {
- int change = te.getField(2) - storedPower;
- ModPacketHandler.INSTANCE.sendTo(new PurifierMessage(progress, currentProgress, change, this.windowId), (EntityPlayerMP) listener);
- }
- }
- }
- this.progress = this.te.getField(0);
- this.currentProgress = this.te.getField(1);
- this.storedPower = this.te.getField(2);
- }
- @SideOnly(Side.CLIENT)
- @Override
- public void updateProgressBar(int id, int data) {
- this.te.setField(id, data);
- }
- @Override
- public boolean canInteractWith(EntityPlayer playerIn) {
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement