mirror of
https://github.com/Freezy-Studios/BlazeSMP.git
synced 2025-04-22 04:44:04 +02:00
fix Claim and Damage
This commit is contained in:
parent
090304ac8e
commit
19165efd15
3 changed files with 91 additions and 69 deletions
|
@ -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,80 +30,86 @@ 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...");
|
||||||
|
|
||||||
this.log.info("Loading ProtectedBlocks...");
|
this.log.info("Loading ProtectedBlocks...");
|
||||||
this.protectedBlocks = new ProtectedBlocks();
|
this.protectedBlocks = new ProtectedBlocks();
|
||||||
this.protectedBlocks.load();
|
this.protectedBlocks.load();
|
||||||
this.log.info("Loaded ProtectedBlocks!");
|
this.log.info("Loaded ProtectedBlocks!");
|
||||||
|
|
||||||
this.log.info("Loading config...");
|
this.log.info("Loading config...");
|
||||||
saveDefaultConfig();
|
saveDefaultConfig();
|
||||||
this.configuration = getConfig();
|
this.configuration = getConfig();
|
||||||
saveConfig();
|
saveConfig();
|
||||||
this.log.info("Loaded config!");
|
this.log.info("Loaded config!");
|
||||||
|
|
||||||
this.log.info("Loading L4M4...");
|
this.log.info("Loading L4M4...");
|
||||||
L4M4.init();
|
L4M4.init();
|
||||||
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 Clans...");
|
|
||||||
this.clans = new Clans();
|
|
||||||
this.clans.loadAllClans();
|
|
||||||
this.log.info("Loaded Clans!");
|
|
||||||
|
|
||||||
this.log.info("Loading Homes...");
|
|
||||||
this.homes = new Homes();
|
|
||||||
this.homes.load();
|
|
||||||
this.log.info("Loaded Homes!");
|
|
||||||
}, 20L);
|
|
||||||
|
|
||||||
this.log.info("Registering Commands...");
|
this.getServer().getScheduler().runTaskLater(this, () -> {
|
||||||
new ClanCommand().register();
|
this.log.info("Loading Homes...");
|
||||||
new ReportCommand().register();
|
this.homes = new Homes();
|
||||||
new ClaimCommand().register();
|
this.homes.load();
|
||||||
new HomeCommand().register();
|
this.log.info("Loaded Homes!");
|
||||||
new DiscordCommand().register();
|
}, 20L);
|
||||||
new ReloadCommand().register();
|
|
||||||
new VanishCommand().register();
|
|
||||||
new EventCommand(this).register();
|
|
||||||
this.log.info("Registered Commands!");
|
|
||||||
|
|
||||||
this.log.info("Registering EventListeners...");
|
this.getServer().getScheduler().runTaskLater(this, () -> {
|
||||||
PluginManager pm = getServer().getPluginManager();
|
this.log.info("Loading Clans...");
|
||||||
pm.registerEvents(new PlayerJoinListener(), this);
|
this.clans = new Clans();
|
||||||
pm.registerEvents(new PlayerChatListener(), this);
|
this.clans.loadAllClans();
|
||||||
pm.registerEvents(new PlayerCommandBlockerListener(), this);
|
this.log.info("Loaded Clans!");
|
||||||
pm.registerEvents(new PlayerClaimListener(), this);
|
}, 40L);
|
||||||
pm.registerEvents(new ChunkInventoryListener(), this);
|
|
||||||
pm.registerEvents(new PressurePlateListener(), this);
|
|
||||||
pm.registerEvents(new PlayerVsPlayerListener(clans), this);
|
|
||||||
pm.registerEvents(new EndPortalListener(this), this);
|
|
||||||
pm.registerEvents(new PvPListener(), this);
|
|
||||||
//pm.registerEvents(new ProtectedBlockListener(), this);
|
|
||||||
this.log.info("Registered EventListeners!");
|
|
||||||
|
|
||||||
this.log.info("Starting Timer tasks...");
|
this.log.info("Registering Commands...");
|
||||||
this.nameUpdateTask = new PlayerNameUpdate().runTaskTimer(this, 0L, 20L);
|
new ClanCommand().register();
|
||||||
this.tabListUpdateTask = new TabListTimer().runTaskTimer(this, 0L, 20L);
|
new ReportCommand().register();
|
||||||
this.log.info("Started Timer tasks!");
|
new ClaimCommand().register();
|
||||||
|
new HomeCommand().register();
|
||||||
|
new DiscordCommand().register();
|
||||||
|
new ReloadCommand().register();
|
||||||
|
new VanishCommand().register();
|
||||||
|
new EventCommand(this).register();
|
||||||
|
new RestartCommand().register();
|
||||||
|
this.log.info("Registered Commands!");
|
||||||
|
|
||||||
this.log.info("Enabled BlazeSMP!");
|
this.log.info("Registering EventListeners...");
|
||||||
}
|
PluginManager pm = getServer().getPluginManager();
|
||||||
|
pm.registerEvents(new PlayerJoinListener(), this);
|
||||||
|
pm.registerEvents(new PlayerChatListener(), this);
|
||||||
|
pm.registerEvents(new PlayerCommandBlockerListener(), this);
|
||||||
|
pm.registerEvents(new PlayerClaimListener(), this);
|
||||||
|
pm.registerEvents(new ChunkInventoryListener(), this);
|
||||||
|
pm.registerEvents(new PressurePlateListener(), this);
|
||||||
|
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!");
|
||||||
|
|
||||||
|
this.log.info("Starting Timer tasks...");
|
||||||
|
this.nameUpdateTask = new PlayerNameUpdate().runTaskTimer(this, 0L, 20L);
|
||||||
|
this.tabListUpdateTask = new TabListTimer().runTaskTimer(this, 0L, 20L);
|
||||||
|
this.log.info("Started Timer tasks!");
|
||||||
|
|
||||||
|
this.log.info("Enabled BlazeSMP!");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>",
|
||||||
|
@ -126,8 +128,11 @@
|
||||||
"<b><gold>BlazeSMP</gold></b>"
|
"<b><gold>BlazeSMP</gold></b>"
|
||||||
],
|
],
|
||||||
"tablist.footer": [
|
"tablist.footer": [
|
||||||
"<aqua>hosted by merged.games</aqua>",
|
"<aqua>hosted by merged.games</aqua>",
|
||||||
"<c:gray>made by BlazeGHC Team</c>"
|
"<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>"
|
||||||
],
|
],
|
||||||
|
|
||||||
"storage.locked": "<red>This storage is locked! You need a <yellow>%s</yellow> to open it.</red>",
|
"storage.locked": "<red>This storage is locked! You need a <yellow>%s</yellow> to open it.</red>",
|
||||||
|
@ -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>"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue