disable end

This commit is contained in:
DaTTV 2025-02-23 17:32:06 +01:00
parent 916881e628
commit dd9b6b6e68
3 changed files with 123 additions and 93 deletions

View file

@ -2,7 +2,6 @@ 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;
@ -10,7 +9,6 @@ import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4;
import me.freezy.plugins.papermc.blazesmp.module.manager.ProtectedBlocks;
import me.freezy.plugins.papermc.blazesmp.tasks.PlayerNameUpdate;
import me.freezy.plugins.papermc.blazesmp.tasks.TabListTimer;
import org.bukkit.NamespacedKey;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@ -19,93 +17,102 @@ import org.bukkit.scoreboard.Team;
import org.slf4j.Logger;
public final class BlazeSMP extends JavaPlugin {
@Getter private static BlazeSMP instance;
@Getter private Homes homes;
@Getter private ProtectedBlocks protectedBlocks;
@Getter private Clans clans;
@Getter private FileConfiguration configuration;
@Getter private Logger log;
@Getter private BukkitTask nameUpdateTask;
@Getter private BukkitTask tabListUpdateTask;
@Getter
private static BlazeSMP instance;
@Getter
private Homes homes;
@Getter
private ProtectedBlocks protectedBlocks;
@Getter
private Clans clans;
@Getter
private FileConfiguration configuration;
@Getter
private Logger log;
@Getter
private BukkitTask nameUpdateTask;
@Getter
private BukkitTask tabListUpdateTask;
private boolean isEndOpen;
@Override
public void onLoad() {
this.log = getSLF4JLogger();
public void onLoad() {
this.log = getSLF4JLogger();
this.log.info("Loading BlazeSMP...");
this.log.info("Loading BlazeSMP...");
this.log.info("Loading ProtectedBlocks...");
this.protectedBlocks = new ProtectedBlocks();
this.protectedBlocks.load();
this.log.info("Loaded ProtectedBlocks!");
this.log.info("Loading ProtectedBlocks...");
this.protectedBlocks = new ProtectedBlocks();
this.protectedBlocks.load();
this.log.info("Loaded ProtectedBlocks!");
this.log.info("Loading config...");
saveDefaultConfig();
this.configuration = getConfig();
saveConfig();
this.log.info("Loaded config!");
this.log.info("Loading config...");
saveDefaultConfig();
this.configuration = getConfig();
saveConfig();
this.log.info("Loaded config!");
this.log.info("Loading L4M4...");
L4M4.init();
this.log.info("Loaded L4M4!");
this.log.info("Loading L4M4...");
L4M4.init();
this.log.info("Loaded L4M4!");
this.log.info("Loaded BlazeSMP!");
}
this.log.info("Loaded BlazeSMP!");
}
@Override
public void onEnable() {
BlazeSMP.instance = this;
isEndOpen = getConfig().getBoolean("isEndOpen", false);
@Override
public void onEnable() {
BlazeSMP.instance = this;
isEndOpen = getConfig().getBoolean("isEndOpen", false);
this.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Enabling BlazeSMP...");
this.getServer().getScheduler().runTaskLater(this, () -> {
this.log.info("Enabling BlazeSMP...");
this.log.info("Loading Homes...");
this.homes = new Homes();
this.homes.load();
this.log.info("Loaded Homes!");
this.log.info("Loading Homes...");
this.homes = new Homes();
this.homes.load();
this.log.info("Loaded Homes!");
this.log.info("Loading Clans...");
this.clans = new Clans();
this.clans.loadAllClans();
this.log.info("Loaded Clans!");
this.log.info("Loading Clans...");
this.clans = new Clans();
this.clans.loadAllClans();
this.log.info("Loaded Clans!");
this.log.info("Registering Commands...");
new ClanCommand().register();
new ReportCommand().register();
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("Registering Commands...");
new ClanCommand().register();
new ReportCommand().register();
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("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("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);
pm.registerEvents(new EndBedPlaceListener(), 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("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!");
}, 20L);
}
this.log.info("Enabled BlazeSMP!");
}, 20L);
}
@Override
public void onDisable() {

View file

@ -0,0 +1,41 @@
package me.freezy.plugins.papermc.blazesmp.listener;
import me.freezy.plugins.papermc.blazesmp.module.manager.L4M4;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import java.util.Set;
public class EndBedPlaceListener implements Listener {
private final Set<Material> beds = Set.of(
Material.BLACK_BED,
Material.BLUE_BED,
Material.BROWN_BED,
Material.CYAN_BED,
Material.GRAY_BED,
Material.GREEN_BED,
Material.LIGHT_BLUE_BED,
Material.LIGHT_GRAY_BED,
Material.LIME_BED,
Material.MAGENTA_BED,
Material.ORANGE_BED,
Material.PINK_BED,
Material.PURPLE_BED,
Material.RED_BED,
Material.WHITE_BED,
Material.YELLOW_BED
);
@EventHandler
public void onBedPlace(BlockPlaceEvent event) {
Block block = event.getBlock();
if (beds.contains(block.getType()) && event.getPlayer().getWorld().getName().equalsIgnoreCase("world_the_end")) {
event.setCancelled(true);
event.getPlayer().sendMessage(MiniMessage.miniMessage().deserialize(L4M4.get("error.bed_place_in_end")));
}
}
}

View file

@ -32,7 +32,6 @@
"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>",
"usage.clan_join": "<red>Usage: /clan join <clanName></red>",
@ -46,7 +45,6 @@
"usage.clan_promote": "<red>Usage: /clan promote <playerName></red>",
"usage.clan_demote": "<red>Usage: /clan demote <playerName></red>",
"usage.clan_modify": "<red>Usage: /clan modify <name|tag> <newValue></red>",
"success.clan_created": "<green>Clan created successfully!</green>",
"success.join_request_sent": "<green>Join request sent to clan %s!</green>",
"success.invite_sent": "<green>Invite sent to %s.</green>",
@ -63,20 +61,14 @@
"success.clan_disbanded_leave": "<green>You have disbanded your clan (no other members) and left.</green>",
"success.left_clan": "<green>You have left the clan %s.</green>",
"success.chunk_claimed": "<green>Successfully claimed the chunk!</green>",
"notification.invite": "<yellow>Invite from clan %s.</yellow>",
"button.accept": "<green>[Accept]</green>",
"button.deny": "<red>[Deny]</red>",
"help.leader": "<color:#c70088>=== Clan Commands ===</color>\n<color:#c70088>-</color> <hover:show_text:'Displays clan info'><click:run_command:'/clan info'><color:#10abc7>/clan info</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Invite a player'><click:run_command:'/clan invite'><color:#10abc7>/clan invite</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Kick a player'><click:run_command:'/clan kick'><color:#10abc7>/clan kick</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Transfer leadership'><click:run_command:'/clan transfer'><color:#10abc7>/clan transfer</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Promote a member'><click:run_command:'/clan promote'><color:#10abc7>/clan promote</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Demote the vice leader'><click:run_command:'/clan demote'><color:#10abc7>/clan demote</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Disband your clan'><click:run_command:'/clan disband'><color:#10abc7>/clan disband</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Leave your clan'><click:run_command:'/clan leave'><color:#10abc7>/clan leave</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Accept a join request'><click:run_command:'/clan accept'><color:#10abc7>/clan accept</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Deny a join request'><click:run_command:'/clan deny'><color:#10abc7>/clan deny</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Modify clan name or tag'><click:run_command:'/clan modify'><color:#10abc7>/clan modify</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Show a list of all clans'><click:run_command:'/clan list'><color:#10abc7>/clan list</color></click></hover>\n<color:#c70088>=====================</color>",
"help.vice": "<color:#c70088>=== Clan Commands ===</color>\n<color:#c70088>-</color> <hover:show_text:'Displays clan info'><click:run_command:'/clan info'><color:#10abc7>/clan info</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Invite a player'><click:run_command:'/clan invite'><color:#10abc7>/clan invite</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Kick a player'><click:run_command:'/clan kick'><color:#10abc7>/clan kick</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Demote the vice leader'><click:run_command:'/clan demote'><color:#10abc7>/clan demote</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Leave your clan'><click:run_command:'/clan leave'><color:#10abc7>/clan leave</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Accept a join request'><click:run_command:'/clan accept'><color:#10abc7>/clan accept</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Deny a join request'><click:run_command:'/clan deny'><color:#10abc7>/clan deny</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Show a list of all clans'><click:run_command:'/clan list'><color:#10abc7>/clan list</color></click></hover>\n<color:#c70088>=====================</color>",
"help.member": "<color:#c70088>=== Clan Commands ===</color>\n<color:#c70088>-</color> <hover:show_text:'Displays clan info'><click:run_command:'/clan info'><color:#10abc7>/clan info</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Leave your clan'><click:run_command:'/clan leave'><color:#10abc7>/clan leave</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Show a list of all clans'><click:run_command:'/clan list'><color:#10abc7>/clan list</color></click></hover>\n<color:#c70088>=====================</color>",
"help.none": "<color:#c70088>=== Clan Commands ===</color>\n<color:#c70088>-</color> <hover:show_text:'Create a clan'><click:run_command:'/clan create'><color:#10abc7>/clan create</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Join a clan'><click:run_command:'/clan join'><color:#10abc7>/clan join</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Accept a clan invite'><click:run_command:'/clan accept'><color:#10abc7>/clan accept</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Deny a clan invite'><click:run_command:'/clan deny'><color:#10abc7>/clan deny</color></click></hover>\n<color:#c70088>-</color> <hover:show_text:'Show a list of all clans'><click:run_command:'/clan list'><color:#10abc7>/clan list</color></click></hover>\n<color:#c70088>=====================</color>",
"chat.format": "<color:#10abc7>[Clan] %s:</color> <color:#ff8800>%s</color>",
"info.header": "<color:#c70088>=== Clan info ===</color>\n",
"info.uuid": " <color:#c70088>-</color> <hover:show_text:'Unique identifier'><color:#10abc7>ID:</color></hover> <color:#ff8800>%s</color>\n",
"info.name": " <color:#c70088>-</color> <hover:show_text:'Name'><color:#10abc7>Name:</color></hover> <color:#ff8800>%s</color>\n",
@ -91,7 +83,6 @@
"home.sethome.success": "<green>Home set!</green>",
"home.delhome.success": "<red>Home removed!</red>",
"home.teleport.start": "<yellow>Teleporting to home!</yellow>",
"report.error.not_a_player": "<b><i><color:#ff002f>Du darfst das nicht</color></i></b>",
"report.usage": "<i><color:#ff0048>Benutze bitte:</color> <color:#ff00ee>/report</color> <blue><Spieler></blue> <dark_green><Grund></dark_green></i>",
"report.error.invalid_player": "<color:#ff002f>Der Spieler existiert nicht oder war noch nie online!</color>",
@ -102,28 +93,21 @@
"report.discord.field.reporter": "Reporter",
"report.discord.field.reported": "Gemeldeter Spieler",
"report.discord.field.reason": "Grund",
"chunk.error.no_clan": "<red>You are not in a clan!</red>",
"chunk.title": "<gold>Clan Chunks</gold>",
"chunk.navigation.previous": "<green>Previous Page</green>",
"chunk.navigation.next": "<green>Next Page</green>",
"chunk.clicked": "<yellow>You clicked on Chunk item: %s.</yellow>",
"chunk.unclaim_lore": "<gray>Click to unclaim!</gray>",
"claim.entered": "<red>You entered the claim of <white>%s</white>!</red>",
"claim.territory": "<red>Territory of <white>%s</white> - <white>%s</white>!</red>",
"command.blocked": "<red>Unknown or incomplete command, see below for error\n<u>%s</u><i> <--[HERE]</i>",
"player.join": "<gray>[<green>+</green>]</gray> <reset>",
"player.left": "<gray>[<red>-</red>]</gray> <reset>",
"pressureplate.teleport": "<red>You need to wait 5 seconds to be teleported.</red>",
"teleport.cancelled": "<red>Teleporting cancelled, you moved!</red>",
"teleport.success": "<green>Teleported!</green>",
"teleport.countdown": "<yellow>Teleporting to home in %s seconds!</yellow>",
"tablist.header": [
"<b><gold>BlazeSMP</gold></b>"
],
@ -134,7 +118,6 @@
"<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.lock_gui_title": "<blue>Lock & Link Storage - %s</blue>",
"storage.lock_gui_title_prefix": "<blue>Lock & Link Storage</blue>",
@ -149,11 +132,10 @@
"storage.removed_lock": "<green>You removed the lock from this storage.</green>",
"storage.break_denied": "<red>You cannot break this locked storage!</red>",
"storage.trial_key": "<gold>Linked Trial Key</gold>",
"config.reloaded": "<green>Config reloaded!</green>",
"error.clan_full": "<red>The clan is full.</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>",
"success.chunk_unclaimed": "<green>Chunk successfully unclaimed!</green>",
"error.chunk_not_owned": "<red>You do not own this chunk!</red>"
"error.chunk_not_owned": "<red>You do not own this chunk!</red>",
"error.bed_place_in_end": "<red>You cannot place beds in the end!</red>"
}