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 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.module.manager.Clans;
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.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.homes = new Homes();
this.homes.load();
this.log.info("Loaded Homes!");
}, 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...");
new ClanCommand().register();
new ReportCommand().register();
@ -80,6 +85,7 @@ public final class BlazeSMP extends JavaPlugin {
new ReloadCommand().register();
new VanishCommand().register();
new EventCommand(this).register();
new RestartCommand().register();
this.log.info("Registered Commands!");
this.log.info("Registering EventListeners...");
@ -93,6 +99,7 @@ public final class BlazeSMP extends JavaPlugin {
pm.registerEvents(new PlayerVsPlayerListener(clans), this);
pm.registerEvents(new EndPortalListener(this), this);
pm.registerEvents(new PvPListener(), this);
pm.registerEvents(new PlayerQuitListener(), this);
//pm.registerEvents(new ProtectedBlockListener(), this);
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.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 {
@ -50,14 +53,18 @@ public class ClaimCommand extends SimpleCommand {
int MAX_CLAIMS = 50;
if (playerClaims.size() >= MAX_CLAIMS) {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.max_claims_reached")));
System.out.println("Claim denied: max claims reached");
} else {
Chunk playerChunk = player.getLocation().getChunk();
if (clans.isChunkClaimed(playerChunk)) {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_already_claimed")));
System.out.println("Claim denied: chunk already claimed");
} else {
// 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")));
System.out.println("Claim denied: chunk too close to spawn");
return true;
}
playerClaims.add(playerChunk);
@ -66,6 +73,7 @@ public class ClaimCommand extends SimpleCommand {
clans.setClanChunks(playerClan, existingClaims);
playerClan.save();
clans.saveAllClans();
System.out.println("Chunk claimed successfully");
}
}
return true;
@ -82,8 +90,10 @@ public class ClaimCommand extends SimpleCommand {
clans.setClanChunks(playerClan, existingClaims);
playerClan.save();
clans.saveAllClans();
System.out.println("Chunk unclaimed successfully");
} else {
player.sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.chunk_not_owned")));
System.out.println("Unclaim denied: chunk not owned");
}
return true;
}

View file

@ -30,6 +30,8 @@
"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.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_chat": "<red>Usage: /clan chat <message></red>",
@ -127,6 +129,9 @@
],
"tablist.footer": [
"<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>"
],
@ -147,8 +152,8 @@
"config.reloaded": "<green>Config reloaded!</green>",
"error.clan_full": "<red>The clan is full.</red>",
"success.invite_sent": "<green>Invite sent to %s.</green>",
"error.no_permission": "<red>You can't do this.</red>",
"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>"
"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>",
"success.chunk_unclaimed": "<green>Chunk successfully unclaimed!</green>",
"error.chunk_not_owned": "<red>You do not own this chunk!</red>"
}