浏览代码

Just to be 100% sure this gets processed correctly.

The blockstate DOES current store the metadata of the block, but I'd
rather stick with using the Block every time to be absolutely certain
that things are handled correctly.
GJ 12 年之前
父节点
当前提交
2cef6700c7
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

+ 4 - 3
src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

@@ -132,14 +132,15 @@ public class InventoryListener implements Listener {
 
     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
     public void onFurnaceExtractEvent(FurnaceExtractEvent event) {
-        BlockState furnaceState = event.getBlock().getState();
+        Block furnaceBlock = event.getBlock();
+        BlockState furnaceState = furnaceBlock.getState();
 
         if (furnaceState instanceof Furnace) {
             ItemStack result = ((Furnace) furnaceState).getInventory().getResult();
 
-            if (furnaceState.hasMetadata(mcMMO.furnaceMetadataKey) && result != null && ItemUtils.isSmelted(result)) {
+            if (furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey) && result != null && ItemUtils.isSmelted(result)) {
                 // We can make this assumption because we (should) be the only ones using this exact metadata
-                Player player = plugin.getServer().getPlayer(furnaceState.getMetadata(mcMMO.furnaceMetadataKey).get(0).asString());
+                Player player = plugin.getServer().getPlayer(furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).get(0).asString());
 
                 SmeltingManager smeltingManager = UserManager.getPlayer(player).getSmeltingManager();