1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Merge pull request #957 from NathanAdhitya/master

Fix for #953, add Slimefun books to anvil and grindstone blacklist.
This commit is contained in:
TheBusyBiscuit 2019-07-08 19:31:00 +02:00 committed by GitHub
commit 6389a57017
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -75,6 +75,29 @@ public class ItemListener implements Listener {
} }
} }
@EventHandler
public void onGrindstone(InventoryClickEvent e){
if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.GRINDSTONE) {
ItemStack slot0 = e.getInventory().getContents()[0];
ItemStack slot1 = e.getInventory().getContents()[1];
if (SlimefunItem.getByItem(slot0) != null && !SlimefunItem.isDisabled(slot0))
e.setCancelled(true);
else if (SlimefunItem.getByItem(slot1) != null && !SlimefunItem.isDisabled(slot1))
e.setCancelled(true);
if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.BOOK), true))
e.setCancelled(true);
else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.CHEST), true))
e.setCancelled(true);
if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.BOOK), true))
e.setCancelled(true);
else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.CHEST), true))
e.setCancelled(true);
}
}
@EventHandler @EventHandler
public void debug(PlayerInteractEvent e) { public void debug(PlayerInteractEvent e) {
if (e.getAction().equals(Action.PHYSICAL) || !e.getHand().equals(EquipmentSlot.HAND)) return; if (e.getAction().equals(Action.PHYSICAL) || !e.getHand().equals(EquipmentSlot.HAND)) return;
@ -388,8 +411,30 @@ public class ItemListener implements Listener {
@EventHandler @EventHandler
public void onAnvil(InventoryClickEvent e) { public void onAnvil(InventoryClickEvent e) {
if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.ANVIL) { if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.ANVIL) {
if (SlimefunManager.isItemSimiliar(e.getInventory().getContents()[0], SlimefunItems.ELYTRA, true)) return; ItemStack slot0 = e.getInventory().getContents()[0];
if (SlimefunItem.getByItem(e.getInventory().getContents()[0]) != null && !SlimefunItem.isDisabled(e.getInventory().getContents()[0])) { ItemStack slot1 = e.getInventory().getContents()[1];
if (SlimefunManager.isItemSimiliar(slot0, SlimefunItems.ELYTRA, true)) return;
if (SlimefunItem.getByItem(slot0) != null && !SlimefunItem.isDisabled(slot0)) {
e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
} else if (SlimefunItem.getByItem(slot1) != null && !SlimefunItem.isDisabled(slot1)) {
e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
}
if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
} else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(BookDesign.CHEST), true)) {
e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
}
if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
} else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(BookDesign.CHEST), true)) {
e.setCancelled(true); e.setCancelled(true);
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true); Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
} }