fix: replace block type checks with App.main.isInteractable for consistency
This commit is contained in:
@@ -10,6 +10,7 @@ import net.kyori.adventure.text.Component;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -60,6 +61,131 @@ public class App extends JavaPlugin {
|
||||
public File tpYml = new File(this.getDataFolder() + "/texturepack.yml");
|
||||
public FileConfiguration tpConfig = YamlConfiguration.loadConfiguration(tpYml);
|
||||
|
||||
|
||||
public boolean isInteractable(Block b) {
|
||||
List<Material> interactableBlocks = Arrays.asList();
|
||||
interactableBlocks.add(Material.CHEST);
|
||||
interactableBlocks.add(Material.TRAPPED_CHEST);
|
||||
interactableBlocks.add(Material.ENDER_CHEST);
|
||||
interactableBlocks.add(Material.BARREL);
|
||||
interactableBlocks.add(Material.SHULKER_BOX);
|
||||
interactableBlocks.add(Material.HOPPER);
|
||||
interactableBlocks.add(Material.DISPENSER);
|
||||
interactableBlocks.add(Material.DROPPER);
|
||||
interactableBlocks.add(Material.CRAFTING_TABLE);
|
||||
interactableBlocks.add(Material.FURNACE);
|
||||
interactableBlocks.add(Material.BLAST_FURNACE);
|
||||
interactableBlocks.add(Material.SMOKER);
|
||||
interactableBlocks.add(Material.CARTOGRAPHY_TABLE);
|
||||
interactableBlocks.add(Material.SMITHING_TABLE);
|
||||
interactableBlocks.add(Material.LOOM);
|
||||
interactableBlocks.add(Material.STONECUTTER);
|
||||
interactableBlocks.add(Material.GRINDSTONE);
|
||||
interactableBlocks.add(Material.ANVIL);
|
||||
interactableBlocks.add(Material.CHIPPED_ANVIL);
|
||||
interactableBlocks.add(Material.DAMAGED_ANVIL);
|
||||
interactableBlocks.add(Material.LEVER);
|
||||
interactableBlocks.add(Material.STONE_BUTTON);
|
||||
interactableBlocks.add(Material.OAK_BUTTON);
|
||||
interactableBlocks.add(Material.BIRCH_BUTTON);
|
||||
interactableBlocks.add(Material.BAMBOO_BUTTON);
|
||||
interactableBlocks.add(Material.DARK_OAK_BUTTON);
|
||||
interactableBlocks.add(Material.SPRUCE_BUTTON);
|
||||
interactableBlocks.add(Material.JUNGLE_BUTTON);
|
||||
interactableBlocks.add(Material.ACACIA_BUTTON);
|
||||
interactableBlocks.add(Material.STONE_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.OAK_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.BIRCH_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.BAMBOO_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.DARK_OAK_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.SPRUCE_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.JUNGLE_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.ACACIA_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.LIGHT_WEIGHTED_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.HEAVY_WEIGHTED_PRESSURE_PLATE);
|
||||
interactableBlocks.add(Material.TRIPWIRE_HOOK);
|
||||
interactableBlocks.add(Material.COMPARATOR);
|
||||
interactableBlocks.add(Material.REPEATER);
|
||||
interactableBlocks.add(Material.LECTERN);
|
||||
interactableBlocks.add(Material.OAK_DOOR);
|
||||
interactableBlocks.add(Material.BIRCH_DOOR);
|
||||
interactableBlocks.add(Material.BAMBOO_DOOR);
|
||||
interactableBlocks.add(Material.DARK_OAK_DOOR);
|
||||
interactableBlocks.add(Material.SPRUCE_DOOR);
|
||||
interactableBlocks.add(Material.JUNGLE_DOOR);
|
||||
interactableBlocks.add(Material.ACACIA_DOOR);
|
||||
interactableBlocks.add(Material.OAK_TRAPDOOR);
|
||||
interactableBlocks.add(Material.BIRCH_TRAPDOOR);
|
||||
interactableBlocks.add(Material.BAMBOO_TRAPDOOR);
|
||||
interactableBlocks.add(Material.DARK_OAK_TRAPDOOR);
|
||||
interactableBlocks.add(Material.SPRUCE_TRAPDOOR);
|
||||
interactableBlocks.add(Material.JUNGLE_TRAPDOOR);
|
||||
interactableBlocks.add(Material.ACACIA_TRAPDOOR);
|
||||
interactableBlocks.add(Material.OAK_FENCE_GATE);
|
||||
interactableBlocks.add(Material.BIRCH_FENCE_GATE);
|
||||
interactableBlocks.add(Material.BAMBOO_FENCE_GATE);
|
||||
interactableBlocks.add(Material.DARK_OAK_FENCE_GATE);
|
||||
interactableBlocks.add(Material.SPRUCE_FENCE_GATE);
|
||||
interactableBlocks.add(Material.JUNGLE_FENCE_GATE);
|
||||
interactableBlocks.add(Material.ACACIA_FENCE_GATE);
|
||||
interactableBlocks.add(Material.CHEST_MINECART);
|
||||
interactableBlocks.add(Material.HOPPER_MINECART);
|
||||
interactableBlocks.add(Material.FURNACE_MINECART);
|
||||
interactableBlocks.add(Material.MINECART);
|
||||
interactableBlocks.add(Material.TNT_MINECART);
|
||||
interactableBlocks.add(Material.OAK_BOAT);
|
||||
interactableBlocks.add(Material.BIRCH_BOAT);
|
||||
interactableBlocks.add(Material.BAMBOO_RAFT);
|
||||
interactableBlocks.add(Material.DARK_OAK_BOAT);
|
||||
interactableBlocks.add(Material.SPRUCE_BOAT);
|
||||
interactableBlocks.add(Material.JUNGLE_BOAT);
|
||||
interactableBlocks.add(Material.ACACIA_BOAT);
|
||||
interactableBlocks.add(Material.OAK_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.BIRCH_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.BAMBOO_CHEST_RAFT);
|
||||
interactableBlocks.add(Material.DARK_OAK_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.SPRUCE_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.JUNGLE_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.ACACIA_CHEST_BOAT);
|
||||
interactableBlocks.add(Material.ENCHANTING_TABLE);
|
||||
interactableBlocks.add(Material.RESPAWN_ANCHOR);
|
||||
interactableBlocks.add(Material.BREWING_STAND);
|
||||
interactableBlocks.add(Material.LECTERN);
|
||||
interactableBlocks.add(Material.WHITE_BED);
|
||||
interactableBlocks.add(Material.LIGHT_GRAY_BED);
|
||||
interactableBlocks.add(Material.GRAY_BED);
|
||||
interactableBlocks.add(Material.BLACK_BED);
|
||||
interactableBlocks.add(Material.BROWN_BED);
|
||||
interactableBlocks.add(Material.RED_BED);
|
||||
interactableBlocks.add(Material.ORANGE_BED);
|
||||
interactableBlocks.add(Material.YELLOW_BED);
|
||||
interactableBlocks.add(Material.LIME_BED);
|
||||
interactableBlocks.add(Material.GREEN_BED);
|
||||
interactableBlocks.add(Material.CYAN_BED);
|
||||
interactableBlocks.add(Material.LIGHT_BLUE_BED);
|
||||
interactableBlocks.add(Material.BLUE_BED);
|
||||
interactableBlocks.add(Material.PURPLE_BED);
|
||||
interactableBlocks.add(Material.MAGENTA_BED);
|
||||
interactableBlocks.add(Material.PINK_BED);
|
||||
interactableBlocks.add(Material.BELL);
|
||||
interactableBlocks.add(Material.CAKE);
|
||||
interactableBlocks.add(Material.JUKEBOX);
|
||||
interactableBlocks.add(Material.NOTE_BLOCK);
|
||||
interactableBlocks.add(Material.CANDLE);
|
||||
interactableBlocks.add(Material.COMPOSTER);
|
||||
interactableBlocks.add(Material.ITEM_FRAME);
|
||||
interactableBlocks.add(Material.GLOW_ITEM_FRAME);
|
||||
interactableBlocks.add(Material.ARMOR_STAND);
|
||||
interactableBlocks.add(Material.DRAGON_EGG);
|
||||
interactableBlocks.add(Material.BEACON);
|
||||
|
||||
if(interactableBlocks.contains(b.getType())){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
|
||||
|
||||
@@ -651,8 +651,8 @@ public class EnvironmentExListeners implements Listener {
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING).toString().equals("R3S_kleiner_Rucksack")) {
|
||||
if (e.getAction() == Action.RIGHT_CLICK_AIR || (e.getAction() == Action.RIGHT_CLICK_BLOCK
|
||||
&& (!e.getClickedBlock().getType().isInteractable())
|
||||
|| e.getClickedBlock() != null && (e.getClickedBlock().getType().isInteractable()
|
||||
&& (!App.main.isInteractable(e.getClickedBlock()))
|
||||
|| e.getClickedBlock() != null && (App.main.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) {
|
||||
@@ -679,8 +679,8 @@ public class EnvironmentExListeners implements Listener {
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).toString().equals("R3S_Rucksack")) {
|
||||
if (e.getAction() == Action.RIGHT_CLICK_AIR || (e.getAction() == Action.RIGHT_CLICK_BLOCK
|
||||
&& (!e.getClickedBlock().getType().isInteractable())
|
||||
|| (e.getClickedBlock().getType().isInteractable()
|
||||
&& (!App.main.isInteractable(e.getClickedBlock()))
|
||||
|| (App.main.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv2 =
|
||||
@@ -704,8 +704,8 @@ public class EnvironmentExListeners implements Listener {
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).toString().equals("R3S_großer_Rucksack")) {
|
||||
if (e.getAction() == Action.RIGHT_CLICK_AIR || (e.getAction() == Action.RIGHT_CLICK_BLOCK
|
||||
&& (!e.getClickedBlock().getType().isInteractable())
|
||||
|| (e.getClickedBlock().getType().isInteractable()
|
||||
&& (!App.main.isInteractable(e.getClickedBlock()))
|
||||
|| (App.main.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv3 =
|
||||
@@ -730,8 +730,8 @@ public class EnvironmentExListeners implements Listener {
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING).toString().equals("R3S_riesiger_Rucksack")) {
|
||||
if (e.getAction() == Action.RIGHT_CLICK_AIR || (e.getAction() == Action.RIGHT_CLICK_BLOCK
|
||||
&& (!e.getClickedBlock().getType().isInteractable())
|
||||
|| (e.getClickedBlock().getType().isInteractable()
|
||||
&& (!App.main.isInteractable(e.getClickedBlock()))
|
||||
|| (App.main.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv4 =
|
||||
@@ -968,8 +968,8 @@ public class EnvironmentExListeners implements Listener {
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
if (e.getAction() == InventoryAction.HOTBAR_MOVE_AND_READD
|
||||
|| e.getAction() == InventoryAction.HOTBAR_SWAP) {
|
||||
if (/*e.getAction() == InventoryAction.HOTBAR_MOVE_AND_READD
|
||||
|| */e.getAction() == InventoryAction.HOTBAR_SWAP) {
|
||||
|
||||
if (e.getHotbarButton() != -1) {// evtl auch schauen ob titel, da es sonst auch nicht in truhe
|
||||
// gepackt werden kann, evtl aber auch schon oben gekläört
|
||||
|
||||
@@ -55,7 +55,7 @@ public class ExpBottleListener implements Listener {
|
||||
public void onUse(PlayerInteractEvent e) {
|
||||
ExperienceManager expMan = new ExperienceManager(e.getPlayer());
|
||||
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK
|
||||
|| (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getType().isInteractable())) {
|
||||
|| (e.getAction() == Action.RIGHT_CLICK_BLOCK && App.main.isInteractable(e.getClickedBlock()))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ public class InfinityWaterBucket implements Listener {
|
||||
e.setCancelled(true);
|
||||
Player player = e.getPlayer();
|
||||
if (player.getWorld().getEnvironment() == Environment.NETHER
|
||||
|| (e.getClickedBlock().getType().isInteractable() && !e.getPlayer().isSneaking()))
|
||||
|| (App.main.isInteractable(e.getClickedBlock()) && !e.getPlayer().isSneaking()))
|
||||
return;
|
||||
|
||||
Block block = e.getClickedBlock().getRelative(e.getBlockFace());
|
||||
|
||||
@@ -55,7 +55,7 @@ public class WorkbenchToGo implements Listener {
|
||||
|
||||
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK
|
||||
|| e.getAction() == Action.PHYSICAL
|
||||
|| (e.getClickedBlock() != null && e.getClickedBlock().getType().isInteractable())) {
|
||||
|| (e.getClickedBlock() != null && App.main.isInteractable(e.getClickedBlock()))) {
|
||||
return;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
|
||||
Reference in New Issue
Block a user