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;
@ -29,7 +30,7 @@ public final class BlazeSMP extends JavaPlugin {
private boolean isEndOpen; private boolean isEndOpen;
@Override @Override
public void onLoad() { public void onLoad() {
this.log = getSLF4JLogger(); this.log = getSLF4JLogger();
this.log.info("Loading BlazeSMP..."); this.log.info("Loading BlazeSMP...");
@ -50,26 +51,30 @@ public final class BlazeSMP extends JavaPlugin {
this.log.info("Loaded L4M4!"); this.log.info("Loaded L4M4!");
this.log.info("Loaded BlazeSMP!"); this.log.info("Loaded BlazeSMP!");
} }
@Override @Override
public void onEnable() { public void onEnable() {
BlazeSMP.instance = this; BlazeSMP.instance = this;
isEndOpen = getConfig().getBoolean("isEndOpen", false); isEndOpen = getConfig().getBoolean("isEndOpen", false);
this.log.info("Enabling BlazeSMP..."); this.log.info("Enabling BlazeSMP...");
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.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Loading Clans..."); this.log.info("Loading Clans...");
this.clans = new Clans(); this.clans = new Clans();
this.clans.loadAllClans(); this.clans.loadAllClans();
this.log.info("Loaded Clans!"); this.log.info("Loaded Clans!");
}, 40L);
this.log.info("Loading Homes...");
this.homes = new Homes();
this.homes.load();
this.log.info("Loaded Homes!");
}, 20L);
this.log.info("Registering Commands..."); this.log.info("Registering Commands...");
new ClanCommand().register(); new ClanCommand().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!");
@ -102,7 +109,7 @@ public final class BlazeSMP extends JavaPlugin {
this.log.info("Started Timer tasks!"); this.log.info("Started Timer tasks!");
this.log.info("Enabled BlazeSMP!"); this.log.info("Enabled BlazeSMP!");
} }
@Override @Override
public void onDisable() { public void onDisable() {

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>"
} }