Skip to content

Commit

Permalink
fix, remove TestCMD
Browse files Browse the repository at this point in the history
fix

fix

fix

fix

fix

remove TestCMD

fix

fix
  • Loading branch information
PrinzPizza42 committed Jan 15, 2025
1 parent 3fe4e05 commit 7000b71
Show file tree
Hide file tree
Showing 9 changed files with 108 additions and 112 deletions.
41 changes: 0 additions & 41 deletions src/main/java/de/j/deathMinigames/dmUtil/TestCMD.java

This file was deleted.

45 changes: 25 additions & 20 deletions src/main/java/de/j/deathMinigames/listeners/AnvilListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import de.j.stationofdoom.util.translations.TranslationFactory;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
Expand All @@ -30,19 +29,18 @@ public class AnvilListener implements Listener {

@EventHandler
public void onAnvilPrepare(PrepareAnvilEvent event) {
Player player = (Player) event.getViewers().getFirst();
if(player == null) {
Main.getMainLogger().info("Anvil prepare event has no player");
if(!(event.getViewers().getFirst() instanceof Player player)) {
Main.getMainLogger().warning("Anvil prepare event has invalid viewer type");
return;
}
Location loc = event.getInventory().getLocation();
if(loc == null) {
Main.getMainLogger().info("Anvil prepare event has no location");
Main.getMainLogger().warning("Anvil prepare event has no location");
return;
}
AnvilView anvilView = event.getView();
if(anvilView == null) {
Main.getMainLogger().info("Anvil prepare event has no anvilView");
Main.getMainLogger().warning("Anvil prepare event has no anvilView");
return;
}
String renameText = anvilView.getRenameText();
Expand All @@ -65,25 +63,23 @@ public void onAnvilClick(InventoryClickEvent event) {
if (loc == null) return;
Player player = (Player) event.getWhoClicked();
if(player == null) return;
if(event.getSlot() != 2) return;
if (MainMenu.getSetHost().compareLocIDTo(loc)) {
event.setCancelled(true);
if(event.getSlot() == 2) {
if (hostName == null) return;
Tablist.setHostetBy(hostName);
event.getView().close();
DmUtil.getInstance().playSoundAtLocation(player.getLocation(), 0.5f, Sound.BLOCK_ANVIL_USE);
player.sendMessage(Component.text("Host name: " + hostName).color(NamedTextColor.GOLD));
}
if (hostName == null) return;
Tablist.setHostedBy(hostName);
event.getView().close();
DmUtil.getInstance().playSoundAtLocation(player.getLocation(), 0.5f, Sound.BLOCK_ANVIL_USE);
player.sendMessage(Component.text("Host name: " + hostName).color(NamedTextColor.GOLD));
} else if (MainMenu.getSetServerName().compareLocIDTo(loc)) {
event.setCancelled(true);
if(event.getSlot() == 2) {
if (serverName == null) return;
Tablist.setServerName(serverName);
event.getView().close();
DmUtil.getInstance().playSoundAtLocation(player.getLocation(), 0.5f, Sound.BLOCK_ANVIL_USE);
player.sendMessage(Component.text("Server name: " + serverName).color(NamedTextColor.GOLD));
}
if (serverName == null) return;
Tablist.setServerName(serverName);
event.getView().close();
DmUtil.getInstance().playSoundAtLocation(player.getLocation(), 0.5f, Sound.BLOCK_ANVIL_USE);
player.sendMessage(Component.text("Server name: " + serverName).color(NamedTextColor.GOLD));
}

}
}

Expand All @@ -103,11 +99,20 @@ else if(MainMenu.getSetServerName().compareLocIDTo(loc)) {
}

private void finishAnvilInvAfterOpening(PrepareAnvilEvent event, Player player) {
if(event == null || player == null) {
Main.getMainLogger().warning("parameters are null: " + event + " " + player + "!");
return;
}
ItemStack output = new ItemStack(Material.GREEN_CONCRETE);
ItemMeta outputItemMeta = output.getItemMeta();
if(outputItemMeta == null) {
Main.getMainLogger().warning("outputItemMeta is null!");
return;
}
outputItemMeta.displayName(Component.text(tf.getTranslation(player, "anvilOutput")));
output.setItemMeta(outputItemMeta);
event.setResult(output);

event.getView().setRepairCost(0);
}
}
29 changes: 15 additions & 14 deletions src/main/java/de/j/deathMinigames/main/Config.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package de.j.deathMinigames.main;

import de.j.deathMinigames.database.PlayerDataDatabase;
import de.j.stationofdoom.listener.PlayerJoin;
import de.j.stationofdoom.util.Tablist;
import org.bukkit.Location;

import de.j.stationofdoom.main.Main;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;

import java.util.*;

Expand Down Expand Up @@ -119,11 +116,11 @@ public void cloneConfigToPlugin() {
}
//Tablist
if(config.contains("Tablist")) {
if(config.contains("Tablist.ServerName")) {
if(config.contains("Tablist.ServerName") && config.get("Tablist.ServerName") != null) {
Tablist.setServerName(config.getString("Tablist.ServerName"));
}
if(config.contains("Tablist.HostetBy")) {
Tablist.setHostetBy(config.getString("Tablist.HostetBy"));
if(config.contains("Tablist.HostedBy") && config.get("Tablist.HostedBy") != null) {
Tablist.setHostedBy(config.getString("Tablist.HostedBy"));
}
}
}
Expand Down Expand Up @@ -324,7 +321,11 @@ public HashMap<String, String> getDatabaseConfig() {
return databaseConnectionInfo;
}

public void setServerName(String serverName) {
public synchronized void setServerName(String serverName) {
if(serverName == null) {
Main.getMainLogger().warning("ServerName is null!");
return;
}
if(!Main.getPlugin().getConfig().contains("Tablist.ServerName")) {
Main.getPlugin().getConfig().set("Tablist.ServerName", serverName);
Main.getPlugin().saveConfig();
Expand All @@ -345,19 +346,19 @@ public String getServerName() {
}
}

public void setHostetBy(String serverName) {
if(!Main.getPlugin().getConfig().contains("Tablist.HostetBy") || !Main.getPlugin().getConfig().getString("Tablist.HostetBy").equals(serverName)) {
Main.getPlugin().getConfig().set("Tablist.HostetBy", serverName);
public synchronized void setHostedBy(String serverName) {
if(!Main.getPlugin().getConfig().contains("Tablist.HostedBy") || !Main.getPlugin().getConfig().getString("Tablist.HostedBy").equals(serverName)) {
Main.getPlugin().getConfig().set("Tablist.HostedBy", serverName);
Main.getPlugin().saveConfig();
}
}

public String getHostetBy() {
if(Main.getPlugin().getConfig().contains("Tablist.HostetBy")) {
return Main.getPlugin().getConfig().getString("Tablist.HostetBy");
public String getHostedBy() {
if(Main.getPlugin().getConfig().contains("Tablist.HostedBy")) {
return Main.getPlugin().getConfig().getString("Tablist.HostedBy");
}
else {
Main.getMainLogger().warning("HostetBy not found in config!");
Main.getMainLogger().warning("HostedBy not found in config!");
return null;
}
}
Expand Down
69 changes: 48 additions & 21 deletions src/main/java/de/j/deathMinigames/settings/AnvilUI.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package de.j.deathMinigames.settings;

import de.j.deathMinigames.main.Config;
import de.j.stationofdoom.main.Main;
import de.j.stationofdoom.util.Tablist;
import de.j.stationofdoom.util.translations.TranslationFactory;
import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
Expand All @@ -17,39 +17,66 @@
import java.util.concurrent.ThreadLocalRandom;

public class AnvilUI implements InventoryHolder {
private final Location loc = new Location(Bukkit.getWorld("world"), ThreadLocalRandom.current().nextInt(0, 1000), ThreadLocalRandom.current().nextInt(0, 1000), ThreadLocalRandom.current().nextInt(0, 1000));
private final ItemStack firstSlot = new ItemStack(Material.RED_CONCRETE);
private Location loc = null;
private ItemStack input = new ItemStack(Material.RED_CONCRETE);
Player player = null;
private MainMenu.AnvilUIs title;

public AnvilUI(MainMenu.AnvilUIs title) {
ItemMeta paperMeta = firstSlot.getItemMeta();
switch (title) {
case SET_HOST_NAME:
if(Config.getInstance().getHostetBy() != null) paperMeta.displayName(Component.text(Config.getInstance().getHostetBy()));
else paperMeta.displayName(Component.text("kein Name gesetzt / no name set"));
break;
case SET_SERVER_NAME:
if(Config.getInstance().getServerName() != null) paperMeta.displayName(Component.text(Config.getInstance().getServerName()));
else paperMeta.displayName(Component.text("kein Name gesetzt / no name set"));
break;
default:
paperMeta.displayName(Component.text(""));
}
firstSlot.setItemMeta(paperMeta);
if(title == null) throw new IllegalArgumentException("Title cannot be null");
this.title = title;
createUniqueLocation();
}

public void showInventory(Player playerToShowTheInvTo) {
if(playerToShowTheInvTo == null) return;
this.player = playerToShowTheInvTo;
playerToShowTheInvTo.openAnvil(loc, true);
playerToShowTheInvTo.getOpenInventory().getTopInventory().addItem(firstSlot);
setInputMeta(playerToShowTheInvTo);
playerToShowTheInvTo.getOpenInventory().getTopInventory().setItem(0, input);
}

@Override
public @NotNull Inventory getInventory() {
return null;
}

/**
* Random location used as a unique identifier for the anvil UI.
* This prevents conflicts between multiple anvil UIs.
*/
private void createUniqueLocation() {
World world = Bukkit.getWorld("world");
if(world == null) throw new IllegalStateException("world `world´ could not be found");
loc = new Location(world,
ThreadLocalRandom.current().nextInt(0, 1000),
ThreadLocalRandom.current().nextInt(0, 1000),
ThreadLocalRandom.current().nextInt(0, 1000));
}

public boolean compareLocIDTo(Location loc) {
if(loc.getBlockX() == this.loc.getBlockX() && loc.getBlockZ() == this.loc.getBlockZ()) return true;
else return false;
return loc.getBlockX() == this.loc.getBlockX() && loc.getBlockZ() == this.loc.getBlockZ();
}

private void setInputMeta(Player player) {
ItemMeta inputMeta = input.getItemMeta();
String inputItemName = null;
if(player == null) {
inputMeta.displayName(Component.text("default"));
}
else {
switch (title) {
case SET_HOST_NAME -> inputItemName = Tablist.getHostedBy();
case SET_SERVER_NAME -> inputItemName = Tablist.getServerName();
default -> throw new IllegalArgumentException("Title: " + title + " is not supported");
}
if(inputItemName == null) {
inputMeta.displayName(Component.text(new TranslationFactory().getTranslation(player, "noNameSet")));
}
else {
inputMeta.displayName(Component.text(inputItemName));
}
}
input.setItemMeta(inputMeta);
}
}
2 changes: 2 additions & 0 deletions src/main/java/de/j/deathMinigames/settings/MainMenu.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.j.deathMinigames.settings;

import de.j.stationofdoom.main.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
Expand Down Expand Up @@ -33,6 +34,7 @@ public enum InventoryMenus {
public enum AnvilUIs {
SET_SERVER_NAME,
SET_HOST_NAME,
DEFAULT // usage when the input slot item should have no name
}

public MainMenu() {
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/de/j/stationofdoom/listener/PlayerJoin.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.checkerframework.common.aliasing.qual.Unique;

import java.io.IOException;
import java.util.UUID;
Expand Down Expand Up @@ -71,7 +70,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {
AtomicInteger phase = new AtomicInteger();
asyncScheduler.runAtFixedRate(Main.getPlugin(), scheduledTask -> {
int ping = player.getPing();
if(Tablist.getHostetBy() == null) {
if(Tablist.getHostedBy() == null) {
tablist.tabTPS(player, mm.deserialize(" <dark_blue><1></dark_blue> <newline><newline>", Placeholder.component("1", Component.text(Tablist.getServerName()))),
mm.deserialize("<newline> <red>Plugin by </red><rainbow:!" + (phase.get() + 2) + ">LuckyProgrammer</rainbow>")
.append(Component.text(String.format("\nTPS: %s; %s; %s", (int) Main.getPlugin().getServer().getTPS()[0], (int) Main.getPlugin().getServer().getTPS()[1], (int) Main.getPlugin().getServer().getTPS()[2]), NamedTextColor.LIGHT_PURPLE))
Expand All @@ -83,7 +82,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {
}
else {
tablist.tabTPS(player, mm.deserialize(" <dark_blue><1></dark_blue> <newline><newline>", Placeholder.component("1", Component.text(Tablist.getServerName()))),
mm.deserialize("<newline><newline> <red>Hosted by </red><rainbow:" + phase + "><2></rainbow> <newline> <red>Plugin by </red><rainbow:!" + (phase.get() + 2) + ">LuckyProgrammer</rainbow>", Placeholder.component("2", Component.text(Tablist.getHostetBy())))
mm.deserialize("<newline><newline> <red>Hosted by </red><rainbow:" + phase + "><2></rainbow> <newline> <red>Plugin by </red><rainbow:!" + (phase.get() + 2) + ">LuckyProgrammer</rainbow>", Placeholder.component("2", Component.text(Tablist.getHostedBy())))
.append(Component.text(String.format("\nTPS: %s; %s; %s", (int) Main.getPlugin().getServer().getTPS()[0], (int) Main.getPlugin().getServer().getTPS()[1], (int) Main.getPlugin().getServer().getTPS()[2]), NamedTextColor.LIGHT_PURPLE))
.append(Component.text("\n Ping: ")
.append(Component.text(String.valueOf(ping))
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/de/j/stationofdoom/main/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import de.j.deathMinigames.commands.GameCMD;
import de.j.deathMinigames.commands.LeaderboardCMD;
import de.j.deathMinigames.dmUtil.TestCMD;
import de.j.deathMinigames.listeners.*;
import de.j.deathMinigames.main.Config;
import de.j.deathMinigames.database.Database;
Expand All @@ -24,7 +23,6 @@
import io.papermc.paper.threadedregions.scheduler.AsyncScheduler;
import io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler;
import org.bukkit.Bukkit;
import org.bukkit.command.defaults.BukkitCommand;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down Expand Up @@ -89,7 +87,6 @@ public void onEnable() {
COMMANDS.register("voterestart", new VoteRestartCMD());
COMMANDS.register("sit", new PlayerSitListener());
COMMANDS.register("game", "game related commands", new GameCMD());
COMMANDS.register("test", "testing", new TestCMD());
COMMANDS.register("leaderboard", "showing the leaderboard of the minigame", new LeaderboardCMD());
});

Expand Down
Loading

0 comments on commit 7000b71

Please sign in to comment.