moved backpacks to own class
All checks were successful
Gitea Actions Demo / Build-Gradle (push) Successful in 2m21s
All checks were successful
Gitea Actions Demo / Build-Gradle (push) Successful in 2m21s
This commit is contained in:
@@ -10,8 +10,6 @@ import net.kyori.adventure.text.Component;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
@@ -24,8 +22,6 @@ import org.bukkit.inventory.RecipeChoice.MaterialChoice;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.components.CustomModelDataComponent;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -471,6 +467,7 @@ public class App extends JavaPlugin {
|
||||
pM.registerEvents(new EntityMuter(), this);
|
||||
pM.registerEvents(new BetterHoes(), this);
|
||||
pM.registerEvents(new ChestEx(), this);
|
||||
pM.registerEvents(new Backpacks(), this);
|
||||
getCommand("test").setExecutor(new EnvironmentExCommands());
|
||||
getCommand("y").setExecutor(new EnvironmentExCommands());
|
||||
getCommand("n").setExecutor(new EnvironmentExCommands());
|
||||
|
||||
@@ -0,0 +1,707 @@
|
||||
package de.hessj.environmentex;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.block.data.type.Fence;
|
||||
import org.bukkit.block.data.type.Stairs;
|
||||
import org.bukkit.entity.Item;
|
||||
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.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.inventory.FurnaceBurnEvent;
|
||||
import org.bukkit.event.inventory.InventoryAction;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
||||
import org.bukkit.event.player.PlayerAttemptPickupItemEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
import de.hessj.helper.Helper;
|
||||
import net.kyori.adventure.text.Component;
|
||||
|
||||
public class Backpacks implements Listener{
|
||||
public static HashMap<Player, Inventory> hm = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm2 = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm3 = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm4 = new HashMap<Player, Inventory>();
|
||||
|
||||
@EventHandler
|
||||
public void onItemCollect(PlayerAttemptPickupItemEvent e) throws IOException {
|
||||
|
||||
if (e.getPlayer().getInventory().firstEmpty() == -1 && e.getRemaining() > 0) {
|
||||
Item itm = e.getItem();
|
||||
|
||||
if (itm.getItemStack().getType() == Material.BARRIER && e.getItem().getItemStack().hasItemMeta()) {
|
||||
|
||||
if (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk,
|
||||
PersistentDataType.STRING)
|
||||
&& (itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING).equals("R3S_kleiner_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).equals("R3S_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).equals("R3S_großer_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING)
|
||||
.equals("R3S_riesiger_Rucksack"))) {
|
||||
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack)) {
|
||||
checkBackpack(1, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack2)) {
|
||||
checkBackpack(2, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack3)) {
|
||||
checkBackpack(3, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack4)) {
|
||||
checkBackpack(4, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void checkBackpack(int size, Player p, ItemStack i) throws IOException {
|
||||
|
||||
Boolean freespace = false;
|
||||
Inventory inv = Bukkit.createInventory(null, 9, Component.translatable("new"));
|
||||
|
||||
if (size == 1) {
|
||||
inv = Bukkit.createInventory(null, 9, Component.translatable("tempBackpack"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.leatherbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 2) {
|
||||
inv = Bukkit.createInventory(null, 18, Component.translatable("tempBackpack2"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.ironbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 3) {
|
||||
inv = Bukkit.createInventory(null, 27, Component.translatable("tempBackpack3"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.goldbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 4) {
|
||||
inv = Bukkit.createInventory(null, 36, Component.translatable("tempBackpack4"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.diamondbackpack"));
|
||||
inv.setContents(is);
|
||||
}
|
||||
|
||||
for (ItemStack is : inv.getContents()) {
|
||||
if (is != null) {
|
||||
if (is.isSimilar(i)) {
|
||||
int iscount = is.getAmount();
|
||||
int itemcount = i.getAmount();
|
||||
if (is.getAmount() == is.getMaxStackSize()) {
|
||||
// nix tun
|
||||
} else {
|
||||
if (iscount + itemcount > is.getMaxStackSize()) {
|
||||
|
||||
is.setAmount(is.getMaxStackSize());
|
||||
|
||||
i.subtract(is.getMaxStackSize() - (itemcount + iscount - is.getMaxStackSize()));
|
||||
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP,
|
||||
0.25F, 1.8F);
|
||||
|
||||
} else {
|
||||
is.setAmount(iscount + itemcount);
|
||||
i.setAmount(0);
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP,
|
||||
0.25F, 1.8F);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
freespace = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (freespace) {
|
||||
inv.setItem(inv.firstEmpty(), i);
|
||||
i.setAmount(0);
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 0.25F, 1.8F);
|
||||
}
|
||||
|
||||
if (size == 1) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 2) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 3) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 4) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
}
|
||||
App.main.saveConfig();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBackpackUse(PlayerInteractEvent e) {
|
||||
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK) {
|
||||
return;
|
||||
}
|
||||
if (e.getPlayer().getInventory().getItemInOffHand() != null
|
||||
&& e.getPlayer().getInventory().getItemInOffHand().getItemMeta() != null) {
|
||||
if (e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// ItemStack is = e.getPlayer().getInventory().getItemInOffHand();
|
||||
if (e.getPlayer().getInventory().getItemInMainHand() != null
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta() != null) {
|
||||
if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| e.getClickedBlock() != null && (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) {
|
||||
// inv = Bukkit.createInventory(null, 9, Component.translatable("Kleiner
|
||||
// Rucksack"));
|
||||
hm.put(e.getPlayer(), Bukkit.createInventory(null, 9, Component.translatable("Kleiner Rucksack")));
|
||||
// e.getPlayer().openInventory(inv);
|
||||
|
||||
e.setCancelled(true);
|
||||
|
||||
e.getPlayer().openInventory(hm.get(e.getPlayer()));
|
||||
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv2 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 18,
|
||||
// Component.translatable("Rucksack"));
|
||||
hm2.put(e.getPlayer(), Bukkit.createInventory(null, 18, Component.translatable("Rucksack")));
|
||||
// e.getPlayer().openInventory(inv2);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm2.get(e.getPlayer()));
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv3 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 27,
|
||||
// Component.translatable("Großer
|
||||
// Rucksack"));
|
||||
hm3.put(e.getPlayer(), Bukkit.createInventory(null, 27, Component.translatable("Großer Rucksack")));
|
||||
// e.getPlayer().openInventory(inv3);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm3.get(e.getPlayer()));
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv4 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 36,
|
||||
// Component.translatable("Riesiger
|
||||
// Rucksack"));
|
||||
hm4.put(e.getPlayer(),
|
||||
Bukkit.createInventory(null, 36, Component.translatable("Riesiger Rucksack")));
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm4.get(e.getPlayer()));
|
||||
// e.getPlayer().openInventory(inv4);
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@EventHandler
|
||||
public void onBackpackClose(InventoryCloseEvent e) {
|
||||
if (e.getInventory() == hm.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm2.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm3.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm4.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDeath(PlayerDeathEvent e) throws IllegalArgumentException, IOException {
|
||||
e.deathMessage(null);
|
||||
for (ItemStack is : e.getPlayer().getInventory().getContents()) {
|
||||
if (is == null || !is.hasItemMeta() || is.getItemMeta().getPersistentDataContainer() == null) {
|
||||
// return;
|
||||
}
|
||||
|
||||
else {
|
||||
if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk, PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 9,
|
||||
Component.translatable("Kleiner Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 18, Component.translatable("Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 27,
|
||||
Component.translatable("Großer Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 36,
|
||||
Component.translatable("Riesiger Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBackpackOpen(InventoryOpenEvent e) throws IOException {
|
||||
try {
|
||||
if (e.getView().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_kleiner_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).toString().equals("R3S_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_großer_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_riesiger_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onInvMove(InventoryDragEvent e) {
|
||||
if (e.getInventory() != null && e.getInventory().getType() == InventoryType.CHEST) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
for (Object s : e.getRawSlots()) {
|
||||
if ((int) s > e.getWhoClicked().getOpenInventory().getTopInventory().getSize()) {
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (e.getOldCursor() != null) {
|
||||
if (e.getOldCursor().equals(App.main.backPack) || e.getOldCursor().equals(App.main.backPack2)
|
||||
|| e.getOldCursor().equals(App.main.backPack3)
|
||||
|| e.getOldCursor().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@EventHandler
|
||||
public void onInvMove(InventoryClickEvent e) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getType() == InventoryType.CHEST) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
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
|
||||
|
||||
if (e.getView().getBottomInventory().getItem(e.getHotbarButton()) != null && (e.getView()
|
||||
.getBottomInventory().getItem(e.getHotbarButton()).equals(App.main.backPack)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack2)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack3)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack4))) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (e.getHotbarButton() != -1
|
||||
&& e.getWhoClicked().getInventory().getItem(e.getHotbarButton()) != null) {
|
||||
if (e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack2)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack3)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (e.getWhoClicked().getInventory().getItemInOffHand() != null && (e.getWhoClicked()
|
||||
.getInventory().getItemInOffHand().equals(App.main.backPack)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack2)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack3)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack4))) {
|
||||
ItemStack bpIs = e.getWhoClicked().getInventory().getItemInOffHand();
|
||||
e.setCancelled(true);
|
||||
e.getWhoClicked().getInventory().setItemInOffHand(bpIs);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (e.getCursor() != null) {
|
||||
if (e.getCursor().equals(App.main.backPack) || e.getCursor().equals(App.main.backPack2)
|
||||
|| e.getCursor().equals(App.main.backPack3) || e.getCursor().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (e.isShiftClick()) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getItem(e.getSlot()) != null) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getItem(e.getSlot()) != null) {
|
||||
if (e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer() != null) {
|
||||
if (e.getClickedInventory().getItem(e.getSlot()).getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer().get(App.main.nsk, PersistentDataType.STRING)
|
||||
.toString().equals("R3S_kleiner_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_großer_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_riesiger_Rucksack")) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void craftBlocker(PrepareItemCraftEvent evt) {
|
||||
|
||||
if (evt.getRecipe() != null && evt.getRecipe().getResult() != null) {
|
||||
if (!evt.getRecipe().getResult().equals(App.main.backPack)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack2)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack3)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack4)) {
|
||||
if (evt.getInventory().containsAtLeast(App.main.backPack, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack2, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack3, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack4, 1)) {
|
||||
evt.getInventory().setResult(null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void ovenBlocker(FurnaceBurnEvent e) {
|
||||
|
||||
if (e.getFuel() != null && e.getFuel().equals(App.main.backPack) || e.getFuel().equals(App.main.backPack2)
|
||||
|| e.getFuel().equals(App.main.backPack3) || e.getFuel().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void clearInventroy(InventoryClickEvent e) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
if (e.getClick() == ClickType.DOUBLE_CLICK) {
|
||||
if (e.getClickedInventory().getType().equals(InventoryType.PLAYER)) {
|
||||
|
||||
int i = 0;
|
||||
for (ItemStack is : e.getWhoClicked().getOpenInventory().getTopInventory().getStorageContents()) {
|
||||
if (e.getWhoClicked().getInventory().firstEmpty() == -1) {
|
||||
return;
|
||||
}
|
||||
if (is != null) {
|
||||
e.getWhoClicked().getInventory().addItem(is);
|
||||
e.getWhoClicked().getOpenInventory().getTopInventory().setItem(i, null);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
} else {
|
||||
// WENN IHC OPEN KLICKE ALLES 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) {
|
||||
|
||||
if (is.getItemMeta() != null && is.getItemMeta().getPersistentDataContainer() != null) {
|
||||
|
||||
if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)
|
||||
|| (e.getWhoClicked().getOpenInventory().getTopInventory().getType()
|
||||
.equals(InventoryType.SHULKER_BOX)
|
||||
&& is.getType().toString().contains("SHULKER_BOX"))) {
|
||||
|
||||
} else {
|
||||
e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is);
|
||||
e.getWhoClicked().getInventory().setItem(i, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package de.hessj.environmentex;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -19,8 +18,6 @@ import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -36,11 +33,10 @@ public class EnvironmentExCommands implements CommandExecutor, Listener {
|
||||
public static HashMap<UUID, BossBar> bossBars = new HashMap<>();
|
||||
int taskId;
|
||||
|
||||
|
||||
public boolean isPlayerOnlineByName(String name) {
|
||||
public boolean isPlayerOnlineByName(String name) {
|
||||
Player player = Bukkit.getPlayer(name);
|
||||
return player != null && player.isOnline();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
@@ -72,31 +68,23 @@ public boolean isPlayerOnlineByName(String name) {
|
||||
}
|
||||
if (label.equalsIgnoreCase("ignorevote")) {
|
||||
|
||||
if (args.length != 1) {
|
||||
return false;
|
||||
}
|
||||
Player p = (Player) sender;
|
||||
|
||||
|
||||
|
||||
if(args.length != 1){
|
||||
return false;
|
||||
}
|
||||
Player p = (Player) sender;
|
||||
|
||||
|
||||
|
||||
if(!args[0].equalsIgnoreCase("false") && !args[0].equalsIgnoreCase("true")) {
|
||||
if (!args[0].equalsIgnoreCase("false") && !args[0].equalsIgnoreCase("true")) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR,
|
||||
"Benutzung: /ignorevote <true | false>"));
|
||||
return true;
|
||||
}
|
||||
|
||||
LoginListener.customConfig.set("players." + p.getUniqueId() + ".ignorevote", Boolean.parseBoolean(args[0]));
|
||||
LoginListener.customConfig.set("players." + p.getUniqueId() + ".ignorevote",
|
||||
Boolean.parseBoolean(args[0]));
|
||||
LoginListener.saveCustomYml(LoginListener.customConfig, LoginListener.customYml);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (label.equalsIgnoreCase("pin")) {
|
||||
Player p = (Player) sender;
|
||||
UUID playerId = p.getUniqueId();
|
||||
@@ -117,22 +105,17 @@ Player p = (Player) sender;
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Benutzung: /pin share <id> <onlineplayer>"));
|
||||
return true;
|
||||
}
|
||||
if(isPlayerOnlineByName(args[2].toString()) == false) {
|
||||
if (isPlayerOnlineByName(args[2].toString()) == false) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Dieser Spieler ist nicht online!"));
|
||||
return true;
|
||||
}
|
||||
if(Bukkit.getPlayer(args[2].toString()).getUniqueId().equals(p.getUniqueId())){
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Du kannst deine Pins nicht an dich selbst teilen!"));
|
||||
if (Bukkit.getPlayer(args[2].toString()).getUniqueId().equals(p.getUniqueId())) {
|
||||
p.sendMessage(
|
||||
helper.R3SMessage(Type.ERROR, "Du kannst deine Pins nicht an dich selbst teilen!"));
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int pinId1 = Integer.parseInt(args[1]);
|
||||
String pinName1 = PinFeature.pinConfig.getString(playerId + "." + pinId1 + ".name");
|
||||
String locationString1 = PinFeature.pinConfig.getString(playerId + "." + pinId1 + ".loc");
|
||||
@@ -147,58 +130,45 @@ Player p = (Player) sender;
|
||||
String[] locParts = locationString1.split(", ");
|
||||
App.main.log("World: " + locParts[0]);
|
||||
|
||||
|
||||
/*
|
||||
ALSO CHECK IF PIN WITH NAME + LOC EXISTS
|
||||
// **Nimmt den gesamten Text nach "/pin set" als Namen**
|
||||
String pinName = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
|
||||
Location playerLocation = p.getLocation();
|
||||
|
||||
// **Kleinste verfügbare ID suchen**
|
||||
int nextId = 1;
|
||||
ConfigurationSection playerSection = PinFeature.pinConfig
|
||||
.getConfigurationSection(playerId.toString());
|
||||
if (playerSection != null) {
|
||||
Set<Integer> existingIds = playerSection.getKeys(false).stream()
|
||||
.map(Integer::parseInt)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
while (existingIds.contains(nextId)) {
|
||||
nextId++;
|
||||
}
|
||||
}
|
||||
|
||||
pins.put(pinName, playerLocation);
|
||||
String locationString = playerLocation.getWorld().getName() + ", " +
|
||||
playerLocation.getBlockX() + ", " +
|
||||
playerLocation.getBlockY() + ", " +
|
||||
playerLocation.getBlockZ();
|
||||
|
||||
PinFeature.pinConfig.set(playerId + "." + nextId + ".name", pinName);
|
||||
PinFeature.pinConfig.set(playerId + "." + nextId + ".loc", locationString);
|
||||
savePins();
|
||||
/*
|
||||
* ALSO CHECK IF PIN WITH NAME + LOC EXISTS
|
||||
* // **Nimmt den gesamten Text nach "/pin set" als Namen**
|
||||
* String pinName = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
|
||||
* Location playerLocation = p.getLocation();
|
||||
*
|
||||
* // **Kleinste verfügbare ID suchen**
|
||||
* int nextId = 1;
|
||||
* ConfigurationSection playerSection = PinFeature.pinConfig
|
||||
* .getConfigurationSection(playerId.toString());
|
||||
* if (playerSection != null) {
|
||||
* Set<Integer> existingIds = playerSection.getKeys(false).stream()
|
||||
* .map(Integer::parseInt)
|
||||
* .collect(Collectors.toSet());
|
||||
*
|
||||
* while (existingIds.contains(nextId)) {
|
||||
* nextId++;
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* pins.put(pinName, playerLocation);
|
||||
* String locationString = playerLocation.getWorld().getName() + ", " +
|
||||
* playerLocation.getBlockX() + ", " +
|
||||
* playerLocation.getBlockY() + ", " +
|
||||
* playerLocation.getBlockZ();
|
||||
*
|
||||
* PinFeature.pinConfig.set(playerId + "." + nextId + ".name", pinName);
|
||||
* PinFeature.pinConfig.set(playerId + "." + nextId + ".loc", locationString);
|
||||
* savePins();
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Bukkit.getPlayer(args[2].toString()).sendMessage(helper.R3SMessage(Type.SUCCESS, "Du hast den Pin '" + pinName1 + "' von " + p.getName() + " erhalten!"));
|
||||
p.sendMessage(helper.R3SMessage(Type.SUCCESS, "Du hast den Pin '" + pinName1 + "' an " + args[2].toString() + " geteilt!"));
|
||||
Bukkit.getPlayer(args[2].toString()).sendMessage(helper.R3SMessage(Type.SUCCESS,
|
||||
"Du hast den Pin '" + pinName1 + "' von " + p.getName() + " erhalten!"));
|
||||
p.sendMessage(helper.R3SMessage(Type.SUCCESS,
|
||||
"Du hast den Pin '" + pinName1 + "' an " + args[2].toString() + " geteilt!"));
|
||||
} catch (NumberFormatException e) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Ungültige Pin-ID."));
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
case "set":
|
||||
if (args.length < 2) {
|
||||
@@ -304,12 +274,6 @@ ALSO CHECK IF PIN WITH NAME + LOC EXISTS
|
||||
|
||||
try {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int pinId1 = Integer.parseInt(args[1]);
|
||||
String pinName1 = PinFeature.pinConfig.getString(playerId + "." + pinId1 + ".name");
|
||||
String locationString1 = PinFeature.pinConfig.getString(playerId + "." + pinId1 + ".loc");
|
||||
@@ -326,16 +290,17 @@ ALSO CHECK IF PIN WITH NAME + LOC EXISTS
|
||||
int y = Integer.parseInt(locParts[2]);
|
||||
int z = Integer.parseInt(locParts[3]);
|
||||
|
||||
if(!p.getLocation().getWorld().getName().toString().equals(worldName.toString())) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Du kannst nur Pins aus deiner aktuellen Welt folgen."));
|
||||
if (!p.getLocation().getWorld().getName().toString().equals(worldName.toString())) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR,
|
||||
"Du kannst nur Pins aus deiner aktuellen Welt folgen."));
|
||||
return true;
|
||||
}
|
||||
|
||||
p.sendMessage(helper.R3SMessage(Type.SUCCESS, "Du folgst nun dem Pin '" + pinName1 + "'"));
|
||||
p.sendMessage(helper.R3SMessage(Type.SUCCESS, "Du folgst nun dem Pin '" + pinName1 + "'"));
|
||||
|
||||
UUID uuid = p.getUniqueId();
|
||||
|
||||
if (playerTasks.containsKey(uuid)) {
|
||||
if (playerTasks.containsKey(uuid)) {
|
||||
BukkitTask existingTask = playerTasks.remove(uuid); // remove from map
|
||||
existingTask.cancel(); // cancel the repeating task
|
||||
}
|
||||
@@ -345,9 +310,9 @@ if (playerTasks.containsKey(uuid)) {
|
||||
int cur_y = (int) p.getLocation().getBlockY();
|
||||
int cur_z = (int) p.getLocation().getBlockZ();
|
||||
|
||||
|
||||
// BossBar erstellen/aktualisieren
|
||||
BossBar bossBar = Bukkit.createBossBar("Entfernung: " + (cur_x-x) + ", " + (cur_y-y) + ", " + (cur_z-z),
|
||||
BossBar bossBar = Bukkit.createBossBar(
|
||||
"Entfernung: " + (cur_x - x) + ", " + (cur_y - y) + ", " + (cur_z - z),
|
||||
BarColor.WHITE, BarStyle.SOLID);
|
||||
bossBar.setProgress(0.0);
|
||||
|
||||
@@ -358,29 +323,10 @@ if (playerTasks.containsKey(uuid)) {
|
||||
bossBar.addPlayer(p);
|
||||
bossBars.put(p.getUniqueId(), bossBar);
|
||||
|
||||
|
||||
}, 0L, 5L);
|
||||
|
||||
playerTasks.put(uuid, task);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (NumberFormatException e) {
|
||||
p.sendMessage(helper.R3SMessage(Type.ERROR, "Kein Pin mit dieser ID gefunden."));
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package de.hessj.environmentex;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
@@ -18,44 +16,19 @@ import org.bukkit.Statistic;
|
||||
import org.bukkit.Tag;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.data.type.Fence;
|
||||
import org.bukkit.block.data.type.Leaves;
|
||||
import org.bukkit.block.data.type.Stairs;
|
||||
import org.bukkit.entity.Axolotl;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Fish;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Squid;
|
||||
import org.bukkit.entity.WanderingTrader;
|
||||
import org.bukkit.entity.memory.MemoryKey;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.Event.Result;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.LeavesDecayEvent;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.inventory.FurnaceBurnEvent;
|
||||
import org.bukkit.event.inventory.InventoryAction;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.inventory.PrepareItemCraftEvent;
|
||||
import org.bukkit.event.player.PlayerAttemptPickupItemEvent;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.MerchantRecipe;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import de.hessj.helper.Helper;
|
||||
import de.hessj.helper.Helper.*;
|
||||
|
||||
public class EnvironmentExListeners implements Listener {
|
||||
@@ -365,619 +338,6 @@ if(LoginListener.customConfig.getBoolean("players." + p.getUniqueId() + ".ignore
|
||||
BlockFace.DOWN);
|
||||
}
|
||||
|
||||
public static HashMap<Player, Inventory> hm = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm2 = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm3 = new HashMap<Player, Inventory>();
|
||||
public static HashMap<Player, Inventory> hm4 = new HashMap<Player, Inventory>();
|
||||
|
||||
@EventHandler
|
||||
public void onItemCollect(PlayerAttemptPickupItemEvent e) throws IOException {
|
||||
|
||||
if (e.getPlayer().getInventory().firstEmpty() == -1 && e.getRemaining() > 0) {
|
||||
Item itm = e.getItem();
|
||||
|
||||
if (itm.getItemStack().getType() == Material.BARRIER && e.getItem().getItemStack().hasItemMeta()) {
|
||||
|
||||
if (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk,
|
||||
PersistentDataType.STRING)
|
||||
&& (itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING).equals("R3S_kleiner_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).equals("R3S_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).equals("R3S_großer_Rucksack"))
|
||||
|| (itm.getItemStack().getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)
|
||||
&& itm.getItemStack().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING)
|
||||
.equals("R3S_riesiger_Rucksack"))) {
|
||||
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack)) {
|
||||
checkBackpack(1, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack2)) {
|
||||
checkBackpack(2, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack3)) {
|
||||
checkBackpack(3, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
if (e.getPlayer().getInventory().contains(App.main.backPack4)) {
|
||||
checkBackpack(4, e.getPlayer(), itm.getItemStack());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void checkBackpack(int size, Player p, ItemStack i) throws IOException {
|
||||
|
||||
Boolean freespace = false;
|
||||
Inventory inv = Bukkit.createInventory(null, 9, Component.translatable("new"));
|
||||
|
||||
if (size == 1) {
|
||||
inv = Bukkit.createInventory(null, 9, Component.translatable("tempBackpack"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.leatherbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 2) {
|
||||
inv = Bukkit.createInventory(null, 18, Component.translatable("tempBackpack2"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.ironbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 3) {
|
||||
inv = Bukkit.createInventory(null, 27, Component.translatable("tempBackpack3"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.goldbackpack"));
|
||||
inv.setContents(is);
|
||||
} else if (size == 4) {
|
||||
inv = Bukkit.createInventory(null, 36, Component.translatable("tempBackpack4"));
|
||||
ItemStack[] is;
|
||||
is = Helper.itemStackArrayFromBase64(
|
||||
App.main.getConfig().getString(p.getUniqueId() + ".backpack.contents.diamondbackpack"));
|
||||
inv.setContents(is);
|
||||
}
|
||||
|
||||
for (ItemStack is : inv.getContents()) {
|
||||
if (is != null) {
|
||||
if (is.isSimilar(i)) {
|
||||
int iscount = is.getAmount();
|
||||
int itemcount = i.getAmount();
|
||||
if (is.getAmount() == is.getMaxStackSize()) {
|
||||
// nix tun
|
||||
} else {
|
||||
if (iscount + itemcount > is.getMaxStackSize()) {
|
||||
|
||||
is.setAmount(is.getMaxStackSize());
|
||||
|
||||
i.subtract(is.getMaxStackSize() - (itemcount + iscount - is.getMaxStackSize()));
|
||||
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP,
|
||||
0.25F, 1.8F);
|
||||
|
||||
} else {
|
||||
is.setAmount(iscount + itemcount);
|
||||
i.setAmount(0);
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP,
|
||||
0.25F, 1.8F);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
freespace = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (freespace) {
|
||||
inv.setItem(inv.firstEmpty(), i);
|
||||
i.setAmount(0);
|
||||
// PLAYSOUND
|
||||
Bukkit.getServer().getWorlds().get(0).playSound(p.getLocation(), Sound.ENTITY_ITEM_PICKUP, 0.25F, 1.8F);
|
||||
}
|
||||
|
||||
if (size == 1) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 2) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 3) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
} else if (size == 4) {
|
||||
App.main.getConfig().set(p.getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(inv.getContents()));
|
||||
}
|
||||
App.main.saveConfig();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBackpackUse(PlayerInteractEvent e) {
|
||||
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.LEFT_CLICK_BLOCK) {
|
||||
return;
|
||||
}
|
||||
if (e.getPlayer().getInventory().getItemInOffHand() != null
|
||||
&& e.getPlayer().getInventory().getItemInOffHand().getItemMeta() != null) {
|
||||
if (e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
|| e.getPlayer().getInventory().getItemInOffHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// ItemStack is = e.getPlayer().getInventory().getItemInOffHand();
|
||||
if (e.getPlayer().getInventory().getItemInMainHand() != null
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta() != null) {
|
||||
if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| e.getClickedBlock() != null && (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) {
|
||||
// inv = Bukkit.createInventory(null, 9, Component.translatable("Kleiner
|
||||
// Rucksack"));
|
||||
hm.put(e.getPlayer(), Bukkit.createInventory(null, 9, Component.translatable("Kleiner Rucksack")));
|
||||
// e.getPlayer().openInventory(inv);
|
||||
|
||||
e.setCancelled(true);
|
||||
|
||||
e.getPlayer().openInventory(hm.get(e.getPlayer()));
|
||||
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv2 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 18,
|
||||
// Component.translatable("Rucksack"));
|
||||
hm2.put(e.getPlayer(), Bukkit.createInventory(null, 18, Component.translatable("Rucksack")));
|
||||
// e.getPlayer().openInventory(inv2);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm2.get(e.getPlayer()));
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv3 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 27,
|
||||
// Component.translatable("Großer
|
||||
// Rucksack"));
|
||||
hm3.put(e.getPlayer(), Bukkit.createInventory(null, 27, Component.translatable("Großer Rucksack")));
|
||||
// e.getPlayer().openInventory(inv3);
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm3.get(e.getPlayer()));
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)
|
||||
&& 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
|
||||
&& (!App.helper.isInteractable(e.getClickedBlock()))
|
||||
|| (App.helper.isInteractable(e.getClickedBlock())
|
||||
&& (e.getClickedBlock().getBlockData() != null
|
||||
&& (e.getClickedBlock().getBlockData() instanceof Stairs
|
||||
|| e.getClickedBlock().getBlockData() instanceof Fence))))) { // inv4 =
|
||||
// Bukkit.createInventory(null,
|
||||
// 36,
|
||||
// Component.translatable("Riesiger
|
||||
// Rucksack"));
|
||||
hm4.put(e.getPlayer(),
|
||||
Bukkit.createInventory(null, 36, Component.translatable("Riesiger Rucksack")));
|
||||
e.setCancelled(true);
|
||||
e.getPlayer().openInventory(hm4.get(e.getPlayer()));
|
||||
// e.getPlayer().openInventory(inv4);
|
||||
/*Bukkit.getScheduler().scheduleSyncDelayedTask(App.main, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
App.main.log(is.toString());
|
||||
//e.getPlayer().getInventory().setItemInOffHand(new ItemStack(Material.ACACIA_BOAT));
|
||||
}
|
||||
}, 10L);*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBackpackClose(InventoryCloseEvent e) {
|
||||
if (e.getInventory() == hm.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm2.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm3.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
} else if (e.getInventory() == hm4.get(e.getPlayer())) {
|
||||
if (!App.main.getConfig().contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
App.main.getConfig().createSection(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack");
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(e.getInventory().getContents()));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDeath(PlayerDeathEvent e) throws IllegalArgumentException, IOException {
|
||||
e.deathMessage(null);
|
||||
for (ItemStack is : e.getPlayer().getInventory().getContents()) {
|
||||
if (is == null || !is.hasItemMeta() || is.getItemMeta().getPersistentDataContainer() == null) {
|
||||
// return;
|
||||
}
|
||||
|
||||
else {
|
||||
if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk, PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 9,
|
||||
Component.translatable("Kleiner Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 18, Component.translatable("Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 27,
|
||||
Component.translatable("Großer Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
} else if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
Inventory inv = Bukkit.createInventory(null, 36,
|
||||
Component.translatable("Riesiger Rucksack DEAD"));
|
||||
inv.setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")));
|
||||
for (ItemStack bis : inv.getContents()) {
|
||||
if (bis != null) {
|
||||
e.getPlayer().getWorld().dropItem(e.getPlayer().getLocation(), bis);
|
||||
}
|
||||
|
||||
}
|
||||
App.main.getConfig().set(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack",
|
||||
Helper.itemStackArrayToBase64(new ItemStack[] {}));
|
||||
App.main.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBackpackOpen(InventoryOpenEvent e) throws IOException {
|
||||
try {
|
||||
if (e.getView().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getView().title().equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_kleiner_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.leatherbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk2, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).toString().equals("R3S_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.ironbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk3, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_großer_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.goldbackpack")));
|
||||
}
|
||||
} else if (e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.has(App.main.nsk4, PersistentDataType.STRING)
|
||||
&& e.getPlayer().getInventory().getItemInMainHand().getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_riesiger_Rucksack")) {
|
||||
if (App.main.getConfig()
|
||||
.contains(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")) {
|
||||
e.getInventory().setContents(Helper.itemStackArrayFromBase64(App.main.getConfig()
|
||||
.getString(e.getPlayer().getUniqueId() + ".backpack.contents.diamondbackpack")));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInvMove(InventoryDragEvent e) {
|
||||
if (e.getInventory() != null && e.getInventory().getType() == InventoryType.CHEST) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
for (Object s : e.getRawSlots()) {
|
||||
if ((int) s > e.getWhoClicked().getOpenInventory().getTopInventory().getSize()) {
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (e.getOldCursor() != null) {
|
||||
if (e.getOldCursor().equals(App.main.backPack) || e.getOldCursor().equals(App.main.backPack2)
|
||||
|| e.getOldCursor().equals(App.main.backPack3)
|
||||
|| e.getOldCursor().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInvMove(InventoryClickEvent e) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getType() == InventoryType.CHEST) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
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
|
||||
|
||||
if (e.getView().getBottomInventory().getItem(e.getHotbarButton()) != null && (e.getView()
|
||||
.getBottomInventory().getItem(e.getHotbarButton()).equals(App.main.backPack)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack2)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack3)
|
||||
|| e.getView().getBottomInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack4))) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (e.getHotbarButton() != -1
|
||||
&& e.getWhoClicked().getInventory().getItem(e.getHotbarButton()) != null) {
|
||||
if (e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack2)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack3)
|
||||
|| e.getWhoClicked().getInventory().getItem(e.getHotbarButton())
|
||||
.equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (e.getWhoClicked().getInventory().getItemInOffHand() != null && (e.getWhoClicked()
|
||||
.getInventory().getItemInOffHand().equals(App.main.backPack)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack2)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack3)
|
||||
|| e.getWhoClicked().getInventory().getItemInOffHand().equals(App.main.backPack4))) {
|
||||
ItemStack bpIs = e.getWhoClicked().getInventory().getItemInOffHand();
|
||||
e.setCancelled(true);
|
||||
e.getWhoClicked().getInventory().setItemInOffHand(bpIs);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (e.getCursor() != null) {
|
||||
if (e.getCursor().equals(App.main.backPack) || e.getCursor().equals(App.main.backPack2)
|
||||
|| e.getCursor().equals(App.main.backPack3) || e.getCursor().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (e.isShiftClick()) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title()
|
||||
.equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getItem(e.getSlot()) != null) {
|
||||
if (e.getClickedInventory() != null && e.getClickedInventory().getItem(e.getSlot()) != null) {
|
||||
if (e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer() != null) {
|
||||
if (e.getClickedInventory().getItem(e.getSlot()).getItemMeta().getPersistentDataContainer()
|
||||
.get(App.main.nsk, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer().get(App.main.nsk, PersistentDataType.STRING)
|
||||
.toString().equals("R3S_kleiner_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk2, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk3, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_großer_Rucksack")
|
||||
|| e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING) != null
|
||||
&& e.getClickedInventory().getItem(e.getSlot()).getItemMeta()
|
||||
.getPersistentDataContainer()
|
||||
.get(App.main.nsk4, PersistentDataType.STRING).toString()
|
||||
.equals("R3S_riesiger_Rucksack")) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void craftBlocker(PrepareItemCraftEvent evt) {
|
||||
|
||||
if (evt.getRecipe() != null && evt.getRecipe().getResult() != null) {
|
||||
if (!evt.getRecipe().getResult().equals(App.main.backPack)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack2)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack3)
|
||||
&& !evt.getRecipe().getResult().equals(App.main.backPack4)) {
|
||||
if (evt.getInventory().containsAtLeast(App.main.backPack, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack2, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack3, 1)
|
||||
|| evt.getInventory().containsAtLeast(App.main.backPack4, 1)) {
|
||||
evt.getInventory().setResult(null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void ovenBlocker(FurnaceBurnEvent e) {
|
||||
|
||||
if (e.getFuel() != null && e.getFuel().equals(App.main.backPack) || e.getFuel().equals(App.main.backPack2)
|
||||
|| e.getFuel().equals(App.main.backPack3) || e.getFuel().equals(App.main.backPack4)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onTraderDeath(EntityDeathEvent event) {
|
||||
if (event.getEntityType() == EntityType.WANDERING_TRADER) {
|
||||
@@ -1001,101 +361,5 @@ if(LoginListener.customConfig.getBoolean("players." + p.getUniqueId() + ".ignore
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void copperNerf(BlockBreakEvent e) {
|
||||
|
||||
if (e.getPlayer().getInventory().getItemInMainHand() == null
|
||||
|| (e.getBlock().getType().equals(Material.COPPER_ORE) == false
|
||||
&& e.getBlock().getType().equals(Material.DEEPSLATE_COPPER_ORE) == false)) {
|
||||
return;
|
||||
}
|
||||
if (e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.STONE_PICKAXE) ||
|
||||
e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.IRON_PICKAXE) ||
|
||||
e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.GOLDEN_PICKAXE) ||
|
||||
e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.DIAMOND_PICKAXE) ||
|
||||
e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.NETHERITE_PICKAXE)) {
|
||||
e.setCancelled(true);
|
||||
Location loc = e.getBlock().getLocation();
|
||||
e.getBlock().breakNaturally(new ItemStack(Material.AIR));
|
||||
Bukkit.getWorlds().get(0).dropItem(loc, new ItemStack(Material.RAW_COPPER, 1));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void axoNerf(EntityTargetLivingEntityEvent e) {
|
||||
if (e.getEntity() instanceof org.bukkit.entity.Axolotl
|
||||
&& (e.getTarget() instanceof Fish || e.getTarget() instanceof Squid)) {
|
||||
e.setTarget(null);
|
||||
Axolotl ax = (Axolotl) e.getEntity();
|
||||
MemoryKey<Boolean> mk = MemoryKey.HAS_HUNTING_COOLDOWN;
|
||||
ax.setMemory(mk, true);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void clearInventroy(InventoryClickEvent e) {
|
||||
if (e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Kleiner Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Großer Rucksack"))
|
||||
|| e.getWhoClicked().getOpenInventory().title().equals(Component.translatable("Riesiger Rucksack"))) {
|
||||
|
||||
if (e.getClick() == ClickType.DOUBLE_CLICK) {
|
||||
if (e.getClickedInventory().getType().equals(InventoryType.PLAYER)) {
|
||||
|
||||
int i = 0;
|
||||
for (ItemStack is : e.getWhoClicked().getOpenInventory().getTopInventory().getStorageContents()) {
|
||||
if (e.getWhoClicked().getInventory().firstEmpty() == -1) {
|
||||
return;
|
||||
}
|
||||
if (is != null) {
|
||||
e.getWhoClicked().getInventory().addItem(is);
|
||||
e.getWhoClicked().getOpenInventory().getTopInventory().setItem(i, null);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
} else {
|
||||
// WENN IHC OPEN KLICKE ALLES 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) {
|
||||
|
||||
if (is.getItemMeta() != null && is.getItemMeta().getPersistentDataContainer() != null) {
|
||||
|
||||
if (is.getItemMeta().getPersistentDataContainer().has(App.main.nsk,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk2,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk3,
|
||||
PersistentDataType.STRING)
|
||||
|| is.getItemMeta().getPersistentDataContainer().has(App.main.nsk4,
|
||||
PersistentDataType.STRING)
|
||||
|| (e.getWhoClicked().getOpenInventory().getTopInventory().getType()
|
||||
.equals(InventoryType.SHULKER_BOX)
|
||||
&& is.getType().toString().contains("SHULKER_BOX"))) {
|
||||
|
||||
} else {
|
||||
e.getWhoClicked().getOpenInventory().getTopInventory().addItem(is);
|
||||
e.getWhoClicked().getInventory().setItem(i, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user