diff --git a/.DS_Store b/.DS_Store index 344e744..1712492 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index 0d8d214..54b8faf 100755 --- a/README.md +++ b/README.md @@ -15,3 +15,5 @@ TO RELEASE: Autocrafter TO RELEASE: jukeboxes können mit Redstone gesteuert werden + crafted music TO RELEASE: Squids won't spawn + GLOWSTONE DUST für Rahmen TO RELEASE: MUTE FUNCTION FOR TAGGED MOBS +r3load command? +TO RELEASE: SHIFT RIGHT CLICK INV SORT \ No newline at end of file diff --git a/environmentex/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/environmentex/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 2a62e03..11f54ca 100644 Binary files a/environmentex/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/environmentex/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/environmentex/.gradle/caches/paperweight/taskCache/reobfJar.log b/environmentex/.gradle/caches/paperweight/taskCache/reobfJar.log index 33d92e9..561d228 100644 --- a/environmentex/.gradle/caches/paperweight/taskCache/reobfJar.log +++ b/environmentex/.gradle/caches/paperweight/taskCache/reobfJar.log @@ -1,2 +1,2 @@ Command: /opt/homebrew/Cellar/openjdk/23.0.2/libexec/openjdk.jdk/Contents/Home/bin/java -Xmx1G -classpath /Users/janik/.gradle/caches/modules-2/files-2.1/net.fabricmc/tiny-remapper/0.11.1/6c1f29838864ba8f495855edfc8ef17706fedb5d/tiny-remapper-0.11.1-fat.jar net.fabricmc.tinyremapper.Main /Users/janik/Desktop/MCPlugins/environmentex-1.0-SNAPSHOT.jar /Users/janik/Desktop/MCPlugins/environmentex/build/libs/environmentex-1.0-SNAPSHOT-reobf.jar /Users/janik/Desktop/MCPlugins/environmentex/.gradle/caches/paperweight/taskCache/reobfMappings.tiny mojang spigot /Users/janik/Desktop/MCPlugins/environmentex/.gradle/caches/paperweight/taskCache/mappedServerJar.jar --threads=1 -[INFO] Finished after 974,94 ms. +[INFO] Finished after 900,45 ms. diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/App$1.class b/environmentex/build/classes/java/main/de/hessj/environmentex/App$1.class index ad152ef..016b51a 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/App$1.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/App$1.class differ diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/App$2.class b/environmentex/build/classes/java/main/de/hessj/environmentex/App$2.class index 5004321..2ffe122 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/App$2.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/App$2.class differ diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/App.class b/environmentex/build/classes/java/main/de/hessj/environmentex/App.class index 53b5f34..36e9d7a 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/App.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/App.class differ diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/CustomItems.class b/environmentex/build/classes/java/main/de/hessj/environmentex/CustomItems.class index 9f32a50..1559060 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/CustomItems.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/CustomItems.class differ diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExCommands.class b/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExCommands.class index 473bd9b..e658e1b 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExCommands.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExCommands.class differ diff --git a/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExListeners.class b/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExListeners.class index 31bfc9f..dfdcece 100644 Binary files a/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExListeners.class and b/environmentex/build/classes/java/main/de/hessj/environmentex/EnvironmentExListeners.class differ diff --git a/environmentex/build/libs/environmentex-1.0-SNAPSHOT-reobf.jar b/environmentex/build/libs/environmentex-1.0-SNAPSHOT-reobf.jar index b7be773..5e035e3 100644 Binary files a/environmentex/build/libs/environmentex-1.0-SNAPSHOT-reobf.jar and b/environmentex/build/libs/environmentex-1.0-SNAPSHOT-reobf.jar differ diff --git a/environmentex/build/resources/main/plugin.yml b/environmentex/build/resources/main/plugin.yml index 3868958..8a9aef4 100755 --- a/environmentex/build/resources/main/plugin.yml +++ b/environmentex/build/resources/main/plugin.yml @@ -24,4 +24,7 @@ commands: usage: / ignorevote: description: Setzt den Ignorevote Status + usage: / + r3load: + description: ---- usage: / \ No newline at end of file diff --git a/environmentex/build/tmp/compileJava/previous-compilation-data.bin b/environmentex/build/tmp/compileJava/previous-compilation-data.bin index f27f85a..7a3502a 100644 Binary files a/environmentex/build/tmp/compileJava/previous-compilation-data.bin and b/environmentex/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/environmentex/src/main/java/de/hessj/environmentex/App.java b/environmentex/src/main/java/de/hessj/environmentex/App.java index 868ea29..cbff7a2 100755 --- a/environmentex/src/main/java/de/hessj/environmentex/App.java +++ b/environmentex/src/main/java/de/hessj/environmentex/App.java @@ -56,8 +56,6 @@ public class App extends JavaPlugin { public static boolean coordinateRunner = false; public PluginManager pM = Bukkit.getPluginManager(); public HashMap hmActionbar = new HashMap(); - public File tpYml = new File(this.getDataFolder() + "/texturepack.yml"); - public FileConfiguration tpConfig = YamlConfiguration.loadConfiguration(tpYml); public NamespacedKey nskLockedChest = new NamespacedKey(this, "R3SLockedChest"); public NamespacedKey nskLockedChestRecipe = new NamespacedKey(this, "R3SLockedChestRecipe"); @@ -66,16 +64,6 @@ public class App extends JavaPlugin { @Override public void onEnable() { - tpConfig.addDefault("url", "https://mc.hessj.de/texturepack/CUSTOM.zip"); - tpConfig.addDefault("sha1", "a7f7bde9e54279b502d65435877d251aa522cabc"); - - // Copy defaults and save if the file doesn't have these values - tpConfig.options().copyDefaults(true); - try { - tpConfig.save(tpYml); - } catch (IOException e) { - e.printStackTrace(); - } SquidPrevention.removeSquidReceipes(); SquidPrevention.addCustomSquidRecipes(); @@ -491,6 +479,7 @@ public class App extends JavaPlugin { getCommand("pin").setExecutor(new EnvironmentExCommands()); getCommand("pin").setTabCompleter(new PinFeature()); getCommand("ignorevote").setExecutor(new EnvironmentExCommands()); + getCommand("r3load").setExecutor(new EnvironmentExCommands()); } public void log(Object msg) { diff --git a/environmentex/src/main/java/de/hessj/environmentex/ChestEx.java b/environmentex/src/main/java/de/hessj/environmentex/ChestEx.java index 8883d9a..c42dbea 100644 --- a/environmentex/src/main/java/de/hessj/environmentex/ChestEx.java +++ b/environmentex/src/main/java/de/hessj/environmentex/ChestEx.java @@ -1,6 +1,7 @@ package de.hessj.environmentex; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -8,15 +9,20 @@ import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.Chest; import org.bukkit.block.DoubleChest; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.inventory.EquipmentSlot; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; import org.bukkit.persistence.PersistentDataType; @@ -25,7 +31,6 @@ import de.hessj.helper.Helper.Type; public class ChestEx implements Listener { public Boolean lastPlacedIsSafeChest = false; - public de.hessj.helper.Helper helper= new de.hessj.helper.Helper(); @EventHandler public void onJoin(PlayerJoinEvent e) { @@ -34,7 +39,7 @@ public class ChestEx implements Listener { @EventHandler public void onInteract(PlayerInteractEvent e) { - if (e.getAction() == Action.RIGHT_CLICK_BLOCK && !helper.isInteractable(e.getClickedBlock())) { + if (e.getAction() == Action.RIGHT_CLICK_BLOCK && !App.helper.isInteractable(e.getClickedBlock())) { if (e.getPlayer().getInventory().getItemInMainHand() != null && e.getPlayer().getInventory().getItemInMainHand().hasItemMeta() && e.getPlayer().getInventory() .getItemInMainHand().getItemMeta().getPersistentDataContainer() != null) { @@ -43,7 +48,7 @@ public class ChestEx implements Listener { lastPlacedIsSafeChest = true; } } - } else if (e.getAction() == Action.RIGHT_CLICK_BLOCK && helper.isInteractable(e.getClickedBlock())) { + } else if (e.getAction() == Action.RIGHT_CLICK_BLOCK && App.helper.isInteractable(e.getClickedBlock())) { Location loc = e.getClickedBlock().getLocation(); String locStr = loc.getBlockX() + "~" + loc.getBlockY() + "~" + loc.getBlockZ(); if (App.main.getConfig().getStringList("chests." + e.getPlayer().getUniqueId().toString()) @@ -55,7 +60,8 @@ public class ChestEx implements Listener { List chestList = App.main.getConfig().getStringList("chests." + uuid); if (chestList.contains(locStr)) { e.setCancelled(true); - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Dies ist nicht deine Truhe!")); + e.getPlayer().sendMessage( + App.helper.R3SMessage(Type.ERROR, "[ChestEx] Dies ist nicht deine Truhe!")); return; } } @@ -113,7 +119,8 @@ public class ChestEx implements Listener { } } - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Du kannst diese Truhe nicht mit einer verschlossenen Truhe erweitern!")); + e.getPlayer().sendMessage(App.helper.R3SMessage(Type.ERROR, + "[ChestEx] Du kannst diese Truhe nicht mit einer verschlossenen Truhe erweitern!")); return; } @@ -146,7 +153,8 @@ public class ChestEx implements Listener { } } - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Du kannst diese Truhe nicht mit einer verschlossenen Truhe erweitern!")); + e.getPlayer().sendMessage(App.helper.R3SMessage(Type.ERROR, + "[ChestEx] Du kannst diese Truhe nicht mit einer verschlossenen Truhe erweitern!")); return; } } @@ -209,7 +217,8 @@ public class ChestEx implements Listener { e.getPlayer().updateInventory(); } } - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Du kannst eine verschlossene Truhe nicht mit einer anderen Truhe erweitern!")); + e.getPlayer().sendMessage(App.helper.R3SMessage(Type.ERROR, + "[ChestEx] Du kannst eine verschlossene Truhe nicht mit einer anderen Truhe erweitern!")); } @@ -240,7 +249,8 @@ public class ChestEx implements Listener { e.getPlayer().updateInventory(); } } - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Du kannst eine verschlossene Truhe nicht mit einer anderen Truhe erweitern!")); + e.getPlayer().sendMessage(App.helper.R3SMessage(Type.ERROR, + "[ChestEx] Du kannst eine verschlossene Truhe nicht mit einer anderen Truhe erweitern!")); } } } @@ -307,12 +317,140 @@ public class ChestEx implements Listener { List chestList = App.main.getConfig().getStringList("chests." + uuid); if (chestList.contains(locStr)) { e.setCancelled(true); - e.getPlayer().sendMessage(helper.R3SMessage(Type.ERROR, "[ChestEx] Dies ist nicht deine Truhe!")); + e.getPlayer() + .sendMessage( + App.helper.R3SMessage(Type.ERROR, "[ChestEx] Dies ist nicht deine Truhe!")); return; } } } } - } + + @EventHandler + public void onInvClick(InventoryClickEvent e) { + if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) + && e.getCurrentItem().getType().equals(Material.AIR) + && e.getClickedInventory().getType().equals(InventoryType.PLAYER)) { + if (e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.CHEST + || e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.ENDER_CHEST + || e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.SHULKER_BOX) { + // WENN IN INVENTAR GEKLICKT SCHIEBE VON OPEN NACH INV + int i = 0; + for (ItemStack is : e.getWhoClicked().getOpenInventory().getTopInventory().getStorageContents()) { + if (e.getWhoClicked().getInventory().firstEmpty() == -1) { + return; + } + if (is != null) { + e.getWhoClicked().getOpenInventory().getTopInventory().setItem(i, null); + e.getWhoClicked().getInventory().addItem(is); + } + i++; + } + } + + } else if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) + && e.getCurrentItem().getType().equals(Material.AIR) && + (e.getClickedInventory().getType().equals(InventoryType.CHEST) + || e.getWhoClicked().getOpenInventory().getTopInventory() + .getType() == InventoryType.ENDER_CHEST)) { + + // WENN OPEN GEKLICKT SCHIEBE VON INV NACH OPEN + int i = 0; + for (ItemStack is : e.getWhoClicked().getInventory().getStorageContents()) { + if (e.getWhoClicked().getOpenInventory().getTopInventory().firstEmpty() == -1) { + return; + } + if (is != null) { + e.getWhoClicked().getInventory().setItem(i, null); + e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is); + } + i++; + } + } else if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) + && e.getCurrentItem().getType().equals(Material.AIR) + && e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.SHULKER_BOX) { + int i = 0; + for (ItemStack is : e.getWhoClicked().getInventory().getStorageContents()) { + if (e.getWhoClicked().getOpenInventory().getTopInventory().firstEmpty() == -1) { + return; + } + if (is != null && (e.getWhoClicked().getOpenInventory().getTopInventory().getType() + .equals(InventoryType.SHULKER_BOX) && !is.getType().toString().contains("SHULKER_BOX"))) { + e.getWhoClicked().getInventory().setItem(i, null); + e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is); + } + i++; + } + } + } + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + if (event.getClick() != ClickType.SHIFT_RIGHT) + return; + + Inventory inv = event.getClickedInventory(); + if (inv == null) + return; + + event.setCancelled(true); // prevent default behavior + + if (inv.getType() == InventoryType.PLAYER || inv.getHolder() instanceof Player) { + Player player = (Player) event.getWhoClicked(); + sortPlayerInventory(inv, player); + } else { + sortInventory(inv); + } + } + + private void sortPlayerInventory(Inventory inventory, Player player) { + // Only sort if it's a PLAYER inventory + + List items = new ArrayList<>(); + + // Only collect main inventory slots (9–35 in Bukkit indexing) + for (int i = 9; i <= 35; i++) { + ItemStack item = player.getInventory().getItem(i); + if (item != null && item.getType() != Material.AIR) { + items.add(item.clone()); + } + } + + // Clear main inventory slots only + for (int i = 9; i <= 35; i++) { + player.getInventory().clear(i); + } + + // Sort items + items.sort(Comparator.comparing(i -> i.getType().toString())); + + // Re-add sorted items to main inventory + for (ItemStack item : items) { + player.getInventory().addItem(item); + } + } + + private void sortInventory(Inventory inventory) { + List items = new ArrayList<>(); + + // Collect items + for (ItemStack item : inventory.getContents()) { + if (item != null && item.getType() != Material.AIR) { + items.add(item.clone()); + } + } + + // Clear inventory + inventory.clear(); + + // Sort items (you can customize this) + items.sort(Comparator.comparing(i -> i.getType().toString())); + + // Re-add sorted items + for (ItemStack item : items) { + inventory.addItem(item); + } + } + } \ No newline at end of file diff --git a/environmentex/src/main/java/de/hessj/environmentex/CustomItems.java b/environmentex/src/main/java/de/hessj/environmentex/CustomItems.java index 575bd9d..ee8606e 100755 --- a/environmentex/src/main/java/de/hessj/environmentex/CustomItems.java +++ b/environmentex/src/main/java/de/hessj/environmentex/CustomItems.java @@ -1,6 +1,5 @@ package de.hessj.environmentex; -import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -10,12 +9,9 @@ import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerResourcePackStatusEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; import org.bukkit.inventory.meta.ItemMeta; -import net.kyori.adventure.text.Component; public class CustomItems implements Listener { @@ -33,28 +29,6 @@ public class CustomItems implements Listener { } } - private String url = App.main.tpConfig.getString("url"); - private String sha1 = App.main.tpConfig.getString("sha1"); - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent e) { - Player player = e.getPlayer(); - Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, () -> { - - player.setResourcePack(url, sha1); - }, (long) 1L); - } - - @EventHandler - public void onResourcepackStatusEvent(PlayerResourcePackStatusEvent event) { - if (event.getStatus() == PlayerResourcePackStatusEvent.Status.DECLINED) { - event.getPlayer().kick(Component.translatable( - "Um auf diesem Server spielen zu können, musst du die Server-Ressourcenpakete aktivieren!")); - } else if (event.getStatus() == PlayerResourcePackStatusEvent.Status.FAILED_DOWNLOAD) { - event.getPlayer().setResourcePack(url, sha1); - } - } - @EventHandler public void onBlockBreak(BlockBreakEvent e) { if (e.getPlayer() == null || e.getPlayer().getInventory().getItemInMainHand() == null diff --git a/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExCommands.java b/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExCommands.java index 4bce159..e54caf8 100755 --- a/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExCommands.java +++ b/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExCommands.java @@ -65,7 +65,11 @@ public boolean isPlayerOnlineByName(String name) { Player p = (Player) sender; p.playerListName(App.helper.R3SMessage(Type.ERROR, "[AFK] " + p.getName())); } - + if (label.equalsIgnoreCase("r3load")) { + Bukkit.reload(); + Player p = (Player) sender; + p.sendMessage(helper.R3SMessage(Type.SUCCESS, "Plugins neu geladen!")); + } if (label.equalsIgnoreCase("ignorevote")) { @@ -432,7 +436,10 @@ if (playerTasks.containsKey(uuid)) { App.main.getLogger().info("Die angegebene UUID ist inkorrekt!"); } } - + if (label.equalsIgnoreCase("r3load")) { + Bukkit.reload(); + App.main.getLogger().info("Plugins neu geladen!"); + } } return true; } diff --git a/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExListeners.java b/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExListeners.java index 2b323f4..3ecd1df 100755 --- a/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExListeners.java +++ b/environmentex/src/main/java/de/hessj/environmentex/EnvironmentExListeners.java @@ -1097,60 +1097,5 @@ if(LoginListener.customConfig.getBoolean("players." + p.getUniqueId() + ".ignore } return; } - - if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) - && e.getCurrentItem().getType().equals(Material.AIR) - && e.getClickedInventory().getType().equals(InventoryType.PLAYER)) { - if (e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.CHEST - || e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.ENDER_CHEST - || e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.SHULKER_BOX) { - // WENN IN INVENTAR GEKLICKT SCHIEBE VON OPEN NACH INV - int i = 0; - for (ItemStack is : e.getWhoClicked().getOpenInventory().getTopInventory().getStorageContents()) { - if (e.getWhoClicked().getInventory().firstEmpty() == -1) { - return; - } - if (is != null) { - e.getWhoClicked().getOpenInventory().getTopInventory().setItem(i, null); - e.getWhoClicked().getInventory().addItem(is); - } - i++; - } - } - - } else if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) - && e.getCurrentItem().getType().equals(Material.AIR) && - (e.getClickedInventory().getType().equals(InventoryType.CHEST) - || e.getWhoClicked().getOpenInventory().getTopInventory() - .getType() == InventoryType.ENDER_CHEST)) { - - // WENN OPEN GEKLICKT SCHIEBE VON INV NACH OPEN - int i = 0; - for (ItemStack is : e.getWhoClicked().getInventory().getStorageContents()) { - if (e.getWhoClicked().getOpenInventory().getTopInventory().firstEmpty() == -1) { - return; - } - if (is != null) { - e.getWhoClicked().getInventory().setItem(i, null); - e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is); - } - i++; - } - } else if (e.getClick().toString().equals("DOUBLE_CLICK") && e.getCursor().getType().equals(Material.AIR) - && e.getCurrentItem().getType().equals(Material.AIR) - && e.getWhoClicked().getOpenInventory().getTopInventory().getType() == InventoryType.SHULKER_BOX) { - int i = 0; - for (ItemStack is : e.getWhoClicked().getInventory().getStorageContents()) { - if (e.getWhoClicked().getOpenInventory().getTopInventory().firstEmpty() == -1) { - return; - } - if (is != null && (e.getWhoClicked().getOpenInventory().getTopInventory().getType() - .equals(InventoryType.SHULKER_BOX) && !is.getType().toString().contains("SHULKER_BOX"))) { - e.getWhoClicked().getInventory().setItem(i, null); - e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is); - } - i++; - } - } } } diff --git a/environmentex/src/main/resources/plugin.yml b/environmentex/src/main/resources/plugin.yml index 4839a8c..667a476 100755 --- a/environmentex/src/main/resources/plugin.yml +++ b/environmentex/src/main/resources/plugin.yml @@ -24,4 +24,7 @@ commands: usage: / ignorevote: description: Setzt den Ignorevote Status + usage: / + r3load: + description: ---- usage: / \ No newline at end of file