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 BlockRedstoneOre extends Block {
6
7 private boolean a;
8
9 public BlockRedstoneOre(int i, int j, boolean flag) {
10 super(i, j, Material.STONE);
11 if (flag) {
12 this.a(true);
13 }
14
15 this.a = flag;
16 }
17
18 public int c() {
19 return 30;
20 }
21
22 public void b(World world, int i, int j, int k, EntityHuman entityhuman) {
23 this.g(world, i, j, k);
24 super.b(world, i, j, k, entityhuman);
25 }
26
27 public void b(World world, int i, int j, int k, Entity entity) {
28 this.g(world, i, j, k);
29 super.b(world, i, j, k, entity);
30 }
31
32 public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman) {
33 this.g(world, i, j, k);
34 return super.interact(world, i, j, k, entityhuman);
35 }
36
37 private void g(World world, int i, int j, int k) {
38 this.h(world, i, j, k);
39 if (this.id == Block.REDSTONE_ORE.id) {
40 world.setTypeId(i, j, k, Block.GLOWING_REDSTONE_ORE.id);
41 }
42 }
43
44 public void a(World world, int i, int j, int k, Random random) {
45 if (this.id == Block.GLOWING_REDSTONE_ORE.id) {
46 world.setTypeId(i, j, k, Block.REDSTONE_ORE.id);
47 }
48 }
49
50 public int a(int i, Random random) {
51 return Item.REDSTONE.id;
52 }
53
54 public int a(Random random) {
55 return 4 + random.nextInt(2);
56 }
57
58 private void h(World world, int i, int j, int k) {
59 Random random = world.random;
60 double d0 = 0.0625D;
61
62 for (int l = 0; l < 6; ++l) {
63 double d1 = (double) ((float) i + random.nextFloat());
64 double d2 = (double) ((float) j + random.nextFloat());
65 double d3 = (double) ((float) k + random.nextFloat());
66
67 if (l == 0 && !world.p(i, j + 1, k)) {
68 d2 = (double) (j + 1) + d0;
69 }
70
71 if (l == 1 && !world.p(i, j - 1, k)) {
72 d2 = (double) (j + 0) - d0;
73 }
74
75 if (l == 2 && !world.p(i, j, k + 1)) {
76 d3 = (double) (k + 1) + d0;
77 }
78
79 if (l == 3 && !world.p(i, j, k - 1)) {
80 d3 = (double) (k + 0) - d0;
81 }
82
83 if (l == 4 && !world.p(i + 1, j, k)) {
84 d1 = (double) (i + 1) + d0;
85 }
86
87 if (l == 5 && !world.p(i - 1, j, k)) {
88 d1 = (double) (i + 0) - d0;
89 }
90
91 if (d1 < (double) i || d1 > (double) (i + 1) || d2 < 0.0D || d2 > (double) (j + 1) || d3 < (double) k || d3 > (double) (k + 1)) {
92 world.a("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D);
93 }
94 }
95 }
96}