Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 56 lines 1.7 kB view raw
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}