Skip to content

Commit 0b85c74

Browse files
committed
Implement Custom Kits
1 parent 62f0a75 commit 0b85c74

25 files changed

Lines changed: 1584 additions & 9 deletions

Plugin/src/main/java/dev/lrxh/neptune/Neptune.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
import dev.lrxh.neptune.configs.impl.SettingsLocale;
1616
import dev.lrxh.neptune.feature.cosmetics.CosmeticService;
1717
import dev.lrxh.neptune.feature.cosmetics.command.CosmeticsCommand;
18+
import dev.lrxh.neptune.feature.customkit.command.CustomKitCommand;
19+
import dev.lrxh.neptune.feature.customkit.listener.CustomKitListener;
1820
import dev.lrxh.neptune.feature.divisions.DivisionService;
1921
import dev.lrxh.neptune.feature.hotbar.HotbarService;
2022
import dev.lrxh.neptune.feature.hotbar.listener.ItemListener;
@@ -145,6 +147,7 @@ private void loadManager() {
145147
CosmeticService.get().load();
146148
DivisionService.get().load();
147149
LeaderboardService.get().load();
150+
ItemBrowserService.get().preloadSections();
148151

149152
registerListeners();
150153
loadCommandManager();
@@ -170,6 +173,7 @@ private void registerListeners() {
170173
new ArenaEditorChatListener(),
171174
new KitEditorChatListener(),
172175
new KitEditorListener(),
176+
new CustomKitListener(),
173177
new ItemBrowserListener())
174178
.forEach(listener -> getServer().getPluginManager().registerEvents(listener, this));
175179
}
@@ -228,6 +232,7 @@ private void loadCommandManager() {
228232
drink.register(new CosmeticsCommand(), "cosmetics");
229233
drink.register(new MatchHistoryCommand(), "matchhistory").setDefaultCommandIsHelp(true);
230234
drink.register(new QuickQueueCommand(), "quickqueue");
235+
drink.register(new CustomKitCommand(), "customkits", "ck");
231236
drink.registerCommands();
232237
}
233238

Plugin/src/main/java/dev/lrxh/neptune/configs/impl/HotbarLocale.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public enum HotbarLocale implements IDataAccessor {
3232
LOBBY_KIT_EDITOR_LORE("ITEMS.IN_LOBBY.KIT_EDITOR.LORE", DataType.STRING_LIST, " "),
3333
LOBBY_KIT_EDITOR_SLOT("ITEMS.IN_LOBBY.KIT_EDITOR.SLOT", DataType.INT, "2"),
3434
LOBBY_KIT_EDITOR_ENABLED("ITEMS.IN_LOBBY.KIT_EDITOR.ENABLED", DataType.BOOLEAN, "true"),
35+
LOBBY_CUSTOM_KITS_NAME("ITEMS.IN_LOBBY.CUSTOM_KITS.NAME", DataType.STRING, "&bCustom Kits &7(Right Click)"),
36+
LOBBY_CUSTOM_KITS_MATERIAL("ITEMS.IN_LOBBY.CUSTOM_KITS.MATERIAL", DataType.STRING, "NETHERITE_SWORD"),
37+
LOBBY_CUSTOM_KITS_LORE("ITEMS.IN_LOBBY.CUSTOM_KITS.LORE", DataType.STRING_LIST, " "),
38+
LOBBY_CUSTOM_KITS_SLOT("ITEMS.IN_LOBBY.CUSTOM_KITS.SLOT", DataType.INT, "3"),
39+
LOBBY_CUSTOM_KITS_ENABLED("ITEMS.IN_LOBBY.CUSTOM_KITS.ENABLED", DataType.BOOLEAN, "true"),
3540
IN_GAME_PLAY_AGAIN_NAME("ITEMS.IN_GAME.PLAY_AGAIN.NAME", DataType.STRING, "&aPlay again &7(Right Click)"),
3641
IN_GAME_PLAY_AGAIN_MATERIAL("ITEMS.IN_GAME.PLAY_AGAIN.MATERIAL", DataType.STRING, "PAPER"),
3742
IN_GAME_PLAY_AGAIN_LORE("ITEMS.IN_GAME.PLAY_AGAIN.LORE", DataType.STRING_LIST, " "),

Plugin/src/main/java/dev/lrxh/neptune/configs/impl/MenusLocale.java

Lines changed: 101 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,107 @@ public enum MenusLocale implements IDataAccessor {
579579
" ",
580580
"<description> ",
581581
" ",
582-
"&cNo permission");
582+
"&cNo permission"),
583+
584+
CUSTOM_KIT_TITLE("CUSTOM_KIT.MENU.TITLE", DataType.STRING, "&bCustom Kits"),
585+
CUSTOM_KIT_HOST_TITLE("CUSTOM_KIT.MENU.HOST_TITLE", DataType.STRING, "&bSelect a Kit to Host"),
586+
CUSTOM_KIT_SIZE("CUSTOM_KIT.MENU.SIZE", DataType.INT, "27"),
587+
CUSTOM_KIT_FILTER("CUSTOM_KIT.MENU.FILTER-TYPE", "FILL, BORDER, NONE", DataType.STRING, "NONE"),
588+
CUSTOM_KIT_ITEM_NAME("CUSTOM_KIT.MENU.KIT.NAME", DataType.STRING, "<kit>"),
589+
CUSTOM_KIT_ITEM_MANAGE_LORE("CUSTOM_KIT.MENU.KIT.MANAGE-LORE", DataType.STRING_LIST, "&7Click to manage"),
590+
CUSTOM_KIT_ITEM_HOST_LORE("CUSTOM_KIT.MENU.KIT.HOST-LORE", DataType.STRING_LIST, "&aClick to host this kit"),
591+
CUSTOM_KIT_CREATE_SLOT("CUSTOM_KIT.MENU.CREATE.SLOT", DataType.INT, "22"),
592+
CUSTOM_KIT_CREATE_MATERIAL("CUSTOM_KIT.MENU.CREATE.MATERIAL", DataType.STRING, "LIME_DYE"),
593+
CUSTOM_KIT_CREATE_NAME("CUSTOM_KIT.MENU.CREATE.NAME", DataType.STRING, "&aCreate Kit"),
594+
CUSTOM_KIT_CREATE_LORE("CUSTOM_KIT.MENU.CREATE.LORE", DataType.STRING_LIST, "&7Kits: &f<kits>&7/&f<max>"),
595+
596+
CUSTOM_KIT_MANAGE_TITLE("CUSTOM_KIT.MANAGE.TITLE", DataType.STRING, "&bEditing: <kit>"),
597+
CUSTOM_KIT_MANAGE_SIZE("CUSTOM_KIT.MANAGE.SIZE", DataType.INT, "45"),
598+
CUSTOM_KIT_MANAGE_FILTER("CUSTOM_KIT.MANAGE.FILTER-TYPE", "FILL, BORDER, NONE", DataType.STRING, "FILL"),
599+
CUSTOM_KIT_MANAGE_EDIT_ITEMS_SLOT("CUSTOM_KIT.MANAGE.EDIT-ITEMS.SLOT", DataType.INT, "10"),
600+
CUSTOM_KIT_MANAGE_EDIT_ITEMS_MATERIAL("CUSTOM_KIT.MANAGE.EDIT-ITEMS.MATERIAL", DataType.STRING, "CHEST"),
601+
CUSTOM_KIT_MANAGE_EDIT_ITEMS_NAME("CUSTOM_KIT.MANAGE.EDIT-ITEMS.NAME", DataType.STRING, "&aEdit Items"),
602+
CUSTOM_KIT_MANAGE_RULES_SLOT("CUSTOM_KIT.MANAGE.RULES.SLOT", DataType.INT, "11"),
603+
CUSTOM_KIT_MANAGE_RULES_MATERIAL("CUSTOM_KIT.MANAGE.RULES.MATERIAL", DataType.STRING, "COMPARATOR"),
604+
CUSTOM_KIT_MANAGE_RULES_NAME("CUSTOM_KIT.MANAGE.RULES.NAME", DataType.STRING, "&eRules"),
605+
CUSTOM_KIT_MANAGE_ARENAS_SLOT("CUSTOM_KIT.MANAGE.ARENAS.SLOT", DataType.INT, "12"),
606+
CUSTOM_KIT_MANAGE_ARENAS_MATERIAL("CUSTOM_KIT.MANAGE.ARENAS.MATERIAL", DataType.STRING, "MAP"),
607+
CUSTOM_KIT_MANAGE_ARENAS_NAME("CUSTOM_KIT.MANAGE.ARENAS.NAME", DataType.STRING, "&eArenas"),
608+
CUSTOM_KIT_MANAGE_WHITELIST_SLOT("CUSTOM_KIT.MANAGE.WHITELIST.SLOT", DataType.INT, "13"),
609+
CUSTOM_KIT_MANAGE_WHITELIST_MATERIAL("CUSTOM_KIT.MANAGE.WHITELIST.MATERIAL", DataType.STRING, "GRASS_BLOCK"),
610+
CUSTOM_KIT_MANAGE_WHITELIST_NAME("CUSTOM_KIT.MANAGE.WHITELIST.NAME", DataType.STRING, "&eWhitelisted Blocks"),
611+
CUSTOM_KIT_MANAGE_EFFECTS_SLOT("CUSTOM_KIT.MANAGE.EFFECTS.SLOT", DataType.INT, "14"),
612+
CUSTOM_KIT_MANAGE_EFFECTS_MATERIAL("CUSTOM_KIT.MANAGE.EFFECTS.MATERIAL", DataType.STRING, "BREWING_STAND"),
613+
CUSTOM_KIT_MANAGE_EFFECTS_NAME("CUSTOM_KIT.MANAGE.EFFECTS.NAME", DataType.STRING, "&ePotion Effects"),
614+
CUSTOM_KIT_MANAGE_ICON_SLOT("CUSTOM_KIT.MANAGE.ICON.SLOT", DataType.INT, "15"),
615+
CUSTOM_KIT_MANAGE_ICON_MATERIAL("CUSTOM_KIT.MANAGE.ICON.MATERIAL", DataType.STRING, "ITEM_FRAME"),
616+
CUSTOM_KIT_MANAGE_ICON_NAME("CUSTOM_KIT.MANAGE.ICON.NAME", DataType.STRING, "&eSet Icon"),
617+
CUSTOM_KIT_MANAGE_HEALTH_SLOT("CUSTOM_KIT.MANAGE.HEALTH.SLOT", DataType.INT, "16"),
618+
CUSTOM_KIT_MANAGE_HEALTH_MATERIAL("CUSTOM_KIT.MANAGE.HEALTH.MATERIAL", DataType.STRING, "GOLDEN_APPLE"),
619+
CUSTOM_KIT_MANAGE_HEALTH_NAME("CUSTOM_KIT.MANAGE.HEALTH.NAME", DataType.STRING, "&eSet Health"),
620+
CUSTOM_KIT_MANAGE_HEALTH_LORE("CUSTOM_KIT.MANAGE.HEALTH.LORE", DataType.STRING_LIST, "&7Current: &f<health>"),
621+
CUSTOM_KIT_MANAGE_DELETE_SLOT("CUSTOM_KIT.MANAGE.DELETE.SLOT", DataType.INT, "31"),
622+
CUSTOM_KIT_MANAGE_DELETE_MATERIAL("CUSTOM_KIT.MANAGE.DELETE.MATERIAL", DataType.STRING, "TNT"),
623+
CUSTOM_KIT_MANAGE_DELETE_NAME("CUSTOM_KIT.MANAGE.DELETE.NAME", DataType.STRING, "&cDelete Kit"),
624+
CUSTOM_KIT_MANAGE_DELETE_LORE("CUSTOM_KIT.MANAGE.DELETE.LORE", DataType.STRING_LIST, "&7Shift-click to delete"),
625+
CUSTOM_KIT_MANAGE_RETURN_SLOT("CUSTOM_KIT.MANAGE.RETURN-SLOT", DataType.INT, "40"),
626+
627+
CUSTOM_KIT_RULES_TITLE("CUSTOM_KIT.RULES.TITLE", DataType.STRING, "&eCustom Kit Rules"),
628+
CUSTOM_KIT_RULES_SIZE("CUSTOM_KIT.RULES.SIZE", DataType.INT, "54"),
629+
CUSTOM_KIT_ARENAS_TITLE("CUSTOM_KIT.ARENAS.TITLE", DataType.STRING, "&eSelect Arenas"),
630+
CUSTOM_KIT_ARENAS_SIZE("CUSTOM_KIT.ARENAS.SIZE", DataType.INT, "54"),
631+
CUSTOM_KIT_ARENAS_ITEM_NAME("CUSTOM_KIT.ARENAS.ITEM-NAME", DataType.STRING, "&f<arena>"),
632+
CUSTOM_KIT_ARENAS_SELECTED_LORE("CUSTOM_KIT.ARENAS.SELECTED-LORE", DataType.STRING_LIST, "&aSelected", "&7Click to toggle"),
633+
CUSTOM_KIT_ARENAS_UNSELECTED_LORE("CUSTOM_KIT.ARENAS.UNSELECTED-LORE", DataType.STRING_LIST, "&cNot selected", "&7Click to toggle"),
634+
CUSTOM_KIT_WHITELIST_TITLE("CUSTOM_KIT.WHITELIST.TITLE", DataType.STRING, "&eWhitelisted Blocks"),
635+
CUSTOM_KIT_WHITELIST_SIZE("CUSTOM_KIT.WHITELIST.SIZE", DataType.INT, "54"),
636+
CUSTOM_KIT_WHITELIST_ADD_MATERIAL("CUSTOM_KIT.WHITELIST.ADD.MATERIAL", DataType.STRING, "GREEN_STAINED_GLASS_PANE"),
637+
CUSTOM_KIT_WHITELIST_ADD_NAME("CUSTOM_KIT.WHITELIST.ADD.NAME", DataType.STRING, "&aAdd Block"),
638+
CUSTOM_KIT_WHITELIST_ITEM_NAME("CUSTOM_KIT.WHITELIST.ITEM-NAME", DataType.STRING, "&f<block>"),
639+
CUSTOM_KIT_WHITELIST_REMOVE_LORE("CUSTOM_KIT.WHITELIST.REMOVE-LORE", DataType.STRING_LIST, "&cClick to remove"),
640+
CUSTOM_KIT_EFFECTS_TITLE("CUSTOM_KIT.EFFECTS.TITLE", DataType.STRING, "&ePotion Effects"),
641+
CUSTOM_KIT_EFFECTS_SIZE("CUSTOM_KIT.EFFECTS.SIZE", DataType.INT, "54"),
642+
CUSTOM_KIT_EFFECTS_ITEM_NAME("CUSTOM_KIT.EFFECTS.ITEM-NAME", DataType.STRING, "&f<effect>"),
643+
CUSTOM_KIT_EFFECTS_ENABLED_LORE("CUSTOM_KIT.EFFECTS.ENABLED-LORE", DataType.STRING, "&aLevel <level>"),
644+
CUSTOM_KIT_EFFECTS_DISABLED_LORE("CUSTOM_KIT.EFFECTS.DISABLED-LORE", DataType.STRING, "&cDisabled"),
645+
CUSTOM_KIT_EFFECTS_TOGGLE_LORE("CUSTOM_KIT.EFFECTS.TOGGLE-LORE", DataType.STRING, "&7Left: toggle &7Right: level up"),
646+
CUSTOM_KIT_EDITOR_TITLE("CUSTOM_KIT.EDITOR.TITLE", DataType.STRING, "&bEdit Items"),
647+
CUSTOM_KIT_EDITOR_SIZE("CUSTOM_KIT.EDITOR.SIZE", DataType.INT, "54"),
648+
CUSTOM_KIT_EDITOR_ITEM_LORE("CUSTOM_KIT.EDITOR.ITEM-LORE", DataType.STRING_LIST,
649+
" ", "&aLeft-click to enchant", "&cRight-click to remove"),
650+
CUSTOM_KIT_EDITOR_EMPTY_MATERIAL("CUSTOM_KIT.EDITOR.EMPTY.MATERIAL", DataType.STRING, "GRAY_STAINED_GLASS_PANE"),
651+
CUSTOM_KIT_EDITOR_EMPTY_NAME("CUSTOM_KIT.EDITOR.EMPTY.NAME", DataType.STRING, "&7Empty"),
652+
CUSTOM_KIT_EDITOR_SLOT_MATERIAL("CUSTOM_KIT.EDITOR.SLOT.MATERIAL", DataType.STRING, "LIGHT_GRAY_STAINED_GLASS_PANE"),
653+
CUSTOM_KIT_EDITOR_HELMET_NAME("CUSTOM_KIT.EDITOR.SLOT.HELMET", DataType.STRING, "&7Helmet"),
654+
CUSTOM_KIT_EDITOR_CHESTPLATE_NAME("CUSTOM_KIT.EDITOR.SLOT.CHESTPLATE", DataType.STRING, "&7Chestplate"),
655+
CUSTOM_KIT_EDITOR_LEGGINGS_NAME("CUSTOM_KIT.EDITOR.SLOT.LEGGINGS", DataType.STRING, "&7Leggings"),
656+
CUSTOM_KIT_EDITOR_BOOTS_NAME("CUSTOM_KIT.EDITOR.SLOT.BOOTS", DataType.STRING, "&7Boots"),
657+
CUSTOM_KIT_EDITOR_OFFHAND_NAME("CUSTOM_KIT.EDITOR.SLOT.OFFHAND", DataType.STRING, "&7Off Hand"),
658+
CUSTOM_KIT_EDITOR_ADD_LORE("CUSTOM_KIT.EDITOR.ADD-LORE", DataType.STRING_LIST, "&8Click to add an item"),
659+
CUSTOM_KIT_ENCHANT_TITLE("CUSTOM_KIT.ENCHANT.TITLE", DataType.STRING, "&dSelect an Enchantment"),
660+
CUSTOM_KIT_ENCHANT_SIZE("CUSTOM_KIT.ENCHANT.SIZE", DataType.INT, "54"),
661+
CUSTOM_KIT_ENCHANT_LEVEL_TITLE("CUSTOM_KIT.ENCHANT.LEVEL-TITLE", DataType.STRING, "&dSelect Level"),
662+
CUSTOM_KIT_ENCHANT_LEVEL_SIZE("CUSTOM_KIT.ENCHANT.LEVEL-SIZE", DataType.INT, "27"),
663+
CUSTOM_KIT_ENCHANT_ITEM_NAME("CUSTOM_KIT.ENCHANT.ITEM-NAME", DataType.STRING, "&d<enchant>"),
664+
CUSTOM_KIT_ENCHANT_APPLIED_LORE("CUSTOM_KIT.ENCHANT.APPLIED-LORE", DataType.STRING, "&aApplied: level <level>"),
665+
CUSTOM_KIT_ENCHANT_MAX_LORE("CUSTOM_KIT.ENCHANT.MAX-LORE", DataType.STRING, "&7Max level: <max>"),
666+
CUSTOM_KIT_ENCHANT_SELECT_LORE("CUSTOM_KIT.ENCHANT.SELECT-LORE", DataType.STRING, "&7Click to choose a level"),
667+
CUSTOM_KIT_ENCHANT_LEVEL_NAME("CUSTOM_KIT.ENCHANT.LEVEL-NAME", DataType.STRING, "&dLevel <level>"),
668+
CUSTOM_KIT_ENCHANT_REMOVE_NAME("CUSTOM_KIT.ENCHANT.REMOVE-NAME", DataType.STRING, "&cRemove Enchantment"),
669+
670+
CUSTOM_KIT_LISTINGS_TITLE("CUSTOM_KIT.LISTINGS.TITLE", DataType.STRING, "&bCustom Kit Listings"),
671+
CUSTOM_KIT_LISTINGS_SIZE("CUSTOM_KIT.LISTINGS.SIZE", DataType.INT, "54"),
672+
CUSTOM_KIT_LISTINGS_NAME("CUSTOM_KIT.LISTINGS.NAME", DataType.STRING, "&a<player> &7- <kit>"),
673+
CUSTOM_KIT_LISTINGS_LORE("CUSTOM_KIT.LISTINGS.LORE", DataType.STRING_LIST, "&7Click to join this match"),
674+
CUSTOM_KIT_JOIN_QUEUE_SLOT("CUSTOM_KIT.LISTINGS.JOIN-QUEUE.SLOT", DataType.INT, "0"),
675+
CUSTOM_KIT_JOIN_QUEUE_MATERIAL("CUSTOM_KIT.LISTINGS.JOIN-QUEUE.MATERIAL", DataType.STRING, "PAPER"),
676+
CUSTOM_KIT_JOIN_QUEUE_NAME("CUSTOM_KIT.LISTINGS.JOIN-QUEUE.NAME", DataType.STRING, "&eJoin Queue"),
677+
CUSTOM_KIT_JOIN_QUEUE_LORE("CUSTOM_KIT.LISTINGS.JOIN-QUEUE.LORE", DataType.STRING_LIST,
678+
"&7Host one of your kits so", "&7others can join it."),
679+
CUSTOM_KIT_QUEUE_BUTTON_SLOT("CUSTOM_KIT.QUEUE-BUTTON.SLOT", DataType.INT, "35"),
680+
CUSTOM_KIT_QUEUE_BUTTON_MATERIAL("CUSTOM_KIT.QUEUE-BUTTON.MATERIAL", DataType.STRING, "NETHERITE_SWORD"),
681+
CUSTOM_KIT_QUEUE_BUTTON_NAME("CUSTOM_KIT.QUEUE-BUTTON.NAME", DataType.STRING, "&bCustom Kits"),
682+
CUSTOM_KIT_QUEUE_BUTTON_LORE("CUSTOM_KIT.QUEUE-BUTTON.LORE", DataType.STRING_LIST, "&7Join a player-hosted custom kit");
583683

584684
private final String path;
585685
private final String comment;

Plugin/src/main/java/dev/lrxh/neptune/configs/impl/MessagesLocale.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,32 @@ public enum MessagesLocale implements IDataAccessor {
258258
FFA_KILLSTREAK_ANNOUNCE_ENABLED("FFA.KILLSTREAK_ANNOUNCE.ENABLED", DataType.BOOLEAN, "false"),
259259
IN_MATCH_BLOCKED_COMMAND_MESSAGE("IN_MATCH_BLOCKED_COMMAND", DataType.STRING_LIST, "&cThis command is blocked while in a match!"),
260260
FFA_KILLSTREAK_ANNOUNCE_MESSAGE("FFA.KILLSTREAK_ANNOUNCE.MESSAGE", DataType.STRING_LIST,
261-
" ", "&b<player> &fis now on a &b&l<killstreak> KILLSTREAK!", " ");
261+
" ", "&b<player> &fis now on a &b&l<killstreak> KILLSTREAK!", " "),
262+
263+
CUSTOM_KIT_NO_PERMISSION("CUSTOM_KIT.NO_PERMISSION", DataType.STRING_LIST, "&cYou don't have permission to create custom kits."),
264+
CUSTOM_KIT_MAX("CUSTOM_KIT.MAX", DataType.STRING_LIST, "&cYou reached the max amount of custom kits."),
265+
CUSTOM_KIT_NO_KITS("CUSTOM_KIT.NO_KITS", DataType.STRING_LIST, "&cYou don't have any custom kits yet."),
266+
CUSTOM_KIT_CREATE_PROMPT("CUSTOM_KIT.CREATE_PROMPT", DataType.STRING_LIST, "&aType a name for your kit in chat (or 'cancel')."),
267+
CUSTOM_KIT_CREATE_FAIL("CUSTOM_KIT.CREATE_FAIL", DataType.STRING_LIST, "&cCouldn't create kit (duplicate name or limit reached)."),
268+
CUSTOM_KIT_CREATED("CUSTOM_KIT.CREATED", DataType.STRING_LIST, "&aCreated custom kit &b<kit>&a."),
269+
CUSTOM_KIT_DELETE_CONFIRM("CUSTOM_KIT.DELETE_CONFIRM", DataType.STRING_LIST, "&cShift-click to confirm deletion."),
270+
CUSTOM_KIT_DELETED("CUSTOM_KIT.DELETED", DataType.STRING_LIST, "&aDeleted kit."),
271+
CUSTOM_KIT_HEALTH_PROMPT("CUSTOM_KIT.HEALTH_PROMPT", DataType.STRING_LIST, "&aType the health value in chat (1-40, or 'cancel')."),
272+
CUSTOM_KIT_HEALTH_RANGE("CUSTOM_KIT.HEALTH_RANGE", DataType.STRING_LIST, "&cHealth must be between 1 and 40."),
273+
CUSTOM_KIT_HEALTH_INVALID("CUSTOM_KIT.HEALTH_INVALID", DataType.STRING_LIST, "&cInvalid number."),
274+
CUSTOM_KIT_HEALTH_SET("CUSTOM_KIT.HEALTH_SET", DataType.STRING_LIST, "&aSet health to <health>."),
275+
CUSTOM_KIT_CANCELLED("CUSTOM_KIT.CANCELLED", DataType.STRING_LIST, "&cCancelled."),
276+
CUSTOM_KIT_CANT_ENCHANT("CUSTOM_KIT.CANT_ENCHANT", DataType.STRING_LIST, "&cThis item can't be enchanted."),
277+
CUSTOM_KIT_ENCHANT_APPLIED("CUSTOM_KIT.ENCHANT_APPLIED", DataType.STRING_LIST, "&aApplied <enchant> <level>."),
278+
CUSTOM_KIT_NOT_LOBBY("CUSTOM_KIT.NOT_LOBBY", DataType.STRING_LIST, "&cYou can only use this in the lobby."),
279+
CUSTOM_KIT_CANT_HOST("CUSTOM_KIT.CANT_HOST", DataType.STRING_LIST, "&cYou can't host a kit right now."),
280+
CUSTOM_KIT_HOST_NEED_ARENA("CUSTOM_KIT.HOST_NEED_ARENA", DataType.STRING_LIST, "&cSelect at least one arena for this kit first."),
281+
CUSTOM_KIT_UNAVAILABLE("CUSTOM_KIT.UNAVAILABLE", DataType.STRING_LIST, "&cThat kit is no longer available."),
282+
CUSTOM_KIT_JOIN_OWN("CUSTOM_KIT.JOIN_OWN", DataType.STRING_LIST, "&cYou can't join your own kit."),
283+
CUSTOM_KIT_JOIN_CANT("CUSTOM_KIT.JOIN_CANT", DataType.STRING_LIST, "&cYou can't join a match right now."),
284+
CUSTOM_KIT_HOST_UNAVAILABLE("CUSTOM_KIT.HOST_UNAVAILABLE", DataType.STRING_LIST, "&cThe host is no longer available."),
285+
CUSTOM_KIT_NO_ARENA("CUSTOM_KIT.NO_ARENA", DataType.STRING_LIST, "&cNo arena available for that kit."),
286+
CUSTOM_KIT_HOST_NO_ARENA("CUSTOM_KIT.HOST_NO_ARENA", DataType.STRING_LIST, "&cYour hosted match couldn't start: no arena available.");
262287

263288
private final String path;
264289
private final String comment;

0 commit comments

Comments
 (0)