Skip to content

Commit

Permalink
Revert "fix various small issues and refactoring"
Browse files Browse the repository at this point in the history
This reverts commit f465778.
  • Loading branch information
PrinzPizza42 committed Jan 2, 2025
1 parent 4cbe770 commit 67eec9b
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 78 deletions.
15 changes: 0 additions & 15 deletions src/main/java/de/j/deathMinigames/commands/ArgsLength1.java

This file was deleted.

30 changes: 23 additions & 7 deletions src/main/java/de/j/deathMinigames/commands/GameCMD.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

import de.j.deathMinigames.dmUtil.DmUtil;
import de.j.deathMinigames.main.*;
import de.j.stationofdoom.main.Main;
import de.j.stationofdoom.util.translations.TranslationFactory;
import io.papermc.paper.command.brigadier.BasicCommand;
import io.papermc.paper.command.brigadier.CommandSourceStack;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Location;
Expand Down Expand Up @@ -36,6 +34,20 @@ public class GameCMD implements BasicCommand {
private final Config config = Config.getInstance();
private final TranslationFactory tf = new TranslationFactory();

public enum ArgsLength1 {
SETTINGS,
LOWERDIFFICULTY,
INTROPLAYERDECIDESTOUSEFEATURES,
INTROPLAYERDECIDESTONOTUSEFEATURES,
SETNOTINTRODUCED,
DIFFICULTY,
SETWAITINGLISTPOSITION,
DECIDEDNOTTOSETPOSITION,
STATUS,
START,
IGNORE
}

/**
* {@inheritDoc}
* <p>
Expand Down Expand Up @@ -66,7 +78,7 @@ public void execute(CommandSourceStack stack, String[] args) {
if(player == null) throw new NullPointerException("player is null!");
PlayerData playerData = HandlePlayers.getKnownPlayers().get(player.getUniqueId());
if(playerData == null) throw new NullPointerException("playerData is null!");
String arg0 = args[0].toLowerCase();
String arg0 = args.length > 0 ? args[0].toLowerCase() : "";
String arg1 = null;
if(args.length > 1) {
arg1 = args[1].toLowerCase();
Expand All @@ -88,6 +100,9 @@ public void execute(CommandSourceStack stack, String[] args) {
case 3:
handleArgsLength3Execution(player, arg0, arg1, arg2);
break;
default:
player.sendMessage(Component.text(tf.getTranslation(player, "cmdUsage")).color(NamedTextColor.RED));
break;
}
}

Expand Down Expand Up @@ -163,7 +178,7 @@ private void handleArgsLength1Execution(PlayerData playerData, Player player, St
}

private void handleDecisionCMDsWhenRespawning(PlayerData playerData, Player player, ArgsLength1 arg0) {
if (!playerData.getLastDeathInventory().isEmpty() && playerData.getStatus() != PlayerMinigameStatus.inMinigame && playerData.getStatus() != PlayerMinigameStatus.inWaitingList) {
if (!playerData.getLastDeathInventory().isEmpty() && playerData.getStatus() != PlayerMinigameStatus.IN_MINIGAME && playerData.getStatus() != PlayerMinigameStatus.IN_WAITING_LIST) {
switch (arg0) {
case ArgsLength1.START:
handleArgsLength1StartExecution(player);
Expand Down Expand Up @@ -363,7 +378,7 @@ private void handleArgsLength1IntroPlayerDecidesToNotUseFeaturesExecution(Player
playerData.setIntroduction(true);
playerData.setUsesPlugin(false);
Location lastDeathLocation = playerData.getLastDeathLocation();
if(lastDeathLocation == null) throw new NullPointerException("lastDeathLocation is null!");
if(lastDeathLocation == null) lastDeathLocation = player.getLastDeathLocation();
util.dropInv(player, lastDeathLocation);
minigame.sendLoseMessage(player);
introduction.teleportPlayerToRespawnLocation(player);
Expand Down Expand Up @@ -407,7 +422,7 @@ private void handleArgsLength1StartExecution(Player player) {
PlayerData playerData = HandlePlayers.getKnownPlayers().get(player.getUniqueId());
util.playSoundAtLocation(player.getEyeLocation(), 0.5F, Sound.ENTITY_ENDER_EYE_DEATH);
player.resetTitle();
playerData.setStatus(PlayerMinigameStatus.alive);
playerData.setStatus(PlayerMinigameStatus.ALIVE);
Minigame.getInstance().minigameStart(player);
}

Expand All @@ -427,7 +442,7 @@ private void handleArgsLength1IgnoreExecution(Player player) {
Location deathLocation = playerData.getLastDeathLocation();

minigame.playSoundToPlayer(player, 0.5F, Sound.ENTITY_ITEM_BREAK);
playerData.setStatus(PlayerMinigameStatus.alive);
playerData.setStatus(PlayerMinigameStatus.ALIVE);
player.resetTitle();
if (!waitingListMinigame.contains(player) && !lastDeathInventory.isEmpty()) {
player.sendMessage(Component.text(tf.getTranslation(player, "droppingInvAt")).color(NamedTextColor.GOLD)
Expand Down Expand Up @@ -461,6 +476,7 @@ private void handleArgsLength2DifficultyExecution(PlayerData playerData, Player
int i;
try {
i = Integer.parseInt(arg1);
if(i < 0 || i > 10) player.sendMessage(Component.text(tf.getTranslation(player, "invalidDifficulty")).color(NamedTextColor.RED));
} catch (NumberFormatException e) {
player.sendMessage(Component.text(tf.getTranslation(player, "youHaveToEnterANumber")).color(NamedTextColor.RED));
return;
Expand Down
44 changes: 31 additions & 13 deletions src/main/java/de/j/deathMinigames/database/Database.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,19 @@
import de.chojo.sadu.queries.api.configuration.QueryConfiguration;
import de.j.deathMinigames.main.Config;
import de.j.stationofdoom.main.Main;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.java.JavaPlugin;

import java.awt.print.Paper;
import java.io.File;
import java.util.HashMap;

public class Database {
private static Database instance;
private HikariDataSource dataSource;
private int port; // 9667
private String host; //localhost
private String database; // stationofdoom
private String user; // mc
private String password; // 65465
private String applicationName; // StationOfDoom
private String schema; // public
private int port;
private String host;
private String database;
private String user;
private String password;
private String applicationName;
private String schema;
public volatile boolean isConnected = false;

private Database() {}
Expand Down Expand Up @@ -58,7 +54,7 @@ public static Database getInstance() {
* This method should be called once when the plugin is enabled.
*/
public void initDatabase(){
if(checkIfConnectionInfoIsEmpty()) {
if(checkIfConnectionInfoIsNotEntered()) {
Main.getMainLogger().info("Database connection information is not completely entered, running without one");
return;
}
Expand Down Expand Up @@ -106,12 +102,16 @@ private void configureDefaultQuery() {
QueryConfiguration.setDefault(config);
}

private boolean checkIfConnectionInfoIsEmpty() {
private boolean checkIfConnectionInfoIsNotEntered() {
return Config.getInstance().getDatabaseConfig().containsValue("default");
}

private void setConnectionInfo() {
HashMap<String, String> connectionInfo = Config.getInstance().getDatabaseConfig();
if(!validateConnectionInfo(connectionInfo)) {
Main.getMainLogger().warning("Invalid database connection information, running without one");
return;
}
port = Integer.parseInt(connectionInfo.get("port"));
host = connectionInfo.get("host");
database = connectionInfo.get("database");
Expand All @@ -120,4 +120,22 @@ private void setConnectionInfo() {
applicationName = connectionInfo.get("applicationName");
schema = connectionInfo.get("schema");
}

private boolean validateConnectionInfo(HashMap<String, String> connectionInfo) {
if (connectionInfo == null) {
return false;
}
String[] required = {"port", "host", "database", "user", "password", "applicationName", "schema"};
for (String key : required) {
if (!connectionInfo.containsKey(key) || connectionInfo.get(key) == null) {
return false;
}
}
try {
Integer.parseInt(connectionInfo.get("port"));
} catch (NumberFormatException e) {
return false;
}
return true;
}
}
49 changes: 22 additions & 27 deletions src/main/java/de/j/deathMinigames/listeners/InventoryListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import de.j.deathMinigames.main.HandlePlayers;
import de.j.deathMinigames.main.PlayerData;
import de.j.deathMinigames.settings.InventoryMenus;
import de.j.deathMinigames.settings.MainMenu.InventoryMenus;
import de.j.stationofdoom.util.translations.TranslationFactory;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
Expand Down Expand Up @@ -155,46 +155,31 @@ public void reloadInventory(InventoryMenus inventory, int slot, MainMenu mainMen
* @param mainMenu the main menu to get the inventory from
*/
public void reloadInventory(InventoryMenus inventory, MainMenu mainMenu) {
PlayerData playerData;
switch (inventory) {
case InventoryMenus.INTRODUCTION:
HashMap<UUID, PlayerData> knownPlayers = HandlePlayers.getKnownPlayers();
for(int i = 0; i < knownPlayers.size(); i++) {
Material material;
Player currentPlayer = getIndexAssociatedWithPlayerInKnownPlayersList(i);
PlayerData currentPlayerData = knownPlayers.get(currentPlayer.getUniqueId());
if(currentPlayer == null) {
continue;
}
if(currentPlayerData.getIntroduction()) {
material = Material.GREEN_CONCRETE_POWDER;
}
else {
material = Material.RED_CONCRETE_POWDER;
}
MainMenu.getIntroduction().addClickableItemStack(currentPlayer.getName(), material, 1, i);
if(currentPlayer == null) continue;
playerData = knownPlayers.get(currentPlayer.getUniqueId());
MainMenu.getIntroduction().addClickableItemStack(currentPlayer.getName(), getMaterialBasedOnBoolean(playerData.getIntroduction()), 1, i);
}
break;
case InventoryMenus.USES_PLUGIN:
for(int i = 0; i < HandlePlayers.getKnownPlayers().size(); i++) {
Material material;
Player currentPlayer = getIndexAssociatedWithPlayerInKnownPlayersList(i);
if(currentPlayer == null) continue;
PlayerData playerData = HandlePlayers.getKnownPlayers().get(currentPlayer.getUniqueId());
if(playerData.getUsesPlugin()) {
material = Material.GREEN_CONCRETE_POWDER;
}
else {
material = Material.RED_CONCRETE_POWDER;
}
MainMenu.getUsesPlugin().addClickableItemStack(currentPlayer.getName(), material, 1, i);
playerData = HandlePlayers.getKnownPlayers().get(currentPlayer.getUniqueId());
MainMenu.getUsesPlugin().addClickableItemStack(currentPlayer.getName(), getMaterialBasedOnBoolean(playerData.getUsesPlugin()), 1, i);
}
break;
case InventoryMenus.DIFFICULTY:
MainMenu.getDifficulty().addPlayerHeads(HandlePlayers.getKnownPlayers());
break;
case InventoryMenus.DIFFICULTY_SETTINGS:
PlayerData playerClickedData = HandlePlayers.getKnownPlayers().get(playerClicked.getUniqueId());
int difficulty = playerClickedData.getDifficulty();
playerData = HandlePlayers.getKnownPlayers().get(playerClicked.getUniqueId());
int difficulty = playerData.getDifficulty();
mainMenu.difficultySettingsSetInventoryContents(difficulty);
break;
case InventoryMenus.SETUP:
Expand All @@ -215,6 +200,14 @@ public void reloadInventory(InventoryMenus inventory, MainMenu mainMenu) {
}
}

private Material getMaterialBasedOnBoolean(boolean bool) {
if(bool) {
return Material.GREEN_CONCRETE_POWDER;
}
else {
return Material.RED_CONCRETE_POWDER;
}
}

/**
* Handles the main menu GUI interaction when a player clicks on an inventory slot.
Expand Down Expand Up @@ -272,8 +265,10 @@ private void handleIntroductionGUI(InventoryClickEvent event, Player player, Mai
}
else if (slot <= knownPlayers.size()) {
playerClicked = getIndexAssociatedWithPlayerInKnownPlayersList(slot);
if(playerClicked == null) {
player.sendMessage(Component.text(new TranslationFactory().getTranslation(player, "somethingWentWrong")).color(NamedTextColor.RED));
}
PlayerData playerClickedData = knownPlayers.get(playerClicked.getUniqueId());
assert playerClicked != null : "playerClicked is null";
if(playerClickedData.getIntroduction()) {
minigame.playSoundToPlayer(player, 0.5F, Sound.ENTITY_ITEM_BREAK);
playerClickedData.setIntroduction(false);
Expand Down Expand Up @@ -302,8 +297,8 @@ private void handleUsesPluginGUI(InventoryClickEvent event, Player player, MainM
}
else if (slot <= knownPlayers.size()) {
playerClicked = getIndexAssociatedWithPlayerInKnownPlayersList(slot);
if(playerClicked == null) player.sendMessage(Component.text(new TranslationFactory().getTranslation(player, "somethingWentWrong")).color(NamedTextColor.RED));
PlayerData playerClickedData = knownPlayers.get(playerClicked.getUniqueId());
assert playerClicked != null : "playerClicked is null";
if(playerClickedData.getUsesPlugin()) {
minigame.playSoundToPlayer(player, 0.5F, Sound.ENTITY_ITEM_BREAK);
playerClickedData.setUsesPlugin(false);
Expand All @@ -329,7 +324,7 @@ private void handleDifficultyGUI(InventoryClickEvent event, Player player, MainM
mainMenu.showPlayerSettings(player);
} else if (slot <= HandlePlayers.getKnownPlayers().size()) {
playerClicked = getIndexAssociatedWithPlayerInKnownPlayersList(slot);
assert playerClicked != null : "playerClicked is null";
player.sendMessage(Component.text(new TranslationFactory().getTranslation(player, "somethingWentWrong")).color(NamedTextColor.RED));
Main.getMainLogger().info(playerClicked.getName());
reloadInventory(InventoryMenus.DIFFICULTY_SETTINGS, slot, mainMenu);
MainMenu.getDifficultyPlayerSettings().addBackButton(player);
Expand Down
14 changes: 0 additions & 14 deletions src/main/java/de/j/deathMinigames/settings/InventoryMenus.java

This file was deleted.

8 changes: 6 additions & 2 deletions src/main/resources/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@
"leaderboardReset": "Bestenliste wurde zurückgesetzt",
"leaderboardEmpty": "Es hat noch niemand gewonnen.",
"newRecord": "Du hast deine alte Rekordzeit um %ss verbessert!",
"cmdUsageLength1": "Dein Command hat nicht geklappt, versuche /game <dein Command>"
"cmdUsageLength1": "Dein Command hat nicht geklappt, versuche /game <dein Command>",
"somethingWentWrong": "Etwas ist schief gelaufen",
"invalidDifficulty": "Die Schwierigkeit muss zwischen 0 und 10 sein"
}
],
"en-US": [
Expand Down Expand Up @@ -162,7 +164,9 @@
"leaderboardReset": "Leaderboard was reset",
"leaderboardEmpty": "No one has won yet.",
"newRecord": "You beat your old record by %ss!",
"cmdUsageLength1": "Your command did not work, try /game <your command>"
"cmdUsageLength1": "Your command did not work, try /game <your command>",
"somethingWentWrong": "Something went wrong",
"invalidDifficulty": "The difficulty has to be between 0 and 10"
}
]
}

0 comments on commit 67eec9b

Please sign in to comment.