diff options
author | Celtic Minstrel <celtic.minstrel.ca@> | 2011-04-15 22:11:13 -0400 |
---|---|---|
committer | EvilSeph <evilseph@unaligned.org> | 2011-05-01 23:40:48 -0400 |
commit | 5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7 (patch) | |
tree | 5c01022ac2f21947669a4ef02e3213f491ce2963 /src/main/java/net/minecraft/server/ContainerPlayer.java | |
parent | 017b15c3a62a2cf066f2ec061da0de582bc5c596 (diff) | |
download | craftbukkit-5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7.tar craftbukkit-5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7.tar.gz craftbukkit-5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7.tar.lz craftbukkit-5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7.tar.xz craftbukkit-5a5ce79035f7ed3d77974c4eb8bc94b2ffae54e7.zip |
Implemented addRecipe method in CraftServer and associated recipe classes.
Diffstat (limited to 'src/main/java/net/minecraft/server/ContainerPlayer.java')
-rw-r--r-- | src/main/java/net/minecraft/server/ContainerPlayer.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/ContainerPlayer.java b/src/main/java/net/minecraft/server/ContainerPlayer.java new file mode 100644 index 00000000..1b835087 --- /dev/null +++ b/src/main/java/net/minecraft/server/ContainerPlayer.java @@ -0,0 +1,77 @@ +package net.minecraft.server; + +// CraftBukkit +import java.util.ArrayList; + +public class ContainerPlayer extends Container { + + public InventoryCrafting a; + public IInventory b; + public boolean c; + + public ContainerPlayer(InventoryPlayer inventoryplayer) { + this(inventoryplayer, true); + } + + public ContainerPlayer(InventoryPlayer inventoryplayer, boolean flag) { + this.a = new InventoryCrafting(this, 2, 2); + this.b = new InventoryCraftResult(); + this.c = false; + this.c = flag; + this.a((Slot) (new SlotResult(inventoryplayer.d, this.a, this.b, 0, 144, 36))); + + int i; + int j; + + for (i = 0; i < 2; ++i) { + for (j = 0; j < 2; ++j) { + this.a(new Slot(this.a, j + i * 2, 88 + j * 18, 26 + i * 18)); + } + } + + for (i = 0; i < 4; ++i) { + this.a((Slot) (new SlotArmor(this, inventoryplayer, inventoryplayer.getSize() - 1 - i, 8, 8 + i * 18, i))); + } + + for (i = 0; i < 3; ++i) { + for (j = 0; j < 9; ++j) { + this.a(new Slot(inventoryplayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18)); + } + } + + for (i = 0; i < 9; ++i) { + this.a(new Slot(inventoryplayer, i, 8 + i * 18, 142)); + } + + this.a((IInventory) this.a); + } + + public void a(IInventory iinventory) { + // CraftBukkit start + ItemStack craftResult = CraftingManager.a().a(this.a); + this.b.setItem(0, craftResult); + if (super.g.size() < 1) { + return; + } + EntityPlayer player = (EntityPlayer) super.g.get(0); // TODO: Is this _always_ correct? Seems like it. + player.netServerHandler.sendPacket((Packet) (new Packet103SetSlot(player.activeContainer.f, 0, craftResult))); + // CraftBukkit end + } + + public void a(EntityHuman entityhuman) { + super.a(entityhuman); + + for (int i = 0; i < 4; ++i) { + ItemStack itemstack = this.a.getItem(i); + + if (itemstack != null) { + entityhuman.b(itemstack); + this.a.setItem(i, (ItemStack) null); + } + } + } + + public boolean b(EntityHuman entityhuman) { + return true; + } +} |