summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ItemInWorldManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemInWorldManager.java')
-rw-r--r--src/main/java/net/minecraft/server/ItemInWorldManager.java154
1 files changed, 75 insertions, 79 deletions
diff --git a/src/main/java/net/minecraft/server/ItemInWorldManager.java b/src/main/java/net/minecraft/server/ItemInWorldManager.java
index 701c6c27..f89b0189 100644
--- a/src/main/java/net/minecraft/server/ItemInWorldManager.java
+++ b/src/main/java/net/minecraft/server/ItemInWorldManager.java
@@ -3,125 +3,121 @@ package net.minecraft.server;
public class ItemInWorldManager {
private World b;
- public EntityPlayer a;
+ public EntityHuman a;
private float c;
- public float d; // CraftBukkit private -> public
- private int e;
- private float f;
+ public float d = 0.0F; // CraftBukkit private -> public
+ private int e = 0;
+ private float f = 0.0F;
private int g;
private int h;
private int i;
public ItemInWorldManager(World world) {
- d = 0.0F;
- e = 0;
- f = 0.0F;
- b = world;
+ this.b = world;
}
- public void a(int j, int k, int l) {
- int i1 = b.a(j, k, l);
+ public void a(int i, int j, int k) {
+ int l = this.b.getTypeId(i, j, k);
- if (i1 > 0 && d == 0.0F) {
- Block.m[i1].b(b, j, k, l, a);
+ if (l > 0 && this.d == 0.0F) {
+ Block.byId[l].b(this.b, i, j, k, this.a);
}
- if (i1 > 0 && Block.m[i1].a(a) >= 1.0F) {
- c(j, k, l);
+
+ if (l > 0 && Block.byId[l].a(this.a) >= 1.0F) {
+ this.c(i, j, k);
}
}
public void a() {
- d = 0.0F;
- e = 0;
+ this.d = 0.0F;
+ this.e = 0;
}
- public void a(int j, int k, int l, int i1) {
- if (e > 0) {
- e--;
- return;
- }
- if (j == g && k == h && l == i) {
- int j1 = b.a(j, k, l);
-
- if (j1 == 0) {
- return;
- }
- Block block = Block.m[j1];
-
- d += block.a(a);
- f++;
- if (d >= 1.0F) {
- c(j, k, l);
- d = 0.0F;
- c = 0.0F;
- f = 0.0F;
- e = 5;
- }
+ public void a(int i, int j, int k, int l) {
+ if (this.e > 0) {
+ --this.e;
} else {
- d = 0.0F;
- c = 0.0F;
- f = 0.0F;
- g = j;
- h = k;
- i = l;
+ if (i == this.g && j == this.h && k == this.i) {
+ int i1 = this.b.getTypeId(i, j, k);
+
+ if (i1 == 0) {
+ return;
+ }
+
+ Block block = Block.byId[i1];
+
+ this.d += block.a(this.a);
+ ++this.f;
+ if (this.d >= 1.0F) {
+ this.c(i, j, k);
+ this.d = 0.0F;
+ this.c = 0.0F;
+ this.f = 0.0F;
+ this.e = 5;
+ }
+ } else {
+ this.d = 0.0F;
+ this.c = 0.0F;
+ this.f = 0.0F;
+ this.g = i;
+ this.h = j;
+ this.i = k;
+ }
}
}
- public boolean b(int j, int k, int l) {
- Block block = Block.m[b.a(j, k, l)];
- int i1 = b.b(j, k, l);
- boolean flag = b.e(j, k, l, 0);
+ public boolean b(int i, int j, int k) {
+ Block block = Block.byId[this.b.getTypeId(i, j, k)];
+ int l = this.b.getData(i, j, k);
+ boolean flag = this.b.e(i, j, k, 0);
if (block != null && flag) {
- block.a(b, j, k, l, i1);
+ block.a(this.b, i, j, k, l);
}
+
return flag;
}
- public boolean c(int j, int k, int l) {
- int i1 = b.a(j, k, l);
- int j1 = b.b(j, k, l);
- boolean flag = b(j, k, l);
- ItemStack itemstack = a.P();
+ public boolean c(int i, int j, int k) {
+ int l = this.b.getTypeId(i, j, k);
+ int i1 = this.b.getData(i, j, k);
+ boolean flag = this.b(i, j, k);
+ ItemStack itemstack = this.a.P();
if (itemstack != null) {
- itemstack.a(i1, j, k, l);
- if (itemstack.a == 0) {
- itemstack.a(a);
- a.Q();
+ itemstack.a(l, i, j, k);
+ if (itemstack.count == 0) {
+ itemstack.a(this.a);
+ this.a.Q();
}
}
- if (flag && a.b(Block.m[i1])) {
- Block.m[i1].g(b, j, k, l, j1);
+
+ if (flag && this.a.b(Block.byId[l])) {
+ Block.byId[l].g(this.b, i, j, k, i1);
}
+
return flag;
}
- public boolean a(EntityPlayer entityplayer, World world, ItemStack itemstack) {
- int j = itemstack.a;
- ItemStack itemstack1 = itemstack.a(world, entityplayer);
+ public boolean a(EntityHuman entityhuman, World world, ItemStack itemstack) {
+ int i = itemstack.count;
+ ItemStack itemstack1 = itemstack.a(world, entityhuman);
- if (itemstack1 != itemstack || itemstack1 != null && itemstack1.a != j) {
- entityplayer.an.a[entityplayer.an.c] = itemstack1;
- if (itemstack1.a == 0) {
- entityplayer.an.a[entityplayer.an.c] = null;
+ if (itemstack1 == itemstack && (itemstack1 == null || itemstack1.count == i)) {
+ return false;
+ } else {
+ entityhuman.inventory.a[entityhuman.inventory.c] = itemstack1;
+ if (itemstack1.count == 0) {
+ entityhuman.inventory.a[entityhuman.inventory.c] = null;
}
+
return true;
- } else {
- return false;
}
}
- public boolean a(EntityPlayer entityplayer, World world, ItemStack itemstack, int j, int k, int l, int i1) {
- int j1 = world.a(j, k, l);
+ public boolean a(EntityHuman entityhuman, World world, ItemStack itemstack, int i, int j, int k, int l) {
+ int i1 = world.getTypeId(i, j, k);
- if (j1 > 0 && Block.m[j1].a(world, j, k, l, entityplayer)) {
- return true;
- }
- if (itemstack == null) {
- return false;
- } else {
- return itemstack.a(entityplayer, world, j, k, l, i1);
- }
+ return i1 > 0 && Block.byId[i1].a(world, i, j, k, entityhuman) ? true : (itemstack == null ? false : itemstack.a(entityhuman, world, i, j, k, l));
}
}