|
@@ -39,7 +39,7 @@ public class InventoryListener implements Listener {
|
|
this.plugin = plugin;
|
|
this.plugin = plugin;
|
|
}
|
|
}
|
|
|
|
|
|
- @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
|
|
|
|
|
+ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
|
public void onInventoryOpen(InventoryOpenEvent event) {
|
|
public void onInventoryOpen(InventoryOpenEvent event) {
|
|
/* WORLD BLACKLIST CHECK */
|
|
/* WORLD BLACKLIST CHECK */
|
|
if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
|
|
if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld()))
|
|
@@ -47,7 +47,7 @@ public class InventoryListener implements Listener {
|
|
|
|
|
|
Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
|
|
Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
|
|
|
|
|
|
- if (furnaceBlock == null || furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey)) {
|
|
|
|
|
|
+ if (furnaceBlock == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -57,7 +57,8 @@ public class InventoryListener implements Listener {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- furnaceBlock.setMetadata(mcMMO.furnaceMetadataKey, UserManager.getPlayer((Player) player).getPlayerMetadata());
|
|
|
|
|
|
+ if(!furnaceBlock.hasMetadata(mcMMO.furnaceMetadataKey) && furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).size() == 0)
|
|
|
|
+ furnaceBlock.setMetadata(mcMMO.furnaceMetadataKey, UserManager.getPlayer((Player) player).getPlayerMetadata());
|
|
}
|
|
}
|
|
|
|
|
|
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
|
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
|
@@ -177,6 +178,22 @@ public class InventoryListener implements Listener {
|
|
|
|
|
|
Inventory inventory = event.getInventory();
|
|
Inventory inventory = event.getInventory();
|
|
|
|
|
|
|
|
+ Block furnaceBlock = processInventoryOpenOrCloseEvent(event.getInventory());
|
|
|
|
+
|
|
|
|
+ if (furnaceBlock == null) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(event.getWhoClicked() instanceof Player)
|
|
|
|
+ {
|
|
|
|
+ Player player = ((Player) event.getWhoClicked()).getPlayer();
|
|
|
|
+
|
|
|
|
+ if(furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey).size() > 0)
|
|
|
|
+ furnaceBlock.removeMetadata(mcMMO.furnaceMetadataKey, mcMMO.p);
|
|
|
|
+
|
|
|
|
+ furnaceBlock.setMetadata(mcMMO.furnaceMetadataKey, UserManager.getPlayer(player).getPlayerMetadata());
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!(inventory instanceof BrewerInventory)) {
|
|
if (!(inventory instanceof BrewerInventory)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -434,7 +451,7 @@ public class InventoryListener implements Listener {
|
|
|
|
|
|
Furnace furnace = (Furnace) inventory.getHolder();
|
|
Furnace furnace = (Furnace) inventory.getHolder();
|
|
|
|
|
|
- if (furnace == null || furnace.getBurnTime() != 0) {
|
|
|
|
|
|
+ if (furnace == null) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|