From 6f293dce17ee0abcdd3d9f49b0fe452e7ff47aac Mon Sep 17 00:00:00 2001 From: Driftay Date: Sun, 24 May 2020 09:35:10 -0400 Subject: [PATCH] Fixed Kicked Player Staying In Fly Map & FPerms GUI Returning Only Black Stained Glass Pane --- pom.xml | 2 +- .../massivecraft/factions/cmd/CmdKick.java | 9 +++--- .../fperms/gui/PermissableActionFrame.java | 30 +++++++++---------- .../fperms/gui/PermissableRelationFrame.java | 24 +++++++++------ 4 files changed, 36 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index 38855197..eb43d718 100644 --- a/pom.xml +++ b/pom.xml @@ -108,7 +108,7 @@ com.github.stefvanschie.inventoryframework IF - 0.5.8 + 0.5.19 org.spigotmc diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdKick.java b/src/main/java/com/massivecraft/factions/cmd/CmdKick.java index 505bf8e5..4d2f36c3 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdKick.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdKick.java @@ -1,9 +1,6 @@ package com.massivecraft.factions.cmd; -import com.massivecraft.factions.Conf; -import com.massivecraft.factions.FPlayer; -import com.massivecraft.factions.Faction; -import com.massivecraft.factions.FactionsPlugin; +import com.massivecraft.factions.*; import com.massivecraft.factions.cmd.audit.FLogType; import com.massivecraft.factions.event.FPlayerLeaveEvent; import com.massivecraft.factions.struct.Permission; @@ -115,6 +112,7 @@ public class CmdKick extends FCommand { toKickFaction.msg(TL.COMMAND_KICK_FACTION, context.fPlayer.describeTo(toKickFaction, true), toKick.describeTo(toKickFaction, true)); toKick.msg(TL.COMMAND_KICK_KICKED, context.fPlayer.describeTo(toKick, true), toKickFaction.describeTo(toKick)); + if (toKickFaction != context.faction) { context.fPlayer.msg(TL.COMMAND_KICK_KICKS, toKick.describeTo(context.fPlayer), toKickFaction.describeTo(context.fPlayer)); } @@ -127,6 +125,9 @@ public class CmdKick extends FCommand { FactionsPlugin.instance.logFactionEvent(toKickFaction, FLogType.INVITES, context.fPlayer.getName(), CC.Red + "kicked", toKick.getName()); toKickFaction.deinvite(toKick); toKick.resetFactionData(); + if(!CmdFly.checkBypassPerms(toKick, toKick.getPlayer(), toKickFaction, false)){ + CmdFly.disableFlight(toKick); + } } @Override diff --git a/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableActionFrame.java b/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableActionFrame.java index cd530934..8d9ad3fb 100644 --- a/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableActionFrame.java +++ b/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableActionFrame.java @@ -19,6 +19,7 @@ import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; import java.util.List; +import java.util.Objects; public class PermissableActionFrame { @@ -30,9 +31,10 @@ public class PermissableActionFrame { public PermissableActionFrame(Faction f) { ConfigurationSection section = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.action"); + assert section != null; gui = new Gui(FactionsPlugin.getInstance(), - section.getInt("rows", 3), - FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.action.name").replace("{faction}", f.getTag()))); + section.getInt("rows", 4), + FactionsPlugin.getInstance().color(Objects.requireNonNull(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.action.name")).replace("{faction}", f.getTag()))); } public void buildGUI(FPlayer fplayer, Permissable perm) { @@ -40,8 +42,7 @@ public class PermissableActionFrame { List GUIItems = new ArrayList<>(); ItemStack dumby = buildDummyItem(); // Fill background of GUI with dumbyitem & replace GUI assets after - for (int x = 0; x <= (gui.getRows() * 9) - 1; x++) - GUIItems.add(new GuiItem(dumby, e -> e.setCancelled(true))); + for (int x = 0; x <= (gui.getRows() * 9) - 1; x++) GUIItems.add(new GuiItem(dumby, e -> e.setCancelled(true))); for (PermissableAction action : PermissableAction.values()) { if (action.getSlot() == -1) continue; GUIItems.set(action.getSlot(), new GuiItem(action.buildAsset(fplayer, perm), e -> { @@ -53,17 +54,12 @@ public class PermissableActionFrame { case LEFT: access = Access.ALLOW; success = fplayer.getFaction().setPermission(perm, action, access); - FactionsPlugin.instance.logFactionEvent(fplayer.getFaction(), FLogType.PERM_EDIT_DEFAULTS, fplayer.getName(), ChatColor.GREEN.toString() + ChatColor.BOLD + "ALLOWED", action.getName(), perm.name()); break; case RIGHT: access = Access.DENY; success = fplayer.getFaction().setPermission(perm, action, access); - FactionsPlugin.instance.logFactionEvent(fplayer.getFaction(), FLogType.PERM_EDIT_DEFAULTS, fplayer.getName(), ChatColor.RED.toString() + ChatColor.BOLD + "DENIED", action.getName(), perm.name()); break; case MIDDLE: - access = Access.UNDEFINED; - success = fplayer.getFaction().setPermission(perm, action, access); - break; default: return; } @@ -93,9 +89,11 @@ public class PermissableActionFrame { ConfigurationSection config = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.dummy-item"); ItemStack item = XMaterial.matchXMaterial(config.getString("Type")).get().parseItem(); ItemMeta meta = item.getItemMeta(); - meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); - meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); - item.setItemMeta(meta); + if (meta != null) { + meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); + meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); + item.setItemMeta(meta); + } return item; } @@ -103,9 +101,11 @@ public class PermissableActionFrame { ConfigurationSection config = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.back-item"); ItemStack item = XMaterial.matchXMaterial(config.getString("Type")).get().parseItem(); ItemMeta meta = item.getItemMeta(); - meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); - meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); - item.setItemMeta(meta); + if (meta != null) { + meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); + meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); + item.setItemMeta(meta); + } return item; } } \ No newline at end of file diff --git a/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableRelationFrame.java b/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableRelationFrame.java index 95e14f0a..d5ea4876 100644 --- a/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableRelationFrame.java +++ b/src/main/java/com/massivecraft/factions/zcore/fperms/gui/PermissableRelationFrame.java @@ -16,6 +16,7 @@ import org.bukkit.inventory.meta.ItemMeta; import java.util.ArrayList; import java.util.List; +import java.util.Objects; public class PermissableRelationFrame { @@ -27,9 +28,10 @@ public class PermissableRelationFrame { public PermissableRelationFrame(Faction f) { ConfigurationSection section = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.relation"); + assert section != null; gui = new Gui(FactionsPlugin.getInstance(), - section.getInt("rows", 3), - FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.relation.name").replace("{faction}", f.getTag()))); + section.getInt("rows", 4), + FactionsPlugin.getInstance().color(Objects.requireNonNull(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.relation.name")).replace("{faction}", f.getTag()))); } public void buildGUI(FPlayer fplayer) { @@ -37,8 +39,7 @@ public class PermissableRelationFrame { List GUIItems = new ArrayList<>(); ItemStack dumby = buildDummyItem(); // Fill background of GUI with dumbyitem & replace GUI assets after - for (int x = 0; x <= (gui.getRows() * 9) - 1; x++) - GUIItems.add(new GuiItem(dumby, e -> e.setCancelled(true))); + for (int x = 0; x <= (gui.getRows() * 9) - 1; x++) GUIItems.add(new GuiItem(dumby, e -> e.setCancelled(true))); ConfigurationSection sec = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.relation"); for (String key : sec.getConfigurationSection("slots").getKeys(false)) { if (key == null || sec.getInt("slots." + key) < 0) continue; @@ -58,8 +59,10 @@ public class PermissableRelationFrame { private ItemStack buildAsset(String loc, String relation) { ItemStack item = XMaterial.matchXMaterial(FactionsPlugin.getInstance().getConfig().getString(loc)).get().parseItem(); ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.relation.Placeholder-Item.Name").replace("{relation}", relation))); - item.setItemMeta(meta); + if (meta != null) { + meta.setDisplayName(FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fperm-gui.relation.Placeholder-Item.Name").replace("{relation}", relation))); + item.setItemMeta(meta); + } return item; } @@ -67,9 +70,12 @@ public class PermissableRelationFrame { ConfigurationSection config = FactionsPlugin.getInstance().getConfig().getConfigurationSection("fperm-gui.dummy-item"); ItemStack item = XMaterial.matchXMaterial(config.getString("Type")).get().parseItem(); ItemMeta meta = item.getItemMeta(); - meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); - meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); - item.setItemMeta(meta); + // So u can set it to air. + if (meta != null) { + meta.setLore(FactionsPlugin.getInstance().colorList(config.getStringList("Lore"))); + meta.setDisplayName(FactionsPlugin.getInstance().color(config.getString("Name"))); + item.setItemMeta(meta); + } return item; }