mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-11 18:22:08 -07:00
Update to Minecraft Server 1.2
This commit is contained in:
184
src/main/java/net/minecraft/server/ItemStack.java
Normal file
184
src/main/java/net/minecraft/server/ItemStack.java
Normal file
@@ -0,0 +1,184 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
public final class ItemStack {
|
||||
|
||||
public int a;
|
||||
public int b;
|
||||
public int c;
|
||||
public int d; // Craftbukkit - make public
|
||||
|
||||
public ItemStack(Block block) {
|
||||
this(block, 1);
|
||||
}
|
||||
|
||||
public ItemStack(Block block, int k) {
|
||||
this(block.bi, k, 0);
|
||||
}
|
||||
|
||||
public ItemStack(Block block, int k, int l) {
|
||||
this(block.bi, k, l);
|
||||
}
|
||||
|
||||
public ItemStack(Item item) {
|
||||
this(item.ba, 1, 0);
|
||||
}
|
||||
|
||||
public ItemStack(Item item, int k) {
|
||||
this(item.ba, k, 0);
|
||||
}
|
||||
|
||||
public ItemStack(Item item, int k, int l) {
|
||||
this(item.ba, k, l);
|
||||
}
|
||||
|
||||
public ItemStack(int k, int l, int i1) {
|
||||
a = 0;
|
||||
c = k;
|
||||
a = l;
|
||||
d = i1;
|
||||
}
|
||||
|
||||
public ItemStack(NBTTagCompound nbttagcompound) {
|
||||
a = 0;
|
||||
b(nbttagcompound);
|
||||
}
|
||||
|
||||
public ItemStack a(int k) {
|
||||
a -= k;
|
||||
return new ItemStack(c, k, d);
|
||||
}
|
||||
|
||||
public Item a() {
|
||||
return Item.c[c];
|
||||
}
|
||||
|
||||
public boolean a(EntityPlayer entityplayer, World world, int k, int l, int i1, int j1) {
|
||||
return a().a(this, entityplayer, world, k, l, i1, j1);
|
||||
}
|
||||
|
||||
public float a(Block block) {
|
||||
return a().a(this, block);
|
||||
}
|
||||
|
||||
public ItemStack a(World world, EntityPlayer entityplayer) {
|
||||
return a().a(this, world, entityplayer);
|
||||
}
|
||||
|
||||
public NBTTagCompound a(NBTTagCompound nbttagcompound) {
|
||||
nbttagcompound.a("id", (short) c);
|
||||
nbttagcompound.a("Count", (byte) a);
|
||||
nbttagcompound.a("Damage", (short) d);
|
||||
return nbttagcompound;
|
||||
}
|
||||
|
||||
public void b(NBTTagCompound nbttagcompound) {
|
||||
c = ((int) (nbttagcompound.c("id")));
|
||||
a = ((int) (nbttagcompound.b("Count")));
|
||||
d = ((int) (nbttagcompound.c("Damage")));
|
||||
}
|
||||
|
||||
public int b() {
|
||||
return a().b();
|
||||
}
|
||||
|
||||
public boolean c() {
|
||||
return b() > 1 && (!d() || !f());
|
||||
}
|
||||
|
||||
public boolean d() {
|
||||
return Item.c[c].d() > 0;
|
||||
}
|
||||
|
||||
public boolean e() {
|
||||
return Item.c[c].c();
|
||||
}
|
||||
|
||||
public boolean f() {
|
||||
return d() && d > 0;
|
||||
}
|
||||
|
||||
public int g() {
|
||||
return d;
|
||||
}
|
||||
|
||||
public int h() {
|
||||
return d;
|
||||
}
|
||||
|
||||
public int i() {
|
||||
return Item.c[c].d();
|
||||
}
|
||||
|
||||
public void b(int k) {
|
||||
if (!d()) {
|
||||
return;
|
||||
}
|
||||
d += k;
|
||||
if (d > i()) {
|
||||
a--;
|
||||
if (a < 0) {
|
||||
a = 0;
|
||||
}
|
||||
d = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void a(EntityLiving entityliving) {
|
||||
Item.c[c].a(this, entityliving);
|
||||
}
|
||||
|
||||
public void a(int k, int l, int i1, int j1) {
|
||||
Item.c[c].a(this, k, l, i1, j1);
|
||||
}
|
||||
|
||||
public int a(Entity entity) {
|
||||
return Item.c[c].a(entity);
|
||||
}
|
||||
|
||||
public boolean b(Block block) {
|
||||
return Item.c[c].a(block);
|
||||
}
|
||||
|
||||
public void a(EntityPlayer entityplayer) {}
|
||||
|
||||
public void b(EntityLiving entityliving) {
|
||||
Item.c[c].b(this, entityliving);
|
||||
}
|
||||
|
||||
public ItemStack j() {
|
||||
return new ItemStack(c, a, d);
|
||||
}
|
||||
|
||||
public static boolean a(ItemStack itemstack, ItemStack itemstack1) {
|
||||
if (itemstack == null && itemstack1 == null) {
|
||||
return true;
|
||||
}
|
||||
if (itemstack == null || itemstack1 == null) {
|
||||
return false;
|
||||
} else {
|
||||
return itemstack.c(itemstack1);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean c(ItemStack itemstack) {
|
||||
if (a != itemstack.a) {
|
||||
return false;
|
||||
}
|
||||
if (c != itemstack.c) {
|
||||
return false;
|
||||
}
|
||||
return d == itemstack.d;
|
||||
}
|
||||
|
||||
public boolean a(ItemStack itemstack) {
|
||||
return c == itemstack.c && d == itemstack.d;
|
||||
}
|
||||
|
||||
public static ItemStack b(ItemStack itemstack) {
|
||||
return itemstack != null ? itemstack.j() : null;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append(a).append("x").append(Item.c[c].a()).append("@").append(d).toString();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user