fix Claim and Damage

This commit is contained in:
EmrageGHC 2025-02-23 15:43:47 +01:00
parent 090304ac8e
commit 19165efd15
3 changed files with 91 additions and 69 deletions

View file

@ -2,6 +2,7 @@ package me.freezy.plugins.papermc.blazesmp;
import lombok.Getter; import lombok.Getter;
import me.freezy.plugins.papermc.blazesmp.command.*; import me.freezy.plugins.papermc.blazesmp.command.*;
import me.freezy.plugins.papermc.blazesmp.command.util.SimpleCommand;
import me.freezy.plugins.papermc.blazesmp.listener.*; import me.freezy.plugins.papermc.blazesmp.listener.*;
import me.freezy.plugins.papermc.blazesmp.module.manager.Clans; import me.freezy.plugins.papermc.blazesmp.module.manager.Clans;
import me.freezy.plugins.papermc.blazesmp.module.manager.Homes; import me.freezy.plugins.papermc.blazesmp.module.manager.Homes;
@ -59,18 +60,22 @@ public final class BlazeSMP extends JavaPlugin {
this.log.info("Enabling BlazeSMP..."); this.log.info("Enabling BlazeSMP...");
this.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Loading Clans...");
this.clans = new Clans();
this.clans.loadAllClans();
this.log.info("Loaded Clans!");
this.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Loading Homes..."); this.log.info("Loading Homes...");
this.homes = new Homes(); this.homes = new Homes();
this.homes.load(); this.homes.load();
this.log.info("Loaded Homes!"); this.log.info("Loaded Homes!");
}, 20L); }, 20L);
this.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Loading Clans...");
this.clans = new Clans();
this.clans.loadAllClans();
this.log.info("Loaded Clans!");
}, 40L);
this.log.info("Registering Commands..."); this.log.info("Registering Commands...");
new ClanCommand().register(); new ClanCommand().register();
new ReportCommand().register(); new ReportCommand().register();
@ -80,6 +85,7 @@ public final class BlazeSMP extends JavaPlugin {
new ReloadCommand().register(); new ReloadCommand().register();
new VanishCommand().register(); new VanishCommand().register();
new EventCommand(this).register(); new EventCommand(this).register();
new RestartCommand().register();
this.log.info("Registered Commands!"); this.log.info("Registered Commands!");
this.log.info("Registering EventListeners..."); this.log.info("Registering EventListeners...");
@ -93,6 +99,7 @@ public final class BlazeSMP extends JavaPlugin {
pm.registerEvents(new PlayerVsPlayerListener(clans), this); pm.registerEvents(new PlayerVsPlayerListener(clans), this);
pm.registerEvents(new EndPortalListener(this), this); pm.registerEvents(new EndPortalListener(this), this);
pm.registerEvents(new PvPListener(), this); pm.registerEvents(new PvPListener(), this);
pm.registerEvents(new PlayerQuitListener(), this);
//pm.registerEvents(new ProtectedBlockListener(), this); //pm.registerEvents(new ProtectedBlockListener(), this);
this.log.info("Registered EventListeners!"); this.log.info("Registered EventListeners!");

View file

@ -14,7 +14,10 @@ import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.*; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
public class ClaimCommand extends SimpleCommand { public class ClaimCommand extends SimpleCommand {
@ -50,14 +53,18 @@ public class ClaimCommand extends SimpleCommand {
int MAX_CLAIMS = 50; int MAX_CLAIMS = 50;
if (playerClaims.size() >= MAX_CLAIMS) { if (playerClaims.size() >= MAX_CLAIMS) {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.max_claims_reached"))); player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.max_claims_reached")));
System.out.println("Claim denied: max claims reached");
} else { } else {
Chunk playerChunk = player.getLocation().getChunk(); Chunk playerChunk = player.getLocation().getChunk();
if (clans.isChunkClaimed(playerChunk)) { if (clans.isChunkClaimed(playerChunk)) {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_already_claimed"))); player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_already_claimed")));
System.out.println("Claim denied: chunk already claimed");
} else { } else {
// claim too close to spawn 8 chunks // claim too close to spawn 8 chunks
if (player.getX() < 152.0 && player.getZ() < 152.0) { // claim too close to spawn 152 blocks in all directions
if (Math.abs(player.getX()) < 152.0 && Math.abs(player.getZ()) < 152.0) {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_too_close_to_spawn"))); player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_too_close_to_spawn")));
System.out.println("Claim denied: chunk too close to spawn");
return true; return true;
} }
playerClaims.add(playerChunk); playerClaims.add(playerChunk);
@ -66,6 +73,7 @@ public class ClaimCommand extends SimpleCommand {
clans.setClanChunks(playerClan, existingClaims); clans.setClanChunks(playerClan, existingClaims);
playerClan.save(); playerClan.save();
clans.saveAllClans(); clans.saveAllClans();
System.out.println("Chunk claimed successfully");
} }
} }
return true; return true;
@ -82,8 +90,10 @@ public class ClaimCommand extends SimpleCommand {
clans.setClanChunks(playerClan, existingClaims); clans.setClanChunks(playerClan, existingClaims);
playerClan.save(); playerClan.save();
clans.saveAllClans(); clans.saveAllClans();
System.out.println("Chunk unclaimed successfully");
} else { } else {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_not_owned"))); player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_not_owned")));
System.out.println("Unclaim denied: chunk not owned");
} }
return true; return true;
} }

View file

@ -30,6 +30,8 @@
"error.max_claims_reached": "<red>You cannot claim more than 50 chunks!</red>", "error.max_claims_reached": "<red>You cannot claim more than 50 chunks!</red>",
"error.chunk_too_close_to_spawn": "<red>Chunk is too close to spawn!</red>", "error.chunk_too_close_to_spawn": "<red>Chunk is too close to spawn!</red>",
"error.not_found": "<red>Not Found</red>", "error.not_found": "<red>Not Found</red>",
"error.no_reason": "<red>Please provide a reason for the restart.</red>",
"error.no_permission": "<red>You can't do this.</red>",
"usage.clan_create": "<red>Usage: /clan create <name> <tag></red>", "usage.clan_create": "<red>Usage: /clan create <name> <tag></red>",
"usage.clan_chat": "<red>Usage: /clan chat <message></red>", "usage.clan_chat": "<red>Usage: /clan chat <message></red>",
@ -127,6 +129,9 @@
], ],
"tablist.footer": [ "tablist.footer": [
"<aqua>hosted by merged.games</aqua>", "<aqua>hosted by merged.games</aqua>",
"<aqua>hosted by merged.games</aqua>",
"<c:gray>made by BlazeGHC Team</c>",
"<c:gray>made by BlazeGHC Team</c>",
"<c:gray>made by BlazeGHC Team</c>" "<c:gray>made by BlazeGHC Team</c>"
], ],
@ -147,8 +152,8 @@
"config.reloaded": "<green>Config reloaded!</green>", "config.reloaded": "<green>Config reloaded!</green>",
"error.clan_full": "<red>The clan is full.</red>", "error.clan_full": "<red>The clan is full.</red>",
"success.invite_sent": "<green>Invite sent to %s.</green>", "join.notify": "<green>WICHTIG!!! Die Clans wurden aufgelöst, das aktuelle Clanlimit liegt bei 10 Membern. Jeder hat damit die Chance einen neuen Clan selbst zu gründen, da die großen Clans keine unendliche Kapazität mehr haben.</green>",
"error.no_permission": "<red>You can't do this.</red>", "success.chunk_unclaimed": "<green>Chunk successfully unclaimed!</green>",
"join.notify": "<green>WICHTIG!!! Die Clans wurden aufgelöst, das aktuelle Clanlimit liegt bei 10 Membern. Jeder hat damit die Chance einen neuen Clan selbst zu gründen, da die großen Clans keine unendliche Kapazität mehr haben.</green>" "error.chunk_not_owned": "<red>You do not own this chunk!</red>"
} }