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

Fix 1.12 version support, fix gui translations, add HeadDatabase support

This commit is contained in:
SamB440
2020-02-17 17:42:54 +00:00
parent d832b55d04
commit 730ff3e7f7
4 changed files with 64 additions and 32 deletions

View File

@@ -47,6 +47,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:2.0.0-SNAPSHOT' // languagy
compileOnly 'com.github.shynixn.headdatabase:hdb-api:1.0' // head database
implementation 'co.aikar:acf-paper:0.5.0-SNAPSHOT' // commands
implementation 'co.aikar:idb-core:1.0.0-SNAPSHOT' // database

View File

@@ -111,7 +111,7 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
config.addDefault("settings.server.discoveries.discovered.title.fadein", 20);
config.addDefault("settings.server.discoveries.discovered.title.stay", 60);
config.addDefault("settings.server.discoveries.discovered.title.fadeout", 20);
config.addDefault("settings.server.discoveries.discovered.sound.name", XSound.UI_TOAST_CHALLENGE_COMPLETE.parseSound().toString());
config.addDefault("settings.server.discoveries.discovered.sound.name", XSound.UI_TOAST_CHALLENGE_COMPLETE.name());
config.addDefault("settings.server.discoveries.discovered.sound.pitch", 1);
config.addDefault("settings.server.discoveries.discovered.title.animation_speed", 20);
config.addDefault("settings.server.gui.back.posX", 0);
@@ -153,11 +153,11 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
"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.addDefault("settings.server.gui.forward.forward", XMaterial.ARROW.name());
config.addDefault("settings.server.gui.back.back", XMaterial.ARROW.name());
config.addDefault("settings.server.gui.exit.exit", XMaterial.BARRIER.name());
config.addDefault("settings.server.gui.outlinePane.outlinePane", XMaterial.GRAY_STAINED_GLASS_PANE.name());
config.addDefault("settings.server.gui.innerPane.innerPane", XMaterial.WHITE_STAINED_GLASS_PANE.name());
config.options().copyDefaults(true);
saveConfig();
}
@@ -200,4 +200,8 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|| Bukkit.getVersion().contains("1.9")
|| Bukkit.getVersion().contains("1.8");
}
public boolean hasHeadDatabase() {
return Bukkit.getPluginManager().getPlugin("HeadDatabase") != null;
}
}

View File

@@ -7,6 +7,7 @@ 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 me.arcaniax.hdb.api.HeadDatabaseAPI;
import net.islandearth.rpgregions.RPGRegions;
import net.islandearth.rpgregions.managers.data.region.ConfiguredRegion;
import net.islandearth.rpgregions.translation.Translations;
@@ -16,6 +17,7 @@ import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
import java.util.List;
@@ -64,12 +66,10 @@ public class DiscoveryGUI extends RPGRegionsGUI {
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.setOnClick(inventoryClickEvent -> inventoryClickEvent.setCancelled(true));
innerPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.innerPane.innerPane")).parseMaterial())
innerPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.matchXMaterial(
plugin.getConfig().getString("settings.server.gui.innerPane.innerPane")).get().parseItem(true))
.withName(" ")
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build()));
@@ -82,12 +82,10 @@ public class DiscoveryGUI extends RPGRegionsGUI {
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);
});
oPane.setOnClick(inventoryClickEvent -> inventoryClickEvent.setCancelled(true));
oPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.outlinePane.outlinePane")).parseMaterial())
oPane.addItem(new GuiItem(new ItemStackBuilder(XMaterial.matchXMaterial(
plugin.getConfig().getString("settings.server.gui.outlinePane.outlinePane")).get().parseItem(true))
.withName(" ")
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build()));
@@ -96,11 +94,21 @@ public class DiscoveryGUI extends RPGRegionsGUI {
}
// Back item
back.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.back.back")).parseMaterial())
.withName(Translations.PREVIOUS_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build(), event -> {
String bm = plugin.getConfig().getString("settings.server.gui.back.back");
ItemStack backItem = bm.startsWith("hdb-") && plugin.hasHeadDatabase()
?
new ItemStackBuilder(new HeadDatabaseAPI().getItemHead(bm.replace("hdb-", "")))
.withName(Translations.PREVIOUS_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build()
:
new ItemStackBuilder(XMaterial.matchXMaterial(
plugin.getConfig().getString("settings.server.gui.back.back")).get().parseItem(true))
.withName(Translations.PREVIOUS_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build();
back.addItem(new GuiItem(backItem, event -> {
event.setCancelled(true);
if (pane.getPages() == 0 || pane.getPages() == 1) return;
@@ -111,11 +119,21 @@ public class DiscoveryGUI extends RPGRegionsGUI {
}), 0, 0);
// Forward item
forward.addItem(new GuiItem(new ItemStackBuilder(XMaterial.valueOf(
plugin.getConfig().getString("settings.server.gui.forward.forward")).parseMaterial())
.withName(Translations.NEXT_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build(), event -> {
String fm = plugin.getConfig().getString("settings.server.gui.forward.forward");
ItemStack forwardItem = fm.startsWith("hdb-") && plugin.hasHeadDatabase()
?
new ItemStackBuilder(new HeadDatabaseAPI().getItemHead(fm.replace("hdb-", "")))
.withName(Translations.NEXT_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build()
:
new ItemStackBuilder(XMaterial.matchXMaterial(
plugin.getConfig().getString("settings.server.gui.forward.forward")).get().parseItem(true))
.withName(Translations.NEXT_PAGE.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build();
forward.addItem(new GuiItem(forwardItem, event -> {
event.setCancelled(true);
if (pane.getPages() == 0 || pane.getPages() == 1) return;
@@ -127,11 +145,20 @@ public class DiscoveryGUI extends RPGRegionsGUI {
// 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))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build(), event -> {
String em = plugin.getConfig().getString("settings.server.gui.exit.exit");
ItemStack item = em.startsWith("hdb-") && plugin.hasHeadDatabase()
?
new ItemStackBuilder(new HeadDatabaseAPI().getItemHead(em.replace("hdb-", "")))
.withName(Translations.EXIT.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build()
:
new ItemStackBuilder(XMaterial.matchXMaterial(
plugin.getConfig().getString("settings.server.gui.exit.exit")).get().parseItem(true))
.withName(Translations.EXIT.get(player))
.addFlags(ItemFlag.HIDE_ATTRIBUTES)
.build();
exit.addItem(new GuiItem(item, event -> {
event.setCancelled(true);
gui.update();
player.closeInventory();

View File

@@ -3,7 +3,7 @@ version: @version@
main: net.islandearth.rpgregions.RPGRegions
api-version: '1.13'
depend: [Languagy]
softdepend: [WorldGuard, PlaceholderAPI]
softdepend: [WorldGuard, PlaceholderAPI, HeadDatabase]
authors: [SamB440]
description: Discoverable regions
website: https://fortitude.islandearth.net