Merge branch 'development'
This commit is contained in:
commit
9c2244042f
|
@ -4,7 +4,7 @@ stages:
|
|||
variables:
|
||||
name: "UltimateKits"
|
||||
path: "/builds/$CI_PROJECT_PATH"
|
||||
version: "2.4"
|
||||
version: "2.4.1"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
|
|
|
@ -41,7 +41,7 @@ import java.util.*;
|
|||
public class UltimateKits extends SongodaPlugin {
|
||||
private static UltimateKits INSTANCE;
|
||||
|
||||
private final Config kitFile = new Config(this, "kit.yml");
|
||||
private final Config kitConfig = new Config(this, "kit.yml");
|
||||
private final Config dataFile = new Config(this, "data.yml");
|
||||
private final Config keyFile = new Config(this, "keys.yml");
|
||||
|
||||
|
@ -159,13 +159,6 @@ 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);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -179,7 +172,7 @@ public class UltimateKits extends SongodaPlugin {
|
|||
|
||||
@Override
|
||||
public List<Config> getExtraConfig() {
|
||||
return Arrays.asList(kitFile, keyFile);
|
||||
return Arrays.asList(kitConfig, keyFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -191,7 +184,7 @@ public class UltimateKits extends SongodaPlugin {
|
|||
}
|
||||
|
||||
void loadKits() {
|
||||
kitFile.load();
|
||||
kitConfig.load();
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(this, () -> {
|
||||
|
||||
|
@ -201,17 +194,17 @@ public class UltimateKits extends SongodaPlugin {
|
|||
/*
|
||||
* Register kit into KitManager from Configuration.
|
||||
*/
|
||||
for (String kitName : kitFile.getConfigurationSection("Kits").getKeys(false)) {
|
||||
int delay = kitFile.getInt("Kits." + kitName + ".delay");
|
||||
String title = kitFile.getString("Kits." + kitName + ".title");
|
||||
String link = kitFile.getString("Kits." + kitName + ".link");
|
||||
CompatibleMaterial material = kitFile.contains("Kits." + kitName + ".displayItem")
|
||||
? CompatibleMaterial.getMaterial(kitFile.getString("Kits." + kitName + ".displayItem"), CompatibleMaterial.DIAMOND_HELMET)
|
||||
for (String kitName : kitConfig.getConfigurationSection("Kits").getKeys(false)) {
|
||||
int delay = kitConfig.getInt("Kits." + kitName + ".delay");
|
||||
String title = kitConfig.getString("Kits." + kitName + ".title");
|
||||
String link = kitConfig.getString("Kits." + kitName + ".link");
|
||||
CompatibleMaterial material = kitConfig.contains("Kits." + kitName + ".displayItem")
|
||||
? CompatibleMaterial.getMaterial(kitConfig.getString("Kits." + kitName + ".displayItem"), CompatibleMaterial.DIAMOND_HELMET)
|
||||
: null;
|
||||
boolean hidden = kitFile.getBoolean("Kits." + kitName + ".hidden");
|
||||
double price = kitFile.getDouble("Kits." + kitName + ".price");
|
||||
List<String> strContents = kitFile.getStringList("Kits." + kitName + ".items");
|
||||
String kitAnimation = kitFile.getString("Kits." + kitName + ".animation", KitAnimation.NONE.name());
|
||||
boolean hidden = kitConfig.getBoolean("Kits." + kitName + ".hidden");
|
||||
double price = kitConfig.getDouble("Kits." + kitName + ".price");
|
||||
List<String> strContents = kitConfig.getStringList("Kits." + kitName + ".items");
|
||||
String kitAnimation = kitConfig.getString("Kits." + kitName + ".animation", KitAnimation.NONE.name());
|
||||
|
||||
List<KitItem> contents = new ArrayList<>();
|
||||
|
||||
|
@ -224,7 +217,7 @@ public class UltimateKits extends SongodaPlugin {
|
|||
}
|
||||
|
||||
/*
|
||||
* Register kit locations into KitManager from Configuration.
|
||||
* Register legacy kit locations into KitManager from Configuration.
|
||||
*/
|
||||
if (dataFile.contains("BlockData")) {
|
||||
for (String key : dataFile.getConfigurationSection("BlockData").getKeys(false)) {
|
||||
|
@ -243,6 +236,17 @@ public class UltimateKits extends SongodaPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Register kit locations into KitManager from Configuration.
|
||||
*/
|
||||
Bukkit.getScheduler().runTaskLater(this, () ->
|
||||
this.dataManager.getBlockData((blockData) -> {
|
||||
this.kitManager.setKitLocations(blockData);
|
||||
if (HologramManager.isEnabled()) {
|
||||
loadHolograms();
|
||||
}
|
||||
}), 20L);
|
||||
|
||||
//Apply default keys.
|
||||
checkKeyDefaults();
|
||||
|
||||
|
@ -380,39 +384,39 @@ public class UltimateKits extends SongodaPlugin {
|
|||
/*
|
||||
* Saves registered kits to file.
|
||||
*/
|
||||
private void saveKits() {
|
||||
public void saveKits() {
|
||||
|
||||
// Hot fix for kit file resets.
|
||||
for (String kitName : kitFile.getConfigurationSection("Kits").getKeys(false)) {
|
||||
for (String kitName : kitConfig.getConfigurationSection("Kits").getKeys(false)) {
|
||||
if (kitManager.getKits().stream().noneMatch(kit -> kit.getName().equals(kitName)))
|
||||
kitFile.set("Kits." + kitName, null);
|
||||
kitConfig.set("Kits." + kitName, null);
|
||||
}
|
||||
|
||||
/*
|
||||
* Save kit from KitManager to Configuration.
|
||||
*/
|
||||
for (Kit kit : kitManager.getKits()) {
|
||||
kitFile.set("Kits." + kit.getName() + ".delay", kit.getDelay());
|
||||
kitFile.set("Kits." + kit.getName() + ".title", kit.getTitle());
|
||||
kitFile.set("Kits." + kit.getName() + ".link", kit.getLink());
|
||||
kitFile.set("Kits." + kit.getName() + ".price", kit.getPrice());
|
||||
kitFile.set("Kits." + kit.getName() + ".hidden", kit.isHidden());
|
||||
kitFile.set("Kits." + kit.getName() + ".animation", kit.getKitAnimation().name());
|
||||
kitConfig.set("Kits." + kit.getName() + ".delay", kit.getDelay());
|
||||
kitConfig.set("Kits." + kit.getName() + ".title", kit.getTitle());
|
||||
kitConfig.set("Kits." + kit.getName() + ".link", kit.getLink());
|
||||
kitConfig.set("Kits." + kit.getName() + ".price", kit.getPrice());
|
||||
kitConfig.set("Kits." + kit.getName() + ".hidden", kit.isHidden());
|
||||
kitConfig.set("Kits." + kit.getName() + ".animation", kit.getKitAnimation().name());
|
||||
if (kit.getDisplayItem() != null)
|
||||
kitFile.set("Kits." + kit.getName() + ".displayItem", kit.getDisplayItem().toString());
|
||||
kitConfig.set("Kits." + kit.getName() + ".displayItem", kit.getDisplayItem().toString());
|
||||
else
|
||||
kitFile.set("Kits." + kit.getName() + ".displayItem", null);
|
||||
kitConfig.set("Kits." + kit.getName() + ".displayItem", null);
|
||||
|
||||
List<KitItem> contents = kit.getContents();
|
||||
List<String> strContents = new ArrayList<>();
|
||||
|
||||
for (KitItem item : contents) strContents.add(item.getSerialized());
|
||||
|
||||
kitFile.set("Kits." + kit.getName() + ".items", strContents);
|
||||
kitConfig.set("Kits." + kit.getName() + ".items", strContents);
|
||||
}
|
||||
|
||||
// Save to file
|
||||
kitFile.saveChanges();
|
||||
kitConfig.saveChanges();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -452,8 +456,8 @@ public class UltimateKits extends SongodaPlugin {
|
|||
*
|
||||
* @return instance of KitFile
|
||||
*/
|
||||
public Config getKitFile() {
|
||||
return kitFile;
|
||||
public Config getKitConfig() {
|
||||
return kitConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -65,7 +65,7 @@ public class CommandKey extends AbstractCommand {
|
|||
return ReturnType.SUCCESS;
|
||||
}
|
||||
for (Player pl : instance.getServer().getOnlinePlayers()) {
|
||||
PlayerUtils.giveItem(playerTo, key.getKeyItem(kit, amt));
|
||||
PlayerUtils.giveItem(pl, key.getKeyItem(kit, amt));
|
||||
instance.getLocale().getMessage("event.key.given")
|
||||
.processPlaceholder("kit", kit == null ? "Any" : kit.getShowableName())
|
||||
.sendPrefixedMessage(pl);
|
||||
|
|
|
@ -15,7 +15,7 @@ import org.bukkit.Bukkit;
|
|||
public class Convert {
|
||||
|
||||
public static void runKitConversions() {
|
||||
if (!UltimateKits.getInstance().getKitFile().contains("Kits")) {
|
||||
if (!UltimateKits.getInstance().getKitConfig().contains("Kits")) {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Essentials")) {
|
||||
try {
|
||||
Class.forName("com.earth2me.essentials.metrics.MetricsListener");
|
||||
|
@ -42,17 +42,17 @@ public class Convert {
|
|||
for (ItemStack item : hook.getItems(kit)) {
|
||||
serializedItems.add(UltimateKits.getInstance().getItemSerializer().serializeItemStackToJson(item));
|
||||
}
|
||||
UltimateKits.getInstance().getKitFile().set("Kits." + kit + ".items", serializedItems);
|
||||
UltimateKits.getInstance().getKitFile().set("Kits." + kit + ".delay", hook.getDelay(kit));
|
||||
UltimateKits.getInstance().getKitFile().set("Kits." + kit + ".price", 0D);
|
||||
UltimateKits.getInstance().getKitConfig().set("Kits." + kit + ".items", serializedItems);
|
||||
UltimateKits.getInstance().getKitConfig().set("Kits." + kit + ".delay", hook.getDelay(kit));
|
||||
UltimateKits.getInstance().getKitConfig().set("Kits." + kit + ".price", 0D);
|
||||
}
|
||||
UltimateKits.getInstance().getKitFile().save();
|
||||
UltimateKits.getInstance().getKitConfig().save();
|
||||
}
|
||||
|
||||
private static boolean isInJsonFormat() {
|
||||
for (String kit : UltimateKits.getInstance().getKitFile().getConfigurationSection("Kits").getKeys(false)) {
|
||||
if (UltimateKits.getInstance().getKitFile().contains("Kits." + kit + ".items")) {
|
||||
List<String> itemList = UltimateKits.getInstance().getKitFile().getStringList("Kits." + kit + ".items");
|
||||
for (String kit : UltimateKits.getInstance().getKitConfig().getConfigurationSection("Kits").getKeys(false)) {
|
||||
if (UltimateKits.getInstance().getKitConfig().contains("Kits." + kit + ".items")) {
|
||||
List<String> itemList = UltimateKits.getInstance().getKitConfig().getStringList("Kits." + kit + ".items");
|
||||
if (itemList.size() > 0) {
|
||||
if (itemList.get(0).startsWith("{")) {
|
||||
return true;
|
||||
|
|
|
@ -52,7 +52,7 @@ public class BlockEditorGui extends Gui {
|
|||
plugin.updateHologram(kitBlockData);
|
||||
updateItemLore(event.slot, kitTypeLore(plugin));
|
||||
|
||||
plugin.getKitFile().delaySave();
|
||||
plugin.getKitConfig().delaySave();
|
||||
});
|
||||
|
||||
// decor options
|
||||
|
|
|
@ -125,12 +125,7 @@ public class Kit {
|
|||
plugin.getLocale().getMessage("event.crate.wrongkey").sendPrefixedMessage(player);
|
||||
return;
|
||||
}
|
||||
boolean worked = false;
|
||||
for (int i = 0; i < key.getKitAmount(); i++) {
|
||||
if (giveKit(player, key))
|
||||
worked = true;
|
||||
}
|
||||
if (worked) {
|
||||
if (giveKit(player, key)) {
|
||||
plugin.getLocale().getMessage("event.key.success")
|
||||
.processPlaceholder("kit", showableName).sendPrefixedMessage(player);
|
||||
if (player.getInventory().getItemInHand().getAmount() != 1) {
|
||||
|
@ -244,6 +239,7 @@ public class Kit {
|
|||
}
|
||||
}
|
||||
contents = list;
|
||||
plugin.saveKits();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue