2012-07-22 08:18:00 +02:00
|
|
|
package net.minecraft.server;
|
|
|
|
|
2012-07-29 09:33:13 +02:00
|
|
|
public class ItemWaterLily extends ItemWithAuxData {
|
2012-07-22 08:18:00 +02:00
|
|
|
|
2013-11-04 14:07:38 +01:00
|
|
|
public ItemWaterLily(Block block) {
|
|
|
|
super(block, false);
|
2012-07-22 08:18:00 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public ItemStack a(ItemStack itemstack, World world, EntityHuman entityhuman) {
|
|
|
|
MovingObjectPosition movingobjectposition = this.a(world, entityhuman, true);
|
|
|
|
|
|
|
|
if (movingobjectposition == null) {
|
|
|
|
return itemstack;
|
|
|
|
} else {
|
2013-11-04 14:07:38 +01:00
|
|
|
if (movingobjectposition.type == EnumMovingObjectType.BLOCK) {
|
2012-07-22 08:18:00 +02:00
|
|
|
int i = movingobjectposition.b;
|
|
|
|
int j = movingobjectposition.c;
|
|
|
|
int k = movingobjectposition.d;
|
2013-01-27 17:44:32 +01:00
|
|
|
final int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit
|
2012-07-22 08:18:00 +02:00
|
|
|
|
|
|
|
if (!world.a(entityhuman, i, j, k)) {
|
|
|
|
return itemstack;
|
|
|
|
}
|
|
|
|
|
2012-10-25 05:53:23 +02:00
|
|
|
if (!entityhuman.a(i, j, k, movingobjectposition.face, itemstack)) {
|
2012-07-22 08:18:00 +02:00
|
|
|
return itemstack;
|
|
|
|
}
|
|
|
|
|
2013-11-04 14:07:38 +01:00
|
|
|
if (world.getType(i, j, k).getMaterial() == Material.WATER && world.getData(i, j, k) == 0 && world.isEmpty(i, j + 1, k)) {
|
2014-03-21 05:26:30 +01:00
|
|
|
// CraftBukkit start - fire BlockPlaceEvent
|
2013-11-04 14:07:38 +01:00
|
|
|
// world.setTypeUpdate(i, j + 1, k, Blocks.WATER_LILY);
|
|
|
|
if (!processBlockPlace(world, entityhuman, null, i, j + 1, k, Blocks.WATER_LILY, 0, clickedX, clickedY, clickedZ)) {
|
2012-07-22 08:18:00 +02:00
|
|
|
return itemstack;
|
|
|
|
}
|
|
|
|
// CraftBukkit end
|
|
|
|
|
|
|
|
if (!entityhuman.abilities.canInstantlyBuild) {
|
|
|
|
--itemstack.count;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return itemstack;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|