Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package net.minecraft.server;
2
3// CraftBukkit start
4
5import org.bukkit.craftbukkit.block.CraftBlockState;
6import org.bukkit.craftbukkit.event.CraftEventFactory;
7import org.bukkit.event.block.BlockPlaceEvent;
8// CraftBukkit end
9
10import uk.betacraft.uberbukkit.UberbukkitConfig;
11
12public class ItemSeeds extends Item {
13
14 private int id;
15
16 public ItemSeeds(int i, int j) {
17 super(i);
18 this.id = j;
19 }
20
21 public boolean a(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l) {
22 if (l != 1) {
23 return false;
24 } else {
25 int i1 = world.getTypeId(i, j, k);
26
27 // uberbukkit start
28 boolean isEmptyFlag = world.isEmpty(i, j + 1, k);
29
30 if (UberbukkitConfig.getInstance().getBoolean("mechanics.seeds_replace_blocks", false)) {
31 isEmptyFlag = true;
32 }
33
34 if (i1 == Block.SOIL.id && isEmptyFlag) {
35 // uberbukkit end
36 CraftBlockState blockState = CraftBlockState.getBlockState(world, i, j + 1, k); // CraftBukkit
37
38 world.setTypeId(i, j + 1, k, this.id);
39
40 // CraftBukkit start - seeds
41 BlockPlaceEvent event = CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, i, j, k, this.id);
42
43 if (event.isCancelled() || !event.canBuild()) {
44 event.getBlockPlaced().setTypeId(0);
45 return false;
46 }
47 // CraftBukkit end
48
49 --itemstack.count;
50 return true;
51 } else {
52 return false;
53 }
54 }
55 }
56}