소스 검색

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();