summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2016-12-09 12:45:21 +1100
committermd_5 <git@md-5.net>2016-12-09 12:45:21 +1100
commitcaf86c88a91b7b87bb2ace9b28d4ecaa60120c92 (patch)
treea782d3a940503406abab48c2cd9b3ebad72cfcff /src/main/java
parent521b64741e4ba929fbf8bc9f4da4caa2f0e3d9e1 (diff)
downloadcraftbukkit-caf86c88a91b7b87bb2ace9b28d4ecaa60120c92.tar
craftbukkit-caf86c88a91b7b87bb2ace9b28d4ecaa60120c92.tar.gz
craftbukkit-caf86c88a91b7b87bb2ace9b28d4ecaa60120c92.tar.lz
craftbukkit-caf86c88a91b7b87bb2ace9b28d4ecaa60120c92.tar.xz
craftbukkit-caf86c88a91b7b87bb2ace9b28d4ecaa60120c92.zip
Use CraftEventFactory for BlockFormEvent
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 05084130..74faf995 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -5,6 +5,7 @@ import java.util.ArrayList;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nullable;
import com.google.common.base.Function;
import com.google.common.base.Functions;
@@ -1028,4 +1029,18 @@ public class CraftEventFactory {
child.world.getServer().getPluginManager().callEvent(event);
return event;
}
+
+ public static boolean handleBlockFormEvent(World world, BlockPosition pos, net.minecraft.server.Block block, @Nullable Entity entity) {
+ BlockState blockState = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()).getState();
+ blockState.setType(CraftMagicNumbers.getMaterial(block));
+
+ BlockFormEvent event = (entity == null) ? new BlockFormEvent(blockState.getBlock(), blockState) : new EntityBlockFormEvent(entity.getBukkitEntity(), blockState.getBlock(), blockState);
+ world.getServer().getPluginManager().callEvent(event);
+
+ if (!event.isCancelled()) {
+ blockState.update(true);
+ }
+
+ return !event.isCancelled();
+ }
}