From 4b41901c38b13afb868ebce8e5813001c278e381 Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Fri, 21 Jun 2019 21:26:27 +0200 Subject: [PATCH] Fix error with Shulkerbox filter on MC 1.14 --- pom.xml | 5 ++-- resources/plugin.yml | 2 +- .../Bukkit/Listener/DisableShulkerboxes.java | 26 +++++++------------ 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 01194f5..5412efb 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 at.pcgamingfreaks Minepacks - 2.0.5 + 2.0.6 scm:git:git@github.com:GeorgH93/Minepacks.git @@ -21,6 +21,7 @@ Minepacks Minepacks is a backpack plugin with different backpack sizes, multi language support and SQLite and MySQL storage support. + https://www.spigotmc.org/resources/19286/ 2014 @@ -31,7 +32,6 @@ GeorgH93 - https://www.spigotmc.org/resources/19286/ ${project.version} depend: [ PCGF_PluginLib ] ${project.groupId}.${project.artifactId}.Bukkit.${project.artifactId} @@ -235,7 +235,6 @@ at.pcgamingfreaks:PluginLib *.yml - META-INF/*.txt diff --git a/resources/plugin.yml b/resources/plugin.yml index ccf442d..1a96e42 100644 --- a/resources/plugin.yml +++ b/resources/plugin.yml @@ -1,6 +1,6 @@ name: "${project.name}" author: "${author}" -website: "${website}" +website: "${project.url}" main: "${mainClass}" description: "${project.description}" version: "${version}" diff --git a/src/at/pcgamingfreaks/Minepacks/Bukkit/Listener/DisableShulkerboxes.java b/src/at/pcgamingfreaks/Minepacks/Bukkit/Listener/DisableShulkerboxes.java index de427ff..2e48035 100644 --- a/src/at/pcgamingfreaks/Minepacks/Bukkit/Listener/DisableShulkerboxes.java +++ b/src/at/pcgamingfreaks/Minepacks/Bukkit/Listener/DisableShulkerboxes.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016-2018 GeorgH93 + * Copyright (C) 2019 GeorgH93 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -102,20 +102,17 @@ public void onInventoryClick(InventoryClickEvent event) @EventHandler(ignoreCancelled = true) public void onInventoryOpen(InventoryOpenEvent event) { - if(event.getInventory() != null && event.getInventory().getHolder() != null && event.getInventory().getHolder().getClass().getName().toLowerCase().contains("shulker")) + if(event.getInventory().getHolder() != null && event.getInventory().getHolder().getClass().getName().toLowerCase().contains("shulker")) { if(removeExisting) { Block shulkerBlock = ((ShulkerBox) event.getInventory().getHolder()).getBlock(); - if(shulkerBlock != null) + if(dropExistingContent) { - if(dropExistingContent) - { - Utils.dropInventory(event.getInventory(), shulkerBlock.getLocation()); - } - event.getInventory().clear(); - shulkerBlock.setType(Material.AIR); + Utils.dropInventory(event.getInventory(), shulkerBlock.getLocation()); } + event.getInventory().clear(); + shulkerBlock.setType(Material.AIR); } event.setCancelled(true); } @@ -200,12 +197,9 @@ private boolean handleShulkerBlock(Block block) if(removeExisting) { ShulkerBox shulkerBox = (ShulkerBox) block.getState(); - if(shulkerBox != null) - { - if(dropExistingContent) Utils.dropInventory(shulkerBox.getInventory(), shulkerBox.getLocation()); - shulkerBox.getInventory().clear(); - block.setType(Material.AIR); - } + if(dropExistingContent) Utils.dropInventory(shulkerBox.getInventory(), shulkerBox.getLocation()); + shulkerBox.getInventory().clear(); + block.setType(Material.AIR); } return true; } @@ -242,6 +236,7 @@ public void onBlockDispense(BlockDispenseEvent event) @EventHandler(ignoreCancelled = true) public void onPrepareItemCraftEvent(PrepareItemCraftEvent event) { + if(event.getRecipe() == null) return; Material itemType = event.getRecipe().getResult().getType(); if(itemType == Material.SHULKER_SHELL || SHULKER_BOX_MATERIALS.contains(itemType)) { @@ -253,7 +248,6 @@ public void onPrepareItemCraftEvent(PrepareItemCraftEvent event) @EventHandler(ignoreCancelled = true) public void onDrop(PlayerDropItemEvent event) { - //TODO null checks Material itemType = event.getItemDrop().getItemStack().getType(); if(itemType == Material.SHULKER_SHELL || SHULKER_BOX_MATERIALS.contains(itemType)) {