forked from SteamWar/SteamWar
[fightsystem]: Fix broken kit system
This commit is contained in:
+1
-5
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
+11
-23
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user