mirror of
https://github.com/songoda/UltimateKits.git
synced 2024-11-26 04:05:26 +01:00
Kit conversion overhaul.
This commit is contained in:
parent
00edbe4b01
commit
a7665044cb
@ -0,0 +1,25 @@
|
|||||||
|
package com.craftaro.ultimatekits.conversion;
|
||||||
|
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class ConversionKit {
|
||||||
|
|
||||||
|
private final Set<ItemStack> itemStack = new LinkedHashSet<>();
|
||||||
|
private final long delay;
|
||||||
|
|
||||||
|
public ConversionKit(Set<ItemStack> itemStack, long delay) {
|
||||||
|
this.itemStack.addAll(itemStack);
|
||||||
|
this.delay = delay;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<ItemStack> getItemStacks() {
|
||||||
|
return this.itemStack;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getDelay() {
|
||||||
|
return this.delay;
|
||||||
|
}
|
||||||
|
}
|
@ -12,67 +12,62 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Map;
|
||||||
|
|
||||||
public class Convert {
|
public class Convert {
|
||||||
|
|
||||||
public static void runKitConversions(UltimateKits plugin) {
|
public static void runKitConversions(UltimateKits plugin) {
|
||||||
if (!plugin.getKitConfig().contains("Kits")) {
|
if (!plugin.getKitConfig().contains("Kits")) {
|
||||||
if (Bukkit.getPluginManager().isPluginEnabled("Essentials")) {
|
if (Bukkit.getPluginManager().isPluginEnabled("Essentials")) {
|
||||||
try {
|
try {
|
||||||
Class.forName("com.earth2me.essentials.metrics.MetricsListener");
|
Class.forName("com.earth2me.essentials.metrics.MetricsListener");
|
||||||
} catch (ClassNotFoundException ex) {
|
} catch (ClassNotFoundException ex) {
|
||||||
convertKits(new EssentialsHook());
|
convertKits(plugin, new EssentialsHook());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Bukkit.getPluginManager().isPluginEnabled("UltimateCore")) {
|
if (Bukkit.getPluginManager().isPluginEnabled("UltimateCore"))
|
||||||
convertKits(new UltimateCoreHook());
|
convertKits(plugin, new UltimateCoreHook());
|
||||||
}
|
if (Bukkit.getPluginManager().isPluginEnabled("CMI"))
|
||||||
if (Bukkit.getPluginManager().isPluginEnabled("CMI")) {
|
convertKits(plugin, new CMIHook());
|
||||||
convertKits(new CMIHook());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!isInJsonFormat()) {
|
|
||||||
convertKits(new DefaultHook());
|
|
||||||
}
|
}
|
||||||
|
if (!isInJsonFormat(plugin))
|
||||||
|
convertKits(plugin, new DefaultHook());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void convertKits(Hook hook) {
|
private static void convertKits(UltimateKits plugin, Hook hook) {
|
||||||
try {
|
try {
|
||||||
Set<String> kits = hook.getKits();
|
Map<String, ConversionKit> kits = hook.getKits();
|
||||||
for (String kit : kits) {
|
for (Map.Entry<String, ConversionKit> entry : kits.entrySet()) {
|
||||||
Kit kitObj = UltimateKits.getInstance().getKitManager().addKit(new Kit(kit));
|
Kit kitObj = plugin.getKitManager().addKit(new Kit(entry.getKey()));
|
||||||
if (kitObj == null) {
|
if (kitObj == null)
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
for (ItemStack item : hook.getItems(kit)) {
|
ConversionKit cvt = entry.getValue();
|
||||||
if (item == null || item.getType() == Material.AIR) {
|
|
||||||
|
for (ItemStack item : cvt.getItemStacks()) {
|
||||||
|
if (item == null || item.getType() == Material.AIR)
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
kitObj.getContents().add(new KitItem(item));
|
kitObj.getContents().add(new KitItem(item));
|
||||||
}
|
}
|
||||||
kitObj.setDelay(hook.getDelay(kit));
|
kitObj.setDelay(cvt.getDelay());
|
||||||
}
|
}
|
||||||
UltimateKits.getInstance().saveKits(true);
|
plugin.saveKits(true);
|
||||||
} catch (NoSuchMethodError | NoClassDefFoundError e) {
|
} catch (NoSuchMethodError | NoClassDefFoundError e) {
|
||||||
System.out.println("UltimateKits conversion failed.");
|
System.out.println("UltimateKits conversion failed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isInJsonFormat() {
|
private static boolean isInJsonFormat(UltimateKits plugin) {
|
||||||
if (!UltimateKits.getInstance().getKitConfig().contains("Kits")) {
|
if (!plugin.getKitConfig().contains("Kits"))
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
for (String kit : UltimateKits.getInstance().getKitConfig().getConfigurationSection("Kits").getKeys(false)) {
|
for (String kit : plugin.getKitConfig().getConfigurationSection("Kits").getKeys(false))
|
||||||
if (UltimateKits.getInstance().getKitConfig().contains("Kits." + kit + ".items")) {
|
if (plugin.getKitConfig().contains("Kits." + kit + ".items")) {
|
||||||
List<String> itemList = UltimateKits.getInstance().getKitConfig().getStringList("Kits." + kit + ".items");
|
List<String> itemList = plugin.getKitConfig().getStringList("Kits." + kit + ".items");
|
||||||
if (!itemList.isEmpty()) {
|
if (!itemList.isEmpty())
|
||||||
if (itemList.get(0).startsWith("{")) {
|
if (itemList.get(0).startsWith("{"))
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,10 @@ package com.craftaro.ultimatekits.conversion;
|
|||||||
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public interface Hook {
|
public interface Hook {
|
||||||
Set<String> getKits();
|
|
||||||
|
|
||||||
Set<ItemStack> getItems(String kitName);
|
Map<String, ConversionKit> getKits();
|
||||||
|
|
||||||
long getDelay(String kitName);
|
|
||||||
}
|
}
|
||||||
|
@ -2,46 +2,44 @@ package com.craftaro.ultimatekits.conversion.hooks;
|
|||||||
|
|
||||||
import com.Zrips.CMI.CMI;
|
import com.Zrips.CMI.CMI;
|
||||||
import com.Zrips.CMI.Modules.Kits.Kit;
|
import com.Zrips.CMI.Modules.Kits.Kit;
|
||||||
|
import com.craftaro.ultimatekits.conversion.ConversionKit;
|
||||||
import com.craftaro.ultimatekits.conversion.Hook;
|
import com.craftaro.ultimatekits.conversion.Hook;
|
||||||
import com.craftaro.ultimatekits.kit.type.KitContentCommand;
|
import com.craftaro.ultimatekits.kit.type.KitContentCommand;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.*;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class CMIHook implements Hook {
|
public class CMIHook implements Hook {
|
||||||
|
|
||||||
private final CMI cmi;
|
private final CMI cmi;
|
||||||
|
|
||||||
public CMIHook() {
|
public CMIHook() {
|
||||||
this.cmi = (CMI) Bukkit.getPluginManager().getPlugin("CMI");
|
this.cmi = (CMI) Bukkit.getPluginManager().getPlugin("CMI");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<ItemStack> getItems(String kitName) {
|
@Override
|
||||||
Set<ItemStack> stacks = new HashSet<>();
|
public Map<String, ConversionKit> getKits() {
|
||||||
try {
|
Map<String, ConversionKit> kits = new LinkedHashMap<>();
|
||||||
Kit kit = this.cmi.getKitsManager().getKit(kitName, true);
|
for (String kitName : this.cmi.getKitsManager().getKitMap().keySet()) {
|
||||||
|
Set<ItemStack> stacks = new HashSet<>();
|
||||||
|
try {
|
||||||
|
Kit kit = this.cmi.getKitsManager().getKit(kitName, true);
|
||||||
|
|
||||||
for (ItemStack item : kit.getItems()) {
|
for (ItemStack item : kit.getItems()) {
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
stacks.add(item);
|
stacks.add(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
for (String command : kit.getCommands()) {
|
for (String command : kit.getCommands()) {
|
||||||
stacks.add(new KitContentCommand(command).getItemForDisplay());
|
stacks.add(new KitContentCommand(command).getItemForDisplay());
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
kits.put(kitName, new ConversionKit(stacks, this.cmi.getKitsManager().getKit(kitName, true).getDelay()));
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
}
|
||||||
return stacks;
|
return kits;
|
||||||
}
|
|
||||||
|
|
||||||
public Set<String> getKits() {
|
|
||||||
return this.cmi.getKitsManager().getKitMap().keySet();
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getDelay(String kitName) {
|
|
||||||
return this.cmi.getKitsManager().getKit(kitName, true).getDelay();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,35 +1,18 @@
|
|||||||
package com.craftaro.ultimatekits.conversion.hooks;
|
package com.craftaro.ultimatekits.conversion.hooks;
|
||||||
|
|
||||||
import com.craftaro.core.compatibility.ServerVersion;
|
import com.craftaro.core.compatibility.ServerVersion;
|
||||||
import com.craftaro.core.utils.TextUtils;
|
import com.craftaro.ultimatekits.conversion.ConversionKit;
|
||||||
import com.craftaro.ultimatekits.conversion.Hook;
|
import com.craftaro.ultimatekits.conversion.Hook;
|
||||||
import com.craftaro.ultimatekits.utils.ItemSerializer;
|
import com.craftaro.ultimatekits.utils.ItemSerializer;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.*;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class DefaultHook implements Hook {
|
public class DefaultHook implements Hook {
|
||||||
|
|
||||||
public Set<ItemStack> getItems(String kitName) {
|
@Override
|
||||||
Set<ItemStack> items = new HashSet<>();
|
public Map<String, ConversionKit> getKits() {
|
||||||
|
Map<String, ConversionKit> kits = new LinkedHashMap<>();
|
||||||
for (Kits kit : Kits.values()) {
|
|
||||||
if (!kit.name().equalsIgnoreCase(kitName)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (String string : kit.items) {
|
|
||||||
items.add(ItemSerializer.deserializeItemStackFromJson(string));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<String> getKits() {
|
|
||||||
Set<String> kits = new HashSet<>();
|
|
||||||
|
|
||||||
for (Kits kit : Kits.values()) {
|
for (Kits kit : Kits.values()) {
|
||||||
if (kit == Kits.BRIANNA_1_12 && ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13))
|
if (kit == Kits.BRIANNA_1_12 && ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13))
|
||||||
continue;
|
continue;
|
||||||
@ -38,22 +21,15 @@ public class DefaultHook implements Hook {
|
|||||||
if (kit == Kits.BRIANNA_1_16 && ServerVersion.isServerVersionBelow(ServerVersion.V1_16))
|
if (kit == Kits.BRIANNA_1_16 && ServerVersion.isServerVersionBelow(ServerVersion.V1_16))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
kits.add(kit.getName());
|
Set<ItemStack> items = new LinkedHashSet<>();
|
||||||
|
for (String string : kit.items)
|
||||||
|
items.add(ItemSerializer.deserializeItemStackFromJson(string));
|
||||||
|
kits.put(kit.getName(), new ConversionKit(items, kit.getDelay()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return kits;
|
return kits;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getDelay(String kitName) {
|
|
||||||
for (Kits kit : Kits.values()) {
|
|
||||||
if (!kit.name().equalsIgnoreCase(kitName)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
return kit.delay;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum Kits {
|
public enum Kits {
|
||||||
TOOLS(10, "{id:\"minecraft:stone_pickaxe\",Count:1b}",
|
TOOLS(10, "{id:\"minecraft:stone_pickaxe\",Count:1b}",
|
||||||
"{id:\"minecraft:stone_axe\",Count:1b}",
|
"{id:\"minecraft:stone_axe\",Count:1b}",
|
||||||
@ -65,14 +41,14 @@ public class DefaultHook implements Hook {
|
|||||||
"{id:\"minecraft:diamond_shovel\",Count:1b,tag:{Enchantments:[{lvl:1s,id:\"minecraft:efficiency\"}]}}",
|
"{id:\"minecraft:diamond_shovel\",Count:1b,tag:{Enchantments:[{lvl:1s,id:\"minecraft:efficiency\"}]}}",
|
||||||
"{id:\"minecraft:diamond_hoe\",Count:1b,tag:{Enchantments:[{lvl:3s,id:\"minecraft:unbreaking\"}]}}"),
|
"{id:\"minecraft:diamond_hoe\",Count:1b,tag:{Enchantments:[{lvl:3s,id:\"minecraft:unbreaking\"}]}}"),
|
||||||
|
|
||||||
BRIANNA_1_12(0, "{id:\"minecraft:skull\",Count:1b,tag:{SkullOwner:{Id:\"2626974f-5838-44c6-994d-f6c723d40b79\",Properties:{textures:[0:{Signature:\"tQRjs3H+5H5A8Id/Hb2a3E+VDQY8sUKQYacc9ZYDsBncagNO6imX6h6qsDmtTDtliTh8ZzHRIAw/6gQeiODJnOm4PAB2vPnUv0VFAP2awbikJeOSuK3WZsvcUN78+hXLFFtvBUt/oGKpsTj5P//2+qH7QLqmrxFD72jGpmyS8Fp6AHuQqzeHn40isvKT2+oTItFb3wQ3H2QgudGxEhOX6Onz0M2xmH61+HF5ajPS+/2hUl5kjRk8uRLc2AJD162dECdYOUJ8/j47Fl9pJXG1dcG6cGMuRlDAim3AqfdJFTW0CI78YEpTTGZcLL+O+/yUMQD9hOQqjP7y63YIOZ9kAZ7DRzu5hQaHLevhUcTwZnkqs+F9eUuQR00y8PoVoSEOMrV4LIWAJFutdziNZX9I7MI9tJ0x96imA18yYC9Skwx7JHurC1wpdtSqS/F7gCeU3+2QiFufxX9ft9BPHSBX7z08nqQkwxYh0O/06OX+H0NJTLwYrK+hoTXT1A5dNrJIHzGuK9/qUaitH4yz0zv5aGd3vVytdKCULFqOTiqur1QYPvF9sI2fhvfcHqUc30yU1di0Ws5SOQzCAFLOypjUH1ezQMOK+Xy3ixB0a8HXI9RL8ewOvKaVepbWS1vomNNWfiCgpudbLW8x6bPvQLmZn8YWPjCAL0WFycnw8lm6JDg=\",Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]},Name:\"Brianna\"}},Damage:3s}}"),
|
BRIANNA_1_12(0, "{id:\"minecraft:skull\",Count:1b,tag:{display:{Name:'{\"text\":\"Brianna\"}'},SkullOwner:{Id:\"2626974f-5838-44c6-994d-f6c723d40b79\",Properties:{textures:[0:{Signature:\"tQRjs3H+5H5A8Id/Hb2a3E+VDQY8sUKQYacc9ZYDsBncagNO6imX6h6qsDmtTDtliTh8ZzHRIAw/6gQeiODJnOm4PAB2vPnUv0VFAP2awbikJeOSuK3WZsvcUN78+hXLFFtvBUt/oGKpsTj5P//2+qH7QLqmrxFD72jGpmyS8Fp6AHuQqzeHn40isvKT2+oTItFb3wQ3H2QgudGxEhOX6Onz0M2xmH61+HF5ajPS+/2hUl5kjRk8uRLc2AJD162dECdYOUJ8/j47Fl9pJXG1dcG6cGMuRlDAim3AqfdJFTW0CI78YEpTTGZcLL+O+/yUMQD9hOQqjP7y63YIOZ9kAZ7DRzu5hQaHLevhUcTwZnkqs+F9eUuQR00y8PoVoSEOMrV4LIWAJFutdziNZX9I7MI9tJ0x96imA18yYC9Skwx7JHurC1wpdtSqS/F7gCeU3+2QiFufxX9ft9BPHSBX7z08nqQkwxYh0O/06OX+H0NJTLwYrK+hoTXT1A5dNrJIHzGuK9/qUaitH4yz0zv5aGd3vVytdKCULFqOTiqur1QYPvF9sI2fhvfcHqUc30yU1di0Ws5SOQzCAFLOypjUH1ezQMOK+Xy3ixB0a8HXI9RL8ewOvKaVepbWS1vomNNWfiCgpudbLW8x6bPvQLmZn8YWPjCAL0WFycnw8lm6JDg=\",Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]}},Damage:3s}}"),
|
||||||
|
|
||||||
BRIANNA_1_13(0, "{id:\"minecraft:player_head\",Count:1b,tag:{SkullOwner:{Id:\"2626974f-5838-44c6-994d-f6c723d40b79\",Properties:{textures:[{Signature:\"tQRjs3H+5H5A8Id/Hb2a3E+VDQY8sUKQYacc9ZYDsBncagNO6imX6h6qsDmtTDtliTh8ZzHRIAw/6gQeiODJnOm4PAB2vPnUv0VFAP2awbikJeOSuK3WZsvcUN78+hXLFFtvBUt/oGKpsTj5P//2+qH7QLqmrxFD72jGpmyS8Fp6AHuQqzeHn40isvKT2+oTItFb3wQ3H2QgudGxEhOX6Onz0M2xmH61+HF5ajPS+/2hUl5kjRk8uRLc2AJD162dECdYOUJ8/j47Fl9pJXG1dcG6cGMuRlDAim3AqfdJFTW0CI78YEpTTGZcLL+O+/yUMQD9hOQqjP7y63YIOZ9kAZ7DRzu5hQaHLevhUcTwZnkqs+F9eUuQR00y8PoVoSEOMrV4LIWAJFutdziNZX9I7MI9tJ0x96imA18yYC9Skwx7JHurC1wpdtSqS/F7gCeU3+2QiFufxX9ft9BPHSBX7z08nqQkwxYh0O/06OX+H0NJTLwYrK+hoTXT1A5dNrJIHzGuK9/qUaitH4yz0zv5aGd3vVytdKCULFqOTiqur1QYPvF9sI2fhvfcHqUc30yU1di0Ws5SOQzCAFLOypjUH1ezQMOK+Xy3ixB0a8HXI9RL8ewOvKaVepbWS1vomNNWfiCgpudbLW8x6bPvQLmZn8YWPjCAL0WFycnw8lm6JDg=\",Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]},Name:\"Brianna\"},Damage:3}}"),
|
BRIANNA_1_13(0, "{id:\"minecraft:player_head\",Count:1b,tag:{display:{Name:'{\"text\":\"Brianna\"}'},SkullOwner:{Id:\"2626974f-5838-44c6-994d-f6c723d40b79\",Properties:{textures:[{Signature:\"tQRjs3H+5H5A8Id/Hb2a3E+VDQY8sUKQYacc9ZYDsBncagNO6imX6h6qsDmtTDtliTh8ZzHRIAw/6gQeiODJnOm4PAB2vPnUv0VFAP2awbikJeOSuK3WZsvcUN78+hXLFFtvBUt/oGKpsTj5P//2+qH7QLqmrxFD72jGpmyS8Fp6AHuQqzeHn40isvKT2+oTItFb3wQ3H2QgudGxEhOX6Onz0M2xmH61+HF5ajPS+/2hUl5kjRk8uRLc2AJD162dECdYOUJ8/j47Fl9pJXG1dcG6cGMuRlDAim3AqfdJFTW0CI78YEpTTGZcLL+O+/yUMQD9hOQqjP7y63YIOZ9kAZ7DRzu5hQaHLevhUcTwZnkqs+F9eUuQR00y8PoVoSEOMrV4LIWAJFutdziNZX9I7MI9tJ0x96imA18yYC9Skwx7JHurC1wpdtSqS/F7gCeU3+2QiFufxX9ft9BPHSBX7z08nqQkwxYh0O/06OX+H0NJTLwYrK+hoTXT1A5dNrJIHzGuK9/qUaitH4yz0zv5aGd3vVytdKCULFqOTiqur1QYPvF9sI2fhvfcHqUc30yU1di0Ws5SOQzCAFLOypjUH1ezQMOK+Xy3ixB0a8HXI9RL8ewOvKaVepbWS1vomNNWfiCgpudbLW8x6bPvQLmZn8YWPjCAL0WFycnw8lm6JDg=\",Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]}},Damage:3}}"),
|
||||||
|
|
||||||
BRIANNA_1_16(0, "{id:\"minecraft:player_head\",Count:1b,tag:{SkullOwner:{Id:[I;656807503,1481976518,-1694340157,-169243065],Properties:{textures:[{Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]}}}}");
|
BRIANNA_1_16(0, "{id:\"minecraft:player_head\",Count:1b,tag:{display:{Name:'{\"text\":\"Brianna\"}'},SkullOwner:{Id:[I;656807503,1481976518,-1694340157,-169243065],Properties:{textures:[{Value:\"eyJ0aW1lc3RhbXAiOjE1NzA5MDI0MDg4ODEsInByb2ZpbGVJZCI6IjA2Y2NiMGU0MWM3NjQ0YjE5OGZiYzk5OTBhODcwNjAwIiwicHJvZmlsZU5hbWUiOiJCcmlhbm5hIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yN2I3MjM5Yzk2OWNhNzY0NWJmMTQzODc4M2Y1Y2FiZjdlMDhhYTViODY4OGFkODg3NWJhNzNlNTVhNDBlMjIiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQ==\"}]}}}}");
|
||||||
|
|
||||||
public final String[] items;
|
private final String[] items;
|
||||||
public final int delay;
|
private final int delay;
|
||||||
|
|
||||||
Kits(int delay, String... items) {
|
Kits(int delay, String... items) {
|
||||||
this.items = items;
|
this.items = items;
|
||||||
@ -92,5 +68,13 @@ public class DefaultHook implements Hook {
|
|||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String[] getItems() {
|
||||||
|
return items;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDelay() {
|
||||||
|
return delay;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.craftaro.ultimatekits.conversion.hooks;
|
package com.craftaro.ultimatekits.conversion.hooks;
|
||||||
|
|
||||||
|
import com.craftaro.ultimatekits.conversion.ConversionKit;
|
||||||
import com.craftaro.ultimatekits.conversion.Hook;
|
import com.craftaro.ultimatekits.conversion.Hook;
|
||||||
import com.earth2me.essentials.Essentials;
|
import com.earth2me.essentials.Essentials;
|
||||||
import com.earth2me.essentials.Kit;
|
import com.earth2me.essentials.Kit;
|
||||||
@ -9,6 +10,8 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class EssentialsHook implements Hook {
|
public class EssentialsHook implements Hook {
|
||||||
@ -18,48 +21,32 @@ public class EssentialsHook implements Hook {
|
|||||||
this.essentials = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials");
|
this.essentials = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<ItemStack> getItems(String kitName) {
|
@Override
|
||||||
Set<ItemStack> stacks = new HashSet<>();
|
public Map<String, ConversionKit> getKits() {
|
||||||
try {
|
|
||||||
Kit kit = new Kit(kitName, this.essentials);
|
|
||||||
|
|
||||||
for (String nonParse : kit.getItems()) {
|
|
||||||
String[] parts = nonParse.split(" +");
|
|
||||||
ItemStack item = this.essentials.getItemDb().get(parts[0], parts.length > 1 ? Integer.parseInt(parts[1]) : 1);
|
|
||||||
MetaItemStack metaStack = new MetaItemStack(item);
|
|
||||||
if (parts.length > 2 != nonParse.startsWith("/")) {
|
|
||||||
try {
|
|
||||||
metaStack.parseStringMeta(null, true, parts, 2, this.essentials);
|
|
||||||
} catch (Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stacks.add(metaStack.getItemStack());
|
|
||||||
}
|
|
||||||
} catch (Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
return stacks;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<String> getKits() {
|
|
||||||
ConfigurationSection cs = this.essentials.getSettings().getKits();
|
ConfigurationSection cs = this.essentials.getSettings().getKits();
|
||||||
Set<String> kits = new HashSet<>();
|
Map<String, ConversionKit> kits = new LinkedHashMap<>();
|
||||||
try {
|
try {
|
||||||
cs.getKeys(false);
|
for (String name : cs.getKeys(false)) {
|
||||||
|
Set<ItemStack> stacks = new HashSet<>();
|
||||||
|
Kit kitObj = new Kit(name, this.essentials);
|
||||||
|
for (String nonParse : kitObj.getItems()) {
|
||||||
|
String[] parts = nonParse.split(" +");
|
||||||
|
ItemStack item = this.essentials.getItemDb().get(parts[0], parts.length > 1 ? Integer.parseInt(parts[1]) : 1);
|
||||||
|
MetaItemStack metaStack = new MetaItemStack(item);
|
||||||
|
if (parts.length > 2 != nonParse.startsWith("/")) {
|
||||||
|
try {
|
||||||
|
metaStack.parseStringMeta(null, true, parts, 2, this.essentials);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stacks.add(metaStack.getItemStack());
|
||||||
|
}
|
||||||
|
kits.put(name, new ConversionKit(stacks, Integer.toUnsignedLong((int) this.essentials.getSettings().getKit(name).getOrDefault("delay", 0))));
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return kits;
|
return kits;
|
||||||
}
|
}
|
||||||
kits.addAll(cs.getKeys(false));
|
|
||||||
return kits;
|
return kits;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getDelay(String kitName) {
|
|
||||||
Object object = this.essentials.getSettings().getKit(kitName).getOrDefault("delay", 0);
|
|
||||||
try {
|
|
||||||
return Integer.toUnsignedLong((int) object);
|
|
||||||
} catch (Exception ex) {
|
|
||||||
return (long) object;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,32 +2,21 @@ package com.craftaro.ultimatekits.conversion.hooks;
|
|||||||
|
|
||||||
import bammerbom.ultimatecore.bukkit.api.UC;
|
import bammerbom.ultimatecore.bukkit.api.UC;
|
||||||
import bammerbom.ultimatecore.bukkit.api.UKit;
|
import bammerbom.ultimatecore.bukkit.api.UKit;
|
||||||
|
import com.craftaro.ultimatekits.conversion.ConversionKit;
|
||||||
import com.craftaro.ultimatekits.conversion.Hook;
|
import com.craftaro.ultimatekits.conversion.Hook;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class UltimateCoreHook implements Hook {
|
public class UltimateCoreHook implements Hook {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<String> getKits() {
|
public Map<String, ConversionKit> getKits() {
|
||||||
Set<String> list = new HashSet<>();
|
Map<String, ConversionKit> list = new LinkedHashMap<>();
|
||||||
List<UKit> kits = UC.getServer().getKits();
|
List<UKit> kits = UC.getServer().getKits();
|
||||||
for (UKit kit : kits) {
|
for (UKit kit : kits) {
|
||||||
list.add(kit.getName());
|
list.put(kit.getName(), new ConversionKit(new HashSet<>(kit.getItems()), 0));
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<ItemStack> getItems(String kitName) {
|
|
||||||
UKit uKit = new UKit(kitName);
|
|
||||||
return new HashSet<>(uKit.getItems());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public long getDelay(String kitName) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user