Skip to content

Commit

Permalink
lang 20 rework
Browse files Browse the repository at this point in the history
  • Loading branch information
FireInstall committed Feb 13, 2024
1 parent f93f0f1 commit 894cd06
Show file tree
Hide file tree
Showing 43 changed files with 703 additions and 280 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -624,7 +624,7 @@ private void clickMenu(@NotNull InventoryClickEvent event) {
if (!mgPlayer.getMenu().getAllowModify() || mgPlayer.getMenu().hasMenuItem(event.getRawSlot()))
event.setCancelled(true);

MenuItem item = mgPlayer.getMenu().getClicked(event.getRawSlot());
MenuItem item = mgPlayer.getMenu().getMenuItem(event.getRawSlot());
if (item != null) {
ItemStack disItem = null;
switch (event.getClick()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Random;

Expand Down Expand Up @@ -46,7 +48,7 @@ public FloorDegenerator(MgRegion region, Minigame mgm) {
public void startDegeneration() {
taskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, () -> {
switch (mgm.getDegenType()) {
case "inward" -> {
case INWARD -> {
degenerateSide(xSideNeg1, xSideNeg2);
degenerateSide(xSidePos1, xSidePos2);
degenerateSide(zSideNeg1, zSideNeg2);
Expand All @@ -56,8 +58,8 @@ public void startDegeneration() {
stopDegenerator();
}
}
case "random" -> degenerateRandom(bottomCorner, topCorner, mgm.getDegenRandomChance());
case "circle" -> degenerateCircle(bottomCorner, topCorner);
case RANDOM -> degenerateRandom(bottomCorner, topCorner, mgm.getDegenRandomChance());
case CIRCLE -> degenerateCircle(bottomCorner, topCorner);
}
}, timeDelay * 20L, timeDelay * 20L);
}
Expand Down Expand Up @@ -157,4 +159,20 @@ public void stopDegenerator() {
Bukkit.getScheduler().cancelTask(taskID);
}
}

public enum DegeneratorType {
INWARD,
RANDOM,
CIRCLE;

public static @Nullable DegeneratorType matchType(@NotNull String str) {
for (DegeneratorType value : DegeneratorType.values()) {
if (value.name().equalsIgnoreCase(str)) {
return value;
}
}

return null;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull String @NotNull
Placeholder.component(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getDisplayName()))).appendNewline();
outputBuilder.append(MinigameMessageManager.getMgMessage(MgCommandLangKey.COMMAND_DIVIDER_LARGE)).appendNewline();
outputBuilder.append(MinigameMessageManager.getMgMessage(MgCommandLangKey.COMMAND_INFO_OUTPUT_DESCRIPTION,
Placeholder.unparsed(MinigamePlaceHolderKey.OBJECTIVE.getKey(), minigame.getObjective()))).appendNewline();
Placeholder.component(MinigamePlaceHolderKey.OBJECTIVE.getKey(), minigame.getObjective()))).appendNewline();
outputBuilder.append(MinigameMessageManager.getMgMessage(MgCommandLangKey.COMMAND_INFO_OUTPUT_GAMETYPE,
Placeholder.unparsed(MinigamePlaceHolderKey.TYPE.getKey(), minigame.getType().getName()))).appendNewline();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package au.com.mineauz.minigames.commands.set;

import au.com.mineauz.minigames.FloorDegenerator;
import au.com.mineauz.minigames.MinigameUtils;
import au.com.mineauz.minigames.Minigames;
import au.com.mineauz.minigames.managers.MinigameMessageManager;
Expand All @@ -19,6 +20,7 @@
import org.jetbrains.annotations.Nullable;

import java.time.Duration;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;

Expand Down Expand Up @@ -100,20 +102,22 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Minigame miniga
}
case "type" -> {
if (args.length >= 2) {
switch (args[1].toLowerCase()) {
case "random", "inward", "circle" -> {
minigame.setDegenType(args[1].toLowerCase());
FloorDegenerator.DegeneratorType type = FloorDegenerator.DegeneratorType.matchType(args[1]);

if (args.length > 2 && args[2].matches("[0-9]+")) {
minigame.setDegenRandomChance(Integer.parseInt(args[2]));
}
if (type != null) {
minigame.setDegenType(type);

MinigameMessageManager.sendMgMessage(mgPlayer, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_FLOORDEGEN_TYPE,
Placeholder.unparsed(MinigamePlaceHolderKey.TYPE.getKey(), args[1]),
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()));
if (args.length > 2 && args[2].matches("[0-9]+")) {
minigame.setDegenRandomChance(Integer.parseInt(args[2]));
}
default ->
MinigameMessageManager.sendMgMessage(mgPlayer, MinigameMessageType.ERROR, MgCommandLangKey.COMMAND_SET_FLOORDEGEN_ERROR_NOTYPE);

MinigameMessageManager.sendMgMessage(mgPlayer, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_FLOORDEGEN_TYPE,
Placeholder.unparsed(MinigamePlaceHolderKey.TYPE.getKey(), args[1]),
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()));
} else {
MinigameMessageManager.sendMgMessage(mgPlayer, MinigameMessageType.ERROR, MgCommandLangKey.COMMAND_SET_FLOORDEGEN_ERROR_NOTYPE,
Placeholder.unparsed(MinigamePlaceHolderKey.TEXT.getKey(),
String.join(", ", Arrays.stream(FloorDegenerator.DegeneratorType.values()).map(Enum::name).toList())));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Minigame miniga
public @Nullable List<@NotNull String> onTabComplete(@NotNull CommandSender sender, @NotNull Minigame minigame,
@NotNull String @NotNull [] args) {
if (args.length == 1) {
return MinigameUtils.tabCompleteMatch(GameMechanics.getGameMechanics().stream().map(GameMechanicBase::getMechanic).toList(), args[0]);
return MinigameUtils.tabCompleteMatch(GameMechanics.getGameMechanics().stream().map(GameMechanicBase::getMechanicName).toList(), args[0]);
}
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import au.com.mineauz.minigames.managers.language.langkeys.MgCommandLangKey;
import au.com.mineauz.minigames.minigame.Minigame;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -49,12 +50,12 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Minigame miniga
MinigameMessageManager.sendMgMessage(sender, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_GAMETYPENAME_REMOVE,
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()));
} else {
String gameTypeName = String.join(" ", args);
Component gameTypeName = MiniMessage.miniMessage().deserialize(String.join(" ", args));

minigame.setGameTypeName(gameTypeName);
MinigameMessageManager.sendMgMessage(sender, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_GAMETYPENAME_SUCCESS,
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()),
Placeholder.unparsed(MinigamePlaceHolderKey.TEXT.getKey(), gameTypeName));
Placeholder.component(MinigamePlaceHolderKey.TEXT.getKey(), gameTypeName));
}
return true;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package au.com.mineauz.minigames.commands.set;

import au.com.mineauz.minigames.Minigames;
import au.com.mineauz.minigames.PlayerLoadout;
import au.com.mineauz.minigames.managers.MinigameMessageManager;
import au.com.mineauz.minigames.managers.language.langkeys.MgCommandLangKey;
import au.com.mineauz.minigames.managers.language.langkeys.MgMenuLangKey;
import au.com.mineauz.minigames.menu.Menu;
import au.com.mineauz.minigames.menu.MenuItem;
import au.com.mineauz.minigames.menu.MenuItemDisplayLoadout;
Expand Down Expand Up @@ -52,25 +54,24 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Minigame miniga
@NotNull String @Nullable [] args) {

MinigamePlayer player = Minigames.getPlugin().getPlayerManager().getMinigamePlayer((Player) sender);
Menu loadoutMenu = new Menu(6, getName(), player);
Menu loadoutMenu = new Menu(6, Component.text(getName()), player);
List<MenuItem> mi = new ArrayList<>();
LoadoutModule mod = LoadoutModule.getMinigameModule(minigame);

List<Component> des = new ArrayList<>();
des.add("Shift + Right Click to Delete");
Material material;
for (PlayerLoadout ld : mod.getLoadouts()) {
material = Material.WHITE_STAINED_GLASS_PANE;
if (!ld.getItemSlots().isEmpty()) {
material = ld.getItem((Integer) ld.getItemSlots().toArray()[0]).getType();
}

Material item;
MenuItemDisplayLoadout mil = new MenuItemDisplayLoadout(material, ld.getDisplayName(),
MinigameMessageManager.getMgMessageList(MgMenuLangKey.MENU_DELETE_SHIFTRIGHTCLICK), ld, minigame);

for (String ld : mod.getLoadouts()) {
item = Material.WHITE_STAINED_GLASS_PANE;
if (!mod.getLoadout(ld).getItemSlots().isEmpty()) {
item = mod.getLoadout(ld).getItem((Integer) mod.getLoadout(ld).getItemSlots().toArray()[0]).getType();
}
MenuItemDisplayLoadout mil = new MenuItemDisplayLoadout(item, ld, des, mod.getLoadout(ld), minigame);
mil.setAllowDelete(mod.getLoadout(ld).isDeleteable());
mil.setAllowDelete(ld.isDeleteable());
mi.add(mil);
}
loadoutMenu.addItem(new MenuItemLoadoutAdd("Add Loadout", Material.ITEM_FRAME, mod.getLoadoutMap(), minigame), 53);
loadoutMenu.addItem(new MenuItemLoadoutAdd(Material.ITEM_FRAME, "Add Loadout", mod.getLoadoutMap(), minigame), 53);
loadoutMenu.addItems(mi);

loadoutMenu.displayMenu(player);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import au.com.mineauz.minigames.managers.language.langkeys.MgCommandLangKey;
import au.com.mineauz.minigames.minigame.Minigame;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -54,7 +55,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Minigame miniga
MinigameMessageManager.sendMgMessage(sender, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_OBJECTIVE_REMOVE,
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()));
} else {
minigame.setObjective(String.join(" ", args));
minigame.setObjective(MiniMessage.miniMessage().deserialize(String.join(" ", args)));
MinigameMessageManager.sendMgMessage(sender, MinigameMessageType.INFO, MgCommandLangKey.COMMAND_SET_OBJECTIVE_SUCCESS,
Placeholder.unparsed(MinigamePlaceHolderKey.MINIGAME.getKey(), minigame.getName()));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package au.com.mineauz.minigames.config;

import au.com.mineauz.minigames.menu.Callback;
import au.com.mineauz.minigames.menu.MenuItem;
import au.com.mineauz.minigames.menu.MenuItemString;
import au.com.mineauz.minigames.menu.MenuItemComponent;
import net.kyori.adventure.text.Component;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
Expand Down Expand Up @@ -33,17 +32,17 @@ public void loadValue(String path, FileConfiguration config) {
}

@Override
public MenuItem getMenuItem(@Nullable Material displayMat, @Nullable Component name,
public MenuItemComponent getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description) {
return new MenuItemString(displayMat, name, description, new Callback<>() {
return new MenuItemComponent(displayMat, name, description, new Callback<>() {

@Override
public String getValue() {
public Component getValue() {
return getFlag();
}

@Override
public void setValue(String value) {
public void setValue(Component value) {
setFlag(value);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,15 @@ public void saveValue(String path, FileConfiguration config) {

@Override
public void loadValue(String path, FileConfiguration config) {
setFlag(T.valueOf(enumClass, config.getString(path + "." + getName())));
String configStr = config.getString(path + "." + getName());

// case-insensitive loading
for (T value : enumClass.getEnumConstants()) {
if (value.name().equalsIgnoreCase(configStr)) {
setFlag(value);
break;
}
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package au.com.mineauz.minigames.config;

import au.com.mineauz.minigames.menu.Callback;
import au.com.mineauz.minigames.menu.MenuItem;
import au.com.mineauz.minigames.menu.MenuItemDecimal;
import net.kyori.adventure.text.Component;
import org.bukkit.Material;
Expand Down Expand Up @@ -30,17 +29,17 @@ public void loadValue(String path, FileConfiguration config) {
}

@Override
public MenuItem getMenuItem(@Nullable Material displayMat, @Nullable Component name,
public MenuItemDecimal getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description) {
return this.getMenuItem(displayMat, name, description, 1d, 1d, 0d, Double.POSITIVE_INFINITY);
}

public MenuItem getMenuItem(@Nullable Material displayMat, @Nullable Component name,
public MenuItemDecimal getMenuItem(@Nullable Material displayMat, @Nullable Component name,
double lowerinc, double upperinc, @Nullable Double min, @Nullable Double max) {
return this.getMenuItem(displayMat, name, null, lowerinc, upperinc, min, max);
}

public MenuItem getMenuItem(@Nullable Material displayMat, @Nullable Component name,
public MenuItemDecimal getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description,
double lowerinc, double upperinc, @Nullable Double min, @Nullable Double max) {
return new MenuItemDecimal(displayMat, name, description, new Callback<>() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package au.com.mineauz.minigames.config;

import au.com.mineauz.minigames.managers.MinigameMessageManager;
import au.com.mineauz.minigames.managers.language.langkeys.LangKey;
import au.com.mineauz.minigames.menu.Callback;
import au.com.mineauz.minigames.menu.MenuItemInteger;
import net.kyori.adventure.text.Component;
Expand Down Expand Up @@ -39,13 +41,47 @@ public MenuItemInteger getMenuItem(@Nullable Material displayMat, @Nullable Comp
return getMenuItem(displayMat, name, null, min, max);
}

public MenuItemInteger getMenuItem(@Nullable Material displayMat, @NotNull LangKey langKey,
@Nullable Integer min, @Nullable Integer max) {
return new MenuItemInteger(displayMat, langKey, null, new Callback<>() {

@Override
public Integer getValue() {
return getFlag();
}

@Override
public void setValue(Integer value) {
setFlag(value);
}

}, min, max);
}

@Deprecated
@Override
public MenuItemInteger getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description) {
return getMenuItem(displayMat, name, description, 0, null);
}

public MenuItemInteger getMenuItem(@Nullable Material displayMat, @NotNull LangKey nameLangKey,
@NotNull LangKey descriptionLangkey, @Nullable Integer min, @Nullable Integer max) {
return new MenuItemInteger(displayMat, nameLangKey, MinigameMessageManager.getMgMessageList(descriptionLangkey), new Callback<>() {

@Override
public Integer getValue() {
return getFlag();
}

@Override
public void setValue(Integer value) {
setFlag(value);
}

}, min, max);
}

public MenuItemInteger getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description, @Nullable Integer min, @Nullable Integer max) {
return new MenuItemInteger(displayMat, name, description, new Callback<>() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package au.com.mineauz.minigames.config;

import au.com.mineauz.minigames.managers.MinigameMessageManager;
import au.com.mineauz.minigames.managers.language.langkeys.LangKey;
import au.com.mineauz.minigames.menu.Callback;
import au.com.mineauz.minigames.menu.MenuItemTime;
import net.kyori.adventure.text.Component;
Expand Down Expand Up @@ -39,13 +41,23 @@ public MenuItemTime getMenuItem(@Nullable Material displayMat, @Nullable Compone
return getMenuItem(displayMat, name, null, min, max);
}

public MenuItemTime getMenuItem(@Nullable Material displayMat, @NotNull LangKey langKey,
@Nullable Long min, @Nullable Long max) {
return getMenuItem(displayMat, langKey, null, min, max);
}

@Deprecated
@Override
public MenuItemTime getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description) {
return getMenuItem(displayMat, name, description, 0L, null);
}

public MenuItemTime getMenuItem(@Nullable Material displayMat, @NotNull LangKey langKey,
@Nullable List<@NotNull Component> description, @Nullable Long min, @Nullable Long max) {
return getMenuItem(displayMat, MinigameMessageManager.getMgMessage(langKey), description, min, max);
}

public MenuItemTime getMenuItem(@Nullable Material displayMat, @Nullable Component name,
@Nullable List<@NotNull Component> description, @Nullable Long min, @Nullable Long max) {
return new MenuItemTime(displayMat, name, description, new Callback<>() {
Expand Down
Loading

0 comments on commit 894cd06

Please sign in to comment.