[fightsystem]: Fix broken kit system

This commit is contained in:
zOnlyKroks
2026-05-03 12:52:23 +02:00
parent 8e392b56c3
commit 5b1ed644d1
2 changed files with 13 additions and 29 deletions
@@ -24,10 +24,6 @@ import org.bukkit.inventory.ItemStack;
public class FlatteningWrapper21 extends FlatteningWrapper14 {
@Override
public boolean hasAttributeModifier(ItemStack stack) {
if (!stack.getDataTypes().isEmpty()) {
return true;
}
return super.hasAttributeModifier(stack);
return stack.hasItemMeta() && stack.getItemMeta() != null && stack.getItemMeta().hasAttributeModifiers();
}
}
@@ -35,10 +35,7 @@ import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.event.inventory.*;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
@@ -81,25 +78,8 @@ public class PersonalKitCreator implements Listener {
if(!openKitCreators.containsKey(e.getWhoClicked()))
return;
Player player = (Player) e.getWhoClicked();
//Deny bad items
if(Kit.isBadItem(e.getCursor()))
e.setCancelled(true);
/* Should the inventory reset? */
if(e.getAction() != InventoryAction.PLACE_ALL)
return;
ItemStack[] items = e.getWhoClicked().getInventory().getContents();
for(int i = 0; i < items.length; i++){
ItemStack stack = items[i];
if(stack != null && i != e.getSlot())
return;
}
FightPlayer fightPlayer = Fight.getFightPlayer(player);
assert fightPlayer != null;
Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), () -> fightPlayer.getKit().loadToPlayer(player), 1);
}
@EventHandler
@@ -117,8 +97,14 @@ public class PersonalKitCreator implements Listener {
if(backup == null)
return;
InventoryType type = e.getInventory().getType();
if(type == InventoryType.CHEST || type == InventoryType.DISPENSER ||
type == InventoryType.FURNACE || type == InventoryType.HOPPER ||
type == InventoryType.DROPPER || type == InventoryType.BARREL ||
type == InventoryType.BREWING || type == InventoryType.ENCHANTING) {
backup.close();
}
}
@EventHandler
public void onInventoryClose(InventoryCloseEvent e) {
@@ -126,7 +112,7 @@ public class PersonalKitCreator implements Listener {
if(backup == null)
return;
backup.close();
Bukkit.getScheduler().runTaskLater(FightSystem.getPlugin(), backup::close, 1);
}
@EventHandler
@@ -151,9 +137,11 @@ public class PersonalKitCreator implements Listener {
}
private void close(){
openKitCreators.remove(player);
Kit kit1 = new Kit(kit.getName(), player);
kit1.removeBadItems();
openKitCreators.remove(player);
kit1.toPersonalKit(kit);
backup.loadToPlayer(player);
player.setGameMode(GameMode.SURVIVAL);