-
Notifications
You must be signed in to change notification settings - Fork 208
/
EntityMinecartHopper.java
124 lines (96 loc) · 2.54 KB
/
EntityMinecartHopper.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package net.minecraft.server;
import java.util.List;
public class EntityMinecartHopper extends EntityMinecartContainer implements IHopper {
private boolean a = true;
private int b = -1;
public EntityMinecartHopper(World world) {
super(world);
}
public EntityMinecartHopper(World world, double d0, double d1, double d2) {
super(world, d0, d1, d2);
}
public int getType() {
return 5;
}
public Block n() {
return Block.HOPPER;
}
public int r() {
return 1;
}
public int getSize() {
return 5;
}
public boolean a_(EntityHuman entityhuman) {
if (!this.world.isStatic) {
entityhuman.openMinecartHopper(this);
}
return true;
}
public void a(int i, int j, int k, boolean flag) {
boolean flag1 = !flag;
if (flag1 != this.ay()) {
this.f(flag1);
}
}
public boolean ay() {
return this.a;
}
public void f(boolean flag) {
this.a = flag;
}
public World getWorld() {
return this.world;
}
public double aA() {
return this.locX;
}
public double aB() {
return this.locY;
}
public double aC() {
return this.locZ;
}
public void l_() {
super.l_();
if (!this.world.isStatic && this.isAlive() && this.ay()) {
--this.b;
if (!this.aE()) {
this.n(0);
if (this.aD()) {
this.n(4);
this.update();
}
}
}
}
public boolean aD() {
if (TileEntityHopper.suckInItems(this)) {
return true;
} else {
List list = this.world.a(EntityItem.class, this.boundingBox.grow(0.25D, 0.0D, 0.25D), IEntitySelector.a);
if (list.size() > 0) {
TileEntityHopper.addEntityItem(this, (EntityItem) list.get(0));
}
return false;
}
}
public void a(DamageSource damagesource) {
super.a(damagesource);
this.a(Block.HOPPER.id, 1, 0.0F);
}
protected void b(NBTTagCompound nbttagcompound) {
super.b(nbttagcompound);
nbttagcompound.setInt("TransferCooldown", this.b);
}
protected void a(NBTTagCompound nbttagcompound) {
super.a(nbttagcompound);
this.b = nbttagcompound.getInt("TransferCooldown");
}
public void n(int i) {
this.b = i;
}
public boolean aE() {
return this.b > 0;
}
}