mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 11:19:24 +00:00
Reload config on reload command, add inner pane, fix pages error, add mask config
This commit is contained in:
@@ -31,6 +31,7 @@ import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, LanguagyPluginHook {
|
||||
|
||||
@@ -86,6 +87,7 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|
||||
}
|
||||
|
||||
private void createConfig() {
|
||||
// TODO move this logic to another class - it's getting too long!
|
||||
FileConfiguration config = this.getConfig();
|
||||
String header;
|
||||
String eol = System.getProperty("line.separator");
|
||||
@@ -127,17 +129,35 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|
||||
config.addDefault("settings.server.gui.exit.show", true);
|
||||
config.addDefault("settings.server.gui.pane.posX", 1);
|
||||
config.addDefault("settings.server.gui.pane.posY", 1);
|
||||
config.addDefault("settings.server.gui.pane.length", 9);
|
||||
config.addDefault("settings.server.gui.pane.height", 5);
|
||||
config.addDefault("settings.server.gui.pane.length", 7);
|
||||
config.addDefault("settings.server.gui.pane.height", 4);
|
||||
config.addDefault("settings.server.gui.outlinePane.posX", 0);
|
||||
config.addDefault("settings.server.gui.outlinePane.posY", 0);
|
||||
config.addDefault("settings.server.gui.outlinePane.length", 9);
|
||||
config.addDefault("settings.server.gui.outlinePane.height", 5);
|
||||
config.addDefault("settings.server.gui.outlinePane.height", 6);
|
||||
config.addDefault("settings.server.gui.outlinePane.show", true);
|
||||
config.addDefault("settings.server.gui.outlinePane.mask", Arrays.asList(
|
||||
"111111111",
|
||||
"100000001",
|
||||
"100000001",
|
||||
"100000001",
|
||||
"100000001",
|
||||
"111111111"));
|
||||
config.addDefault("settings.server.gui.innerPane.posX", 1);
|
||||
config.addDefault("settings.server.gui.innerPane.posY", 1);
|
||||
config.addDefault("settings.server.gui.innerPane.length", 7);
|
||||
config.addDefault("settings.server.gui.innerPane.height", 4);
|
||||
config.addDefault("settings.server.gui.innerPane.show", true);
|
||||
config.addDefault("settings.server.gui.innerPane.mask", Arrays.asList(
|
||||
"1111111",
|
||||
"1111111",
|
||||
"1111111",
|
||||
"1111111"));
|
||||
config.addDefault("settings.server.gui.forward.forward", XMaterial.ARROW.parseMaterial().toString());
|
||||
config.addDefault("settings.server.gui.back.back", XMaterial.ARROW.parseMaterial().toString());
|
||||
config.addDefault("settings.server.gui.exit.exit", XMaterial.BARRIER.parseMaterial().toString());
|
||||
config.addDefault("settings.server.gui.outlinePane.outlinePane", XMaterial.GRAY_STAINED_GLASS_PANE.parseMaterial().toString());
|
||||
config.addDefault("settings.server.gui.innerPane.innerPane", XMaterial.WHITE_STAINED_GLASS_PANE.parseMaterial().toString());
|
||||
config.options().copyDefaults(true);
|
||||
saveConfig();
|
||||
}
|
||||
|
||||
@@ -157,6 +157,7 @@ public class RPGRegionsCommand extends BaseCommand {
|
||||
}
|
||||
}
|
||||
|
||||
plugin.reloadConfig();
|
||||
long endTime = System.currentTimeMillis();
|
||||
long totalTime = endTime - startTime;
|
||||
sender.sendMessage(ChatColor.GREEN + "Done! (" + totalTime + "ms)");
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.github.stefvanschie.inventoryframework.GuiItem;
|
||||
import com.github.stefvanschie.inventoryframework.pane.OutlinePane;
|
||||
import com.github.stefvanschie.inventoryframework.pane.PaginatedPane;
|
||||
import com.github.stefvanschie.inventoryframework.pane.StaticPane;
|
||||
import com.github.stefvanschie.inventoryframework.pane.util.Mask;
|
||||
import io.papermc.lib.PaperLib;
|
||||
import net.islandearth.rpgregions.RPGRegions;
|
||||
import net.islandearth.rpgregions.managers.data.region.ConfiguredRegion;
|
||||
@@ -26,6 +27,7 @@ public class DiscoveryGUI extends RPGRegionsGUI {
|
||||
public DiscoveryGUI(RPGRegions plugin, Player player) {
|
||||
super(plugin, player);
|
||||
this.gui = new Gui(plugin, 6, Translations.REGIONS.get(player));
|
||||
// I wish there was a cleaner way to do this :(
|
||||
int backX = plugin.getConfig().getInt("settings.server.gui.back.posX");
|
||||
int backY = plugin.getConfig().getInt("settings.server.gui.back.posY");
|
||||
int backL = plugin.getConfig().getInt("settings.server.gui.back.length");
|
||||
@@ -46,15 +48,40 @@ public class DiscoveryGUI extends RPGRegionsGUI {
|
||||
int oPaneY = plugin.getConfig().getInt("settings.server.gui.outlinePane.posY");
|
||||
int oPaneL = plugin.getConfig().getInt("settings.server.gui.outlinePane.length");
|
||||
int oPaneH = plugin.getConfig().getInt("settings.server.gui.outlinePane.height");
|
||||
int iPaneX = plugin.getConfig().getInt("settings.server.gui.innerPane.posX");
|
||||
int iPaneY = plugin.getConfig().getInt("settings.server.gui.innerPane.posY");
|
||||
int iPaneL = plugin.getConfig().getInt("settings.server.gui.innerPane.length");
|
||||
int iPaneH = plugin.getConfig().getInt("settings.server.gui.innerPane.height");
|
||||
PaginatedPane pane = new PaginatedPane(paneX, paneY, paneL, paneH);
|
||||
OutlinePane oPane = new OutlinePane(oPaneX, oPaneY, oPaneL, oPaneH);
|
||||
OutlinePane innerPane = new OutlinePane(iPaneX, iPaneY, iPaneL, iPaneH);
|
||||
StaticPane back = new StaticPane(backX, backY, backL, backH);
|
||||
StaticPane forward = new StaticPane(forwardX, forwardY, forwardL, forwardH);
|
||||
StaticPane exit = new StaticPane(exitX, exitY, exitL, exitH);
|
||||
|
||||
// Inner pane
|
||||
if (plugin.getConfig().getBoolean("settings.server.gui.innerPane.show")) {
|
||||
innerPane.setRepeat(true);
|
||||
List<String> mask = plugin.getConfig().getStringList("settings.server.gui.innerPane.mask");
|
||||
innerPane.applyMask(new Mask(mask.toArray(new String[]{})));
|
||||
innerPane.setOnClick(inventoryClickEvent -> {
|
||||
inventoryClickEvent.setCancelled(true);
|
||||
});
|
||||
|
||||
innerPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
|
||||
plugin.getConfig().getString("settings.server.gui.innerPane.innerPane")).parseMaterial())
|
||||
.withName(" ")
|
||||
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
|
||||
.build()));
|
||||
|
||||
gui.addPane(innerPane);
|
||||
}
|
||||
|
||||
// Outline pane
|
||||
if (plugin.getConfig().getBoolean("settings.server.gui.outlinePane.show")) {
|
||||
oPane.setRepeat(true);
|
||||
List<String> mask = plugin.getConfig().getStringList("settings.server.gui.outlinePane.mask");
|
||||
oPane.applyMask(new Mask(mask.toArray(new String[]{})));
|
||||
oPane.setOnClick(inventoryClickEvent -> {
|
||||
inventoryClickEvent.setCancelled(true);
|
||||
});
|
||||
@@ -75,7 +102,7 @@ public class DiscoveryGUI extends RPGRegionsGUI {
|
||||
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
|
||||
.build(), event -> {
|
||||
event.setCancelled(true);
|
||||
if (pane.getPages() == 0) return;
|
||||
if (pane.getPages() == 0 || pane.getPages() == 1) return;
|
||||
|
||||
pane.setPage(pane.getPage() - 1);
|
||||
|
||||
@@ -90,7 +117,7 @@ public class DiscoveryGUI extends RPGRegionsGUI {
|
||||
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
|
||||
.build(), event -> {
|
||||
event.setCancelled(true);
|
||||
if (pane.getPages() == 0) return;
|
||||
if (pane.getPages() == 0 || pane.getPages() == 1) return;
|
||||
|
||||
pane.setPage(pane.getPage() + 1);
|
||||
|
||||
@@ -167,9 +194,7 @@ public class DiscoveryGUI extends RPGRegionsGUI {
|
||||
event.setCancelled(true);
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
pane.populateWithGuiItems(items);
|
||||
gui.addPane(pane);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user