Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package net.minecraft.server;
2
3import java.util.Random;
4
5public class BlockCake extends Block {
6
7 protected BlockCake(int i, int j) {
8 super(i, j, Material.CAKE);
9 this.a(true);
10 }
11
12 public void a(IBlockAccess iblockaccess, int i, int j, int k) {
13 int l = iblockaccess.getData(i, j, k);
14 float f = 0.0625F;
15 float f1 = (float) (1 + l * 2) / 16.0F;
16 float f2 = 0.5F;
17
18 this.a(f1, 0.0F, f, 1.0F - f, f2, 1.0F - f);
19 }
20
21 public AxisAlignedBB e(World world, int i, int j, int k) {
22 int l = world.getData(i, j, k);
23 float f = 0.0625F;
24 float f1 = (float) (1 + l * 2) / 16.0F;
25 float f2 = 0.5F;
26
27 return AxisAlignedBB.b((double) ((float) i + f1), (double) j, (double) ((float) k + f), (double) ((float) (i + 1) - f), (double) ((float) j + f2 - f), (double) ((float) (k + 1) - f));
28 }
29
30 public int a(int i, int j) {
31 return i == 1 ? this.textureId : (i == 0 ? this.textureId + 3 : (j > 0 && i == 4 ? this.textureId + 2 : this.textureId + 1));
32 }
33
34 public int a(int i) {
35 return i == 1 ? this.textureId : (i == 0 ? this.textureId + 3 : this.textureId + 1);
36 }
37
38 public boolean b() {
39 return false;
40 }
41
42 public boolean a() {
43 return false;
44 }
45
46 public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman) {
47 this.c(world, i, j, k, entityhuman);
48 return true;
49 }
50
51 public void b(World world, int i, int j, int k, EntityHuman entityhuman) {
52 this.c(world, i, j, k, entityhuman);
53 }
54
55 private void c(World world, int i, int j, int k, EntityHuman entityhuman) {
56 if (entityhuman.health < 20) {
57 entityhuman.b(3);
58 int l = world.getData(i, j, k) + 1;
59
60 if (l >= 6) {
61 world.setTypeId(i, j, k, 0);
62 } else {
63 world.setData(i, j, k, l);
64 world.i(i, j, k);
65 }
66 }
67 }
68
69 public boolean canPlace(World world, int i, int j, int k) {
70 return !super.canPlace(world, i, j, k) ? false : this.f(world, i, j, k);
71 }
72
73 public void doPhysics(World world, int i, int j, int k, int l) {
74 if (!this.f(world, i, j, k)) {
75 this.g(world, i, j, k, world.getData(i, j, k));
76 world.setTypeId(i, j, k, 0);
77 }
78 }
79
80 public boolean f(World world, int i, int j, int k) {
81 return world.getMaterial(i, j - 1, k).isBuildable();
82 }
83
84 public int a(Random random) {
85 return 0;
86 }
87
88 public int a(int i, Random random) {
89 return 0;
90 }
91}