diff options
author | Travis Watkins <amaranth@ubuntu.com> | 2013-03-16 16:35:30 -0500 |
---|---|---|
committer | Travis Watkins <amaranth@ubuntu.com> | 2013-03-16 16:48:08 -0500 |
commit | fbe609bdbe11d480cba162385926c2f0a36c8a49 (patch) | |
tree | 172a26a2c182899ec3dabcc612c5c90ca05e45d5 /src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java | |
parent | ff1c1daf692ab0efacba81e77cd26d5ccdecd20c (diff) | |
download | craftbukkit-fbe609bdbe11d480cba162385926c2f0a36c8a49.tar craftbukkit-fbe609bdbe11d480cba162385926c2f0a36c8a49.tar.gz craftbukkit-fbe609bdbe11d480cba162385926c2f0a36c8a49.tar.lz craftbukkit-fbe609bdbe11d480cba162385926c2f0a36c8a49.tar.xz craftbukkit-fbe609bdbe11d480cba162385926c2f0a36c8a49.zip |
Add new DispenseBehavior files from mc-dev for diff visibility.
Diffstat (limited to 'src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java')
-rw-r--r-- | src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java b/src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java new file mode 100644 index 00000000..4f182171 --- /dev/null +++ b/src/main/java/net/minecraft/server/DispenseBehaviorBonemeal.java @@ -0,0 +1,38 @@ +package net.minecraft.server; + +final class DispenseBehaviorBonemeal extends DispenseBehaviorItem { + + private boolean b = true; + + DispenseBehaviorBonemeal() {} + + protected ItemStack b(ISourceBlock isourceblock, ItemStack itemstack) { + if (itemstack.getData() == 15) { + EnumFacing enumfacing = BlockDispenser.j_(isourceblock.h()); + World world = isourceblock.k(); + int i = isourceblock.getBlockX() + enumfacing.c(); + int j = isourceblock.getBlockY() + enumfacing.d(); + int k = isourceblock.getBlockZ() + enumfacing.e(); + + if (ItemDye.a(itemstack, world, i, j, k)) { + if (!world.isStatic) { + world.triggerEffect(2005, i, j, k, 0); + } + } else { + this.b = false; + } + + return itemstack; + } else { + return super.b(isourceblock, itemstack); + } + } + + protected void a(ISourceBlock isourceblock) { + if (this.b) { + isourceblock.k().triggerEffect(1000, isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ(), 0); + } else { + isourceblock.k().triggerEffect(1001, isourceblock.getBlockX(), isourceblock.getBlockY(), isourceblock.getBlockZ(), 0); + } + } +} |