9
0
mirror of https://gitlab.com/SamB440/rpgregions-2.git synced 2026-01-06 15:41:35 +00:00

Add configurable guis, fix back item not being configurable, add exit item, fix translation file loading, update to Languagy 2.0.0

This commit is contained in:
SamB440
2020-02-16 17:45:23 +00:00
parent 2f3b662d4c
commit d49ebc6933
9 changed files with 92 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="RPGRegions" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="net.islandearth" external.system.module.version="1.0.5" type="JAVA_MODULE" version="4">
<component name="ExternalSystem" externalSystem="GRADLE" externalSystemModuleGroup="net.islandearth" externalSystemModuleVersion="1.1.0" linkedProjectId="RPGRegions" linkedProjectPath="$MODULE_DIR$" rootProjectPath="$MODULE_DIR$" />
<component name="ExternalSystem" externalSystem="GRADLE" externalSystemModuleGroup="net.islandearth" externalSystemModuleVersion="1.1.1" linkedProjectId="RPGRegions" linkedProjectPath="$MODULE_DIR$" rootProjectPath="$MODULE_DIR$" />
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">

View File

@@ -1,2 +1,2 @@
pluginGroup=net.islandearth
pluginVersion=1.1.0
pluginVersion=1.1.1

View File

@@ -46,7 +46,7 @@ dependencies {
compileOnly 'org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT' // spigot
compileOnly 'me.clip:placeholderapi:2.10.4' // PAPI
compileOnly 'net.islandearth:languagy:1.2.6-SNAPSHOT' // languagy
compileOnly 'net.islandearth:languagy:2.0.0-SNAPSHOT' // languagy
implementation 'co.aikar:acf-paper:0.5.0-SNAPSHOT' // commands
implementation 'co.aikar:idb-core:1.0.0-SNAPSHOT' // database

View File

@@ -4,6 +4,7 @@ import co.aikar.commands.PaperCommandManager;
import co.aikar.idb.DB;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.islandearth.languagy.language.Language;
import net.islandearth.languagy.language.LanguagyImplementation;
import net.islandearth.languagy.language.LanguagyPluginHook;
import net.islandearth.languagy.language.Translator;
@@ -40,7 +41,7 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
return translator;
}
@LanguagyImplementation(fallbackFile = "plugins/RPGRegions/lang/en_gb.yml")
@LanguagyImplementation(Language.ENGLISH)
private Translator translator;
@Override
@@ -111,8 +112,32 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
config.addDefault("settings.server.discoveries.discovered.sound.name", XSound.UI_TOAST_CHALLENGE_COMPLETE.parseSound().toString());
config.addDefault("settings.server.discoveries.discovered.sound.pitch", 1);
config.addDefault("settings.server.discoveries.discovered.title.animation_speed", 20);
config.addDefault("settings.server.gui.forward", XMaterial.ARROW.parseMaterial().toString());
config.addDefault("settings.server.gui.back", XMaterial.ARROW.parseMaterial().toString());
config.addDefault("settings.server.gui.back.posX", 0);
config.addDefault("settings.server.gui.back.posY", 5);
config.addDefault("settings.server.gui.back.length", 1);
config.addDefault("settings.server.gui.back.height", 1);
config.addDefault("settings.server.gui.forward.posX", 8);
config.addDefault("settings.server.gui.forward.posY", 5);
config.addDefault("settings.server.gui.forward.length", 1);
config.addDefault("settings.server.gui.forward.height", 1);
config.addDefault("settings.server.gui.exit.posX", 4);
config.addDefault("settings.server.gui.exit.posY", 5);
config.addDefault("settings.server.gui.exit.length", 1);
config.addDefault("settings.server.gui.exit.height", 1);
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.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.show", true);
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.LIGHT_GRAY_STAINED_GLASS_PANE.parseMaterial().toString());
config.options().copyDefaults(true);
saveConfig();
}

View File

@@ -2,6 +2,7 @@ package net.islandearth.rpgregions.gui;
import com.github.stefvanschie.inventoryframework.Gui;
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 io.papermc.lib.PaperLib;
@@ -25,12 +26,35 @@ public class DiscoveryGUI extends RPGRegionsGUI {
public DiscoveryGUI(RPGRegions plugin, Player player) {
super(plugin, player);
this.gui = new Gui(plugin, 6, Translations.REGIONS.get(player));
PaginatedPane pane = new PaginatedPane(0, 0, 9, 5);
StaticPane back = new StaticPane(0, 5, 1, 1);
StaticPane forward = new StaticPane(8, 5, 1, 1);
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");
int backH = plugin.getConfig().getInt("settings.server.gui.back.height");
int forwardX = plugin.getConfig().getInt("settings.server.gui.back.posX");
int forwardY = plugin.getConfig().getInt("settings.server.gui.back.posY");
int forwardL = plugin.getConfig().getInt("settings.server.gui.back.length");
int forwardH = plugin.getConfig().getInt("settings.server.gui.back.height");
int exitX = plugin.getConfig().getInt("settings.server.gui.exit.posX");
int exitY = plugin.getConfig().getInt("settings.server.gui.exit.posY");
int exitL = plugin.getConfig().getInt("settings.server.gui.exit.length");
int exitH = plugin.getConfig().getInt("settings.server.gui.exit.height");
int paneX = plugin.getConfig().getInt("settings.server.gui.pane.posX");
int paneY = plugin.getConfig().getInt("settings.server.gui.pane.posY");
int paneL = plugin.getConfig().getInt("settings.server.gui.pane.length");
int paneH = plugin.getConfig().getInt("settings.server.gui.pane.height");
int oPaneX = plugin.getConfig().getInt("settings.server.gui.outlinePane.posX");
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");
PaginatedPane pane = new PaginatedPane(paneX, paneY, paneL, paneH);
OutlinePane oPane = new OutlinePane(oPaneX, oPaneY, oPaneL, oPaneH);
StaticPane back = new StaticPane(backX, backY, backL, backH);
StaticPane forward = new StaticPane(forwardX, forwardY, forwardL, forwardH);
StaticPane exit = new StaticPane(exitX, exitY, exitL, exitH);
// Back item
back.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.back")).parseMaterial())
plugin.getConfig().getString("settings.server.gui.back.back")).parseMaterial())
.withName(Translations.PREVIOUS_PAGE.get(player))
.build(), event -> {
event.setCancelled(true);
@@ -47,9 +71,10 @@ public class DiscoveryGUI extends RPGRegionsGUI {
}), 0, 0);
back.setVisible(false);
// Forward item
forward.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.back")).parseMaterial())
plugin.getConfig().getString("settings.server.gui.forward.forward")).parseMaterial())
.withName(Translations.NEXT_PAGE.get(player))
.build(), event -> {
event.setCancelled(true);
@@ -64,7 +89,31 @@ public class DiscoveryGUI extends RPGRegionsGUI {
back.setVisible(true);
gui.update();
}), 0, 0);
// Exit item
if (plugin.getConfig().getBoolean("settings.server.gui.exit.show")) {
exit.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.exit.exit")).parseMaterial())
.withName(Translations.EXIT.get(player))
.build(), event -> {
event.setCancelled(true);
gui.update();
player.closeInventory();
}), 0, 0);
gui.addPane(exit);
}
// Outline pane
if (plugin.getConfig().getBoolean("settings.server.gui.outlinePane.show")) {
oPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.outlinePane.outlinePane")).parseMaterial())
.withName(Translations.EXIT.get(player))
.build()));
gui.addPane(oPane);
}
gui.addPane(back);
gui.addPane(forward);

View File

@@ -19,7 +19,8 @@ public enum Translations {
DISCOVERED_SUBTITLE("&fKeep exploring to discover more!", true),
TELEPORT("&aClick to teleport"),
CANNOT_TELEPORT("&cWe can't teleport you because that world doesn't exist!"),
UNKNOWN_REGION("Unknown Realm");
UNKNOWN_REGION("Unknown Realm"),
EXIT("&cExit");
private final String defaultValue;
private final boolean isList;

View File

@@ -8,4 +8,5 @@ discovered_subtitle:
- "&fKeep exploring to discover more!"
teleport: "&aClick to teleport"
cannot_teleport: "&cWe can't teleport you because that world doesn't exist!"
unknown_region: "Unknown Realm"
unknown_region: "Unknown Realm"
exit: "&cExit"