catch up.

This commit is contained in:
Brianna 2019-10-08 20:26:14 -04:00
parent fff482d873
commit e05b760fe4
10 changed files with 97 additions and 103 deletions

View File

@ -116,7 +116,6 @@ public class UltimateKits extends SongodaPlugin {
this.kitManager = new KitManager();
this.keyManager = new KeyManager();
this.commandManager = new CommandManager(this);
Convert.runKitConversions();
@ -160,14 +159,13 @@ public class UltimateKits extends SongodaPlugin {
displayItemHandler.start();
particleHandler.start();
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, this::saveKits, 6000, 6000);
Bukkit.getScheduler().runTaskLater(this, () -> {
this.dataManager.getBlockData((blockData) -> {
this.kitManager.setKitLocations(blockData);
if (HologramManager.isEnabled()) {
loadHolograms();
}
});
}, 20L);
Bukkit.getScheduler().runTaskLater(this, () ->
this.dataManager.getBlockData((blockData) -> {
this.kitManager.setKitLocations(blockData);
if (HologramManager.isEnabled()) {
loadHolograms();
}
}), 20L);
}
@Override
@ -309,7 +307,7 @@ public class UltimateKits extends SongodaPlugin {
Location location = data.getLocation();
double multi = .1 * lines;
if (data.isDisplayingItems()) {
multi += .15;
multi += .25;
}
Material type = location.getBlock().getType();
if (type == Material.TRAPPED_CHEST
@ -384,8 +382,11 @@ public class UltimateKits extends SongodaPlugin {
*/
private void saveKits() {
// Wipe old kit information
kitFile.set("Kits", null);
// Hot fix for kit file resets.
for (String kitName : kitFile.getConfigurationSection("Kits").getKeys(false)) {
if (kitManager.getKits().stream().noneMatch(kit -> kit.getName().equals(kitName)))
kitFile.set("Kits." + kitName, null);
}
/*
* Save kit from KitManager to Configuration.
@ -399,6 +400,8 @@ public class UltimateKits extends SongodaPlugin {
kitFile.set("Kits." + kit.getName() + ".animation", kit.getKitAnimation().name());
if (kit.getDisplayItem() != null)
kitFile.set("Kits." + kit.getName() + ".displayItem", kit.getDisplayItem().toString());
else
kitFile.set("Kits." + kit.getName() + ".displayItem", null);
List<KitItem> contents = kit.getContents();
List<String> strContents = new ArrayList<>();

View File

@ -51,8 +51,6 @@ public class CommandEdit extends AbstractCommand {
@Override
protected List<String> onTab(CommandSender sender, String... args) {
if (!(sender instanceof Player)) return null;
List<String> tab = new ArrayList<>();
if (args.length == 1) {
for (Kit kit : UltimateKits.getInstance().getKitManager().getKits())

View File

@ -46,7 +46,7 @@ public class CommandSet extends AbstractCommand {
return null;
}
if (args.length == 2) {
if (args.length == 1) {
List<String> tab = new ArrayList<>();
for (Kit kit : UltimateKits.getInstance().getKitManager().getKits()) {
tab.add(kit.getName());

View File

@ -24,7 +24,7 @@ public class CommandUltimateKits extends AbstractCommand {
for (AbstractCommand command : instance.getCommandManager().getAllCommands()) {
if (command.getPermissionNode() == null || sender.hasPermission(command.getPermissionNode())) {
sender.sendMessage(ChatColor.DARK_GRAY + " - " + ChatColor.GREEN + command.getSyntax() + ChatColor.GRAY + " - " + command.getDescription());
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8 - &a" + command.getSyntax() + "&7 - " + command.getDescription()));
}
}
sender.sendMessage("");

View File

@ -31,9 +31,9 @@ public class AnimatedKitGui extends Gui {
private boolean finish = false;
private boolean done = false;
private int tick = 0, updateTick = 0;
private int ticksPerUpdate = 4;
private final int updatesPerSlow = 5;
private final int ticksPerUpdateSlow = 15;
private int ticksPerUpdate = 3;
private final int updatesPerSlow = 6;
private final int ticksPerUpdateSlow = 10;
private int task;
public AnimatedKitGui(UltimateKits plugin, Player player, Kit kit, ItemStack give) {
@ -61,7 +61,7 @@ public class AnimatedKitGui extends Gui {
setItem(22, GuiUtils.getBorderItem(CompatibleMaterial.TRIPWIRE_HOOK));
tick();
setOnOpen(event -> {
task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, () -> tick(), 1L, 5L);
task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, () -> tick(), 1L, 1L);
});
}
@ -90,7 +90,7 @@ public class AnimatedKitGui extends Gui {
items.addFirst(items.getLast());
items.removeLast();
Iterator<KitItem> itemIter = items.iterator();
for (int i = 0; i < 9; i++) {
for (int i = 9; i < 18; i++) {
setItem(0, i, itemIter.next().getItem());
}
}

View File

@ -170,8 +170,6 @@ public class KitEditorGui extends DoubleGui {
paint();
});
setAcceptsItems(!isInInventory);
ItemStack item2;
if (isInInventory) {
@ -188,9 +186,12 @@ public class KitEditorGui extends DoubleGui {
event -> {
if (!isInInventory) {
restoreItemsInstance();
setPlayerActionForRange(0, 0, 3, 8, null);
setAcceptsItems(true);
} else {
saveItemsInstance();
setInvItems();
setAcceptsItems(false);
}
updateInvButton();
});
@ -221,17 +222,26 @@ public class KitEditorGui extends DoubleGui {
setPlayerButton(0, GuiUtils.createButtonItem(CompatibleMaterial.REDSTONE_TORCH,
plugin.getLocale().getMessage("interface.kiteditor.generaloptions").getMessage(),
plugin.getLocale().getMessage("interface.kiteditor.generaloptionslore").getMessage().split("\\|")),
(event) -> guiManager.showGUI(player, new KitGeneralOptionsGui(plugin, player, kit, this)));
(event) -> {
player.closeInventory();
guiManager.showGUI(player, new KitGeneralOptionsGui(plugin, player, kit, this));
});
setPlayerButton(1, GuiUtils.createButtonItem(CompatibleMaterial.EMERALD,
plugin.getLocale().getMessage("interface.kiteditor.sellingoptions").getMessage(),
plugin.getLocale().getMessage("interface.kiteditor.sellingoptionslore").getMessage().split("\\|")),
(event) -> guiManager.showGUI(player, new KitSellingOptionsGui(plugin, player, kit, this)));
(event) -> {
player.closeInventory();
guiManager.showGUI(player, new KitSellingOptionsGui(plugin, player, kit, this));
});
setPlayerButton(3, GuiUtils.createButtonItem(CompatibleMaterial.ITEM_FRAME,
plugin.getLocale().getMessage("interface.kiteditor.guioptions").getMessage(),
plugin.getLocale().getMessage("interface.kiteditor.guioptionslore").getMessage().split("\\|")),
(event) -> guiManager.showGUI(player, new KitGuiOptionsGui(plugin, player, kit, parent)));
(event) -> {
player.closeInventory();
guiManager.showGUI(player, new KitGuiOptionsGui(plugin, player, kit, this));
});
setPlayerButton(4, GuiUtils.createButtonItem(CompatibleMaterial.PAPER,
plugin.getLocale().getMessage("interface.kiteditor.addcommand").getMessage(),
@ -260,6 +270,7 @@ public class KitEditorGui extends DoubleGui {
.sendPrefixedMessage(player);
this.inventory.addItem(parseStack);
player.closeInventory();
}).setOnClose(() -> {
event.manager.showGUI(event.player, this);
})
@ -276,7 +287,7 @@ public class KitEditorGui extends DoubleGui {
AnvilGui gui = new AnvilGui(player, this);
gui.setTitle(plugin.getLocale().getMessage("interface.kiteditor.addeconomyprompt").getMessage());
gui.setAction(aevent -> {
String msg = gui.getInputText();
String msg = gui.getInputText().trim();
ItemStack parseStack = new ItemStack(Material.PAPER, 1);
ItemMeta meta = parseStack.getItemMeta();
@ -292,10 +303,11 @@ public class KitEditorGui extends DoubleGui {
meta.setDisplayName(plugin.getLocale().getMessage("general.type.money").getMessage());
parseStack.setItemMeta(meta);
plugin.getLocale().getMessage("interface.kiteditor.addeconomyok")
plugin.getLocale().getMessage("interface.kiteditor.addeconomyok").processPlaceholder("amount", msg.trim())
.sendPrefixedMessage(player);
this.inventory.addItem(parseStack);
player.closeInventory();
});
guiManager.showGUI(event.player, gui);

View File

@ -66,16 +66,16 @@ public class KitGeneralOptionsGui extends Gui {
plugin.getLocale().getMessage("interface.kitoptions.destroy").getMessage(),
plugin.getLocale().getMessage("interface.kitoptions.destroylore").getMessage().split("\\|")),
event -> {
AnvilGui gui = new AnvilGui(event.player, this);
AnvilGui gui = new AnvilGui(event.player);
gui.setTitle(plugin.getLocale().getMessage("interface.kitoptions.destroyprompt").processPlaceholder("kit", kit.getName()).getMessage());
gui.setAction(aevent -> {
final String msg = gui.getInputText();
if (msg != null && msg.trim().equalsIgnoreCase(kit.getName())) {
plugin.getKitManager().removeKit(kit);
plugin.updateHologram(kit);
plugin.getLocale().newMessage("interface.kitoptions.destroyok").sendPrefixedMessage(player);
plugin.getLocale().getMessage("interface.kitoptions.destroyok").sendPrefixedMessage(player);
} else {
plugin.getLocale().newMessage("interface.kitoptions.destroycancel").sendPrefixedMessage(player);
plugin.getLocale().getMessage("interface.kitoptions.destroycancel").sendPrefixedMessage(player);
}
aevent.player.closeInventory();
});

View File

@ -16,8 +16,15 @@ import org.bukkit.inventory.ItemStack;
public class KitGuiOptionsGui extends Gui {
private final UltimateKits plugin;
private final Kit kit;
private final Player player;
public KitGuiOptionsGui(UltimateKits plugin, Player player, Kit kit, Gui back) {
super(back);
this.plugin = plugin;
this.kit = kit;
this.player = player;
setRows(3);
setTitle(plugin.getLocale().getMessage("interface.kitblock.title")
.processPlaceholder("kit", kit.getShowableName())
@ -38,100 +45,76 @@ public class KitGuiOptionsGui extends Gui {
plugin.getLocale().getMessage("interface.button.back").getMessage()),
ClickType.LEFT,
event -> event.player.closeInventory());
paint();
}
private void paint() {
// set hologram title
setButton(1, 2, GuiUtils.createButtonItem(CompatibleMaterial.NAME_TAG,
plugin.getLocale().getMessage("interface.kitguioptions.holo").getMessage(),
plugin.getLocale().getMessage("interface.kitguioptions.hololore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.holoon").processPlaceholder("title", kit.getTitle()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.holooff").getMessage()
).getMessage().split("\\|")),
.processPlaceholder("onoff",
kit.getTitle() != null ? plugin.getLocale().getMessage("interface.kitguioptions.holoon").processPlaceholder("title", kit.getTitle()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.holooff").getMessage()
).getMessage().split("\\|")),
ClickType.LEFT,
event -> {
AnvilGui gui = new AnvilGui(event.player, this);
gui.setTitle(plugin.getLocale().getMessage("interface.kitguioptions.holoprompt").getMessage());
gui.setAction(aevent -> {
final String msg = gui.getInputText();
final String msg = gui.getInputText().trim();
kit.setTitle(msg);
plugin.getLocale().getMessage("interface.kitguioptions.holoset")
.processPlaceholder("title", msg)
.processPlaceholder("kit", kit.getShowableName())
.sendPrefixedMessage(player);
.processPlaceholder("title", msg)
.processPlaceholder("kit", kit.getShowableName())
.sendPrefixedMessage(player);
plugin.updateHologram(kit);
updateItemLore(event.slot, plugin.getLocale().getMessage("interface.kitguioptions.hololore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.holoon").processPlaceholder("title", kit.getTitle()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.holooff").getMessage()
).getMessage().split("\\|"));
aevent.player.closeInventory();
paint();
});
guiManager.showGUI(event.player, gui);
});
setAction(1, 2, ClickType.RIGHT, event -> {
kit.setTitle("");
kit.setTitle(null);
plugin.updateHologram(kit);
updateItemLore(event.slot, plugin.getLocale().getMessage("interface.kitguioptions.hololore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.holoon").processPlaceholder("title", kit.getTitle()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.holooff").getMessage()
).getMessage().split("\\|"));
paint();
});
setButton(1, 4, GuiUtils.createButtonItem(kit.getDisplayItem() != null ? kit.getDisplayItem() : CompatibleMaterial.BEACON,
plugin.getLocale().getMessage("interface.kitguioptions.item").getMessage(),
plugin.getLocale().getMessage("interface.kitguioptions.itemlore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.itemon").processPlaceholder("item", kit.getDisplayItem().toString()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.itemoff").getMessage()
).getMessage().split("\\|")),
.processPlaceholder("onoff",
kit.getDisplayItem() != null ? plugin.getLocale().getMessage("interface.kitguioptions.itemon").processPlaceholder("item", kit.getDisplayItem().toString()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.itemoff").getMessage()
).getMessage().split("\\|")),
ClickType.LEFT,
event -> {
ItemStack is = player.getItemInHand();
if (is.getType() == Material.AIR) {
plugin.getLocale().newMessage("interface.kitguioptions.itemnoitem").sendPrefixedMessage(player);
plugin.getLocale().getMessage("interface.kitguioptions.itemnoitem").sendPrefixedMessage(player);
} else {
kit.setDisplayItem(is);
plugin.getLocale().newMessage("interface.kitguioptions.itemset").processPlaceholder("item", kit.getShowableName()).sendPrefixedMessage(player);
updateItem(event.slot, kit.getDisplayItem() != null ? kit.getDisplayItem() : CompatibleMaterial.BEACON,
plugin.getLocale().getMessage("interface.kitguioptions.item").getMessage(),
plugin.getLocale().getMessage("interface.kitguioptions.itemlore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.itemon").processPlaceholder("item", kit.getDisplayItem().toString()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.itemoff").getMessage()
).getMessage().split("\\|"));
plugin.getLocale().getMessage("interface.kitguioptions.itemset").processPlaceholder("item", kit.getShowableName()).sendPrefixedMessage(player);
paint();
}
});
setAction(1, 4, ClickType.RIGHT, event -> {
kit.setDisplayItem(null);
plugin.getLocale().newMessage("interface.kitguioptions.itemremoved").processPlaceholder("kit", kit.getShowableName()).sendPrefixedMessage(player);
updateItem(event.slot, kit.getDisplayItem() != null ? kit.getDisplayItem() : CompatibleMaterial.BEACON,
plugin.getLocale().getMessage("interface.kitguioptions.item").getMessage(),
plugin.getLocale().getMessage("interface.kitguioptions.itemlore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitguioptions.itemon").processPlaceholder("item", kit.getDisplayItem().toString()).getMessage()
: plugin.getLocale().getMessage("interface.kitguioptions.itemoff").getMessage()
).getMessage().split("\\|"));
plugin.getLocale().getMessage("interface.kitguioptions.itemremoved").processPlaceholder("kit", kit.getShowableName()).sendPrefixedMessage(player);
paint();
});
setButton(1, 4, GuiUtils.createButtonItem(kit.getDisplayItem() != null ? kit.getDisplayItem() : CompatibleMaterial.BEACON,
setButton(1, 6, GuiUtils.createButtonItem(CompatibleMaterial.COAL,
plugin.getLocale().getMessage("interface.kitguioptions.hide").getMessage(),
plugin.getLocale().getMessage("interface.kitguioptions.hidelore")
.processPlaceholder("onoff", plugin.getLocale().getMessage(
.processPlaceholder("onoff", plugin.getLocale().getMessage(
kit.isHidden() ? "interface.kitguioptions.hideon" : "interface.kitguioptions.hideoff").getMessage()
).getMessage().split("\\|")),
).getMessage().split("\\|")),
ClickType.LEFT,
event -> {
kit.setHidden(!kit.isHidden());
updateItemLore(event.slot, plugin.getLocale().getMessage("interface.kitguioptions.hidelore")
.processPlaceholder("onoff", plugin.getLocale().getMessage(
kit.isHidden() ? "interface.kitguioptions.hideon" : "interface.kitguioptions.hideoff").getMessage()
).getMessage().split("\\|"));
paint();
});
}
}

View File

@ -16,10 +16,15 @@ import java.util.Random;
public class KitSellingOptionsGui extends Gui {
static final Random rand = new Random();
private final UltimateKits plugin;
private final Player player;
private final Kit kit;
public KitSellingOptionsGui(UltimateKits plugin, Player player, Kit kit, Gui back) {
super(back);
this.plugin = plugin;
this.player = player;
this.kit = kit;
setRows(3);
setTitle(plugin.getLocale().getMessage("interface.kitblock.title")
.processPlaceholder("kit", kit.getShowableName())
@ -39,7 +44,10 @@ public class KitSellingOptionsGui extends Gui {
plugin.getLocale().getMessage("interface.button.back").getMessage()),
ClickType.LEFT,
event -> event.player.closeInventory());
paint();
}
private void paint() {
// remove sale
setButton(1, 2, GuiUtils.createButtonItem(CompatibleMaterial.BARRIER,
plugin.getLocale().getMessage("interface.kitsell.nosell").getMessage(),
@ -50,10 +58,7 @@ public class KitSellingOptionsGui extends Gui {
event -> {
kit.setPrice(0);
kit.setLink(null);
updateItemLore(event.slot, plugin.getLocale().getMessage("interface.kitsell.noselllore")
.processPlaceholder("onoff", plugin.getLocale().getMessage(
kit.getPrice() != 0 || kit.getLink() != null ? "interface.kitsell.nosellon" : "interface.kitsell.noselloff").getMessage()
).getMessage().split("|"));
paint();
});
// kit link
@ -68,21 +73,15 @@ public class KitSellingOptionsGui extends Gui {
AnvilGui gui = new AnvilGui(event.player, this);
gui.setTitle(plugin.getLocale().getMessage("interface.kitsell.linkprompt").getMessage());
gui.setAction(aevent -> {
final String msg = gui.getInputText();
final String msg = gui.getInputText().trim();
if (kit.getPrice() != 0) {
kit.setPrice(0);
plugin.getLocale().getMessage("interface.kitsell.linknoeco").sendPrefixedMessage(player);
}
kit.setLink(msg);
plugin.updateHologram(kit);
updateItemLore(event.slot, plugin.getLocale().getMessage("interface.kitsell.linklore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitsell.linkon").processPlaceholder("kit", kit.getLink()).getMessage()
: plugin.getLocale().getMessage("interface.kitsell.linkoff").getMessage()
).getMessage().split("\\|"));
aevent.player.closeInventory();
paint();
});
guiManager.showGUI(event.player, gui);
});
@ -92,7 +91,8 @@ public class KitSellingOptionsGui extends Gui {
plugin.getLocale().getMessage("interface.kitsell.price").getMessage(),
plugin.getLocale().getMessage("interface.kitsell.pricelore")
.processPlaceholder("onoff",
kit.getLink() != null ? plugin.getLocale().getMessage("interface.kitsell.priceon").processPlaceholder("kit", kit.getLink()).getMessage()
kit.getPrice() != 0 ? plugin.getLocale().getMessage("interface.kitsell.priceon")
.processPlaceholder("price", kit.getPrice()).getMessage()
: plugin.getLocale().getMessage("interface.kitsell.priceoff").getMessage()
).getMessage().split("\\|")),
event -> {
@ -103,15 +103,12 @@ public class KitSellingOptionsGui extends Gui {
AnvilGui gui = new AnvilGui(event.player, this);
gui.setTitle(plugin.getLocale().getMessage("interface.kitsell.priceprompt").getMessage());
gui.setAction(aevent -> {
final String msg = gui.getInputText();
final String num = msg != null ? msg.replaceAll("[^0-9\\.]", "") : "";
double d = -1;
if (!num.isEmpty()) {
final String msg = gui.getInputText().trim();
double d = 0;
try {
d = Double.parseDouble(num);
d = Double.parseDouble(msg);
} catch (NumberFormatException e) {
}
}
if (d <= 0) {
plugin.getLocale().getMessage("interface.kitsell.pricenonumber").processPlaceholder("input", msg).sendPrefixedMessage(player);
} else {
@ -122,6 +119,7 @@ public class KitSellingOptionsGui extends Gui {
kit.setPrice(d);
plugin.updateHologram(kit);
aevent.player.closeInventory();
paint();
}
});
guiManager.showGUI(event.player, gui);

View File

@ -178,7 +178,7 @@ public class PreviewKitGui extends Gui {
lore.add(ChatColor.GRAY + "This is free because");
lore.add(ChatColor.GRAY + "you have perms for it.");
lore.add(ChatColor.GRAY + "Everyone else buys");
lore.add(ChatColor.GRAY + "this for &a$" + Methods.formatEconomy(kit.getPrice()) + ChatColor.GRAY + ".");
lore.add(ChatColor.GRAY + "this for " + ChatColor.GREEN + "$" + Methods.formatEconomy(kit.getPrice()) + ChatColor.GRAY + ".");
}
} else {
lore.add(plugin.getLocale().getMessage("interface.button.clickeco")