This commit is contained in:
Taah 2022-04-24 07:56:27 -07:00
parent b31d335b84
commit 2a94bd8c6c
4 changed files with 74 additions and 5 deletions

View File

@ -1,10 +1,8 @@
package dev.plex;
import dev.plex.command.impl.MessageCMD;
import dev.plex.command.impl.NicknameCMD;
import dev.plex.command.impl.ReplyCMD;
import dev.plex.command.impl.SunburstCMD;
import dev.plex.command.impl.*;
import dev.plex.listener.impl.player.ChatListener;
import dev.plex.listener.impl.player.GodListener;
import dev.plex.listener.impl.player.JoinListener;
import dev.plex.permission.PermissionHandlerImpl;
import dev.plex.player.ISunburstPlayer;
@ -53,10 +51,13 @@ public final class Sunburst extends SunburstPlugin
new JoinListener();
new ChatListener();
new GodListener();
new NicknameCMD();
new SunburstCMD();
new MessageCMD();
new ReplyCMD();
new GodCMD();
Bukkit.getOnlinePlayers().forEach(player ->
{

View File

@ -0,0 +1,40 @@
package dev.plex.command.impl;
import dev.plex.command.SunburstCommand;
import dev.plex.command.util.CommandInfo;
import dev.plex.command.util.CommandPerms;
import dev.plex.command.util.RequiredSource;
import dev.plex.messaging.MessageData;
import dev.plex.player.ISunburstPlayer;
import net.kyori.adventure.text.Component;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.UUID;
@CommandInfo(name = "god", description = "Toggles god mode", usage = "/<command> [player]", aliases = {"godmode"})
@CommandPerms(permission = "sunburst.command.god")
public class GodCMD extends SunburstCommand
{
@Override
public Component execute(@NotNull CommandSender sender, @Nullable Player player, String[] args)
{
if (args.length == 0)
{
if (sender instanceof ConsoleCommandSender)
{
return usage();
}
ISunburstPlayer sunburstPlayer = plugin.getObjectHolder().getStorageSystem().getPlayer(player.getUniqueId());
sunburstPlayer.godMode(!sunburstPlayer.godMode());
return confMsg("godModeToggle", BooleanUtils.toStringOnOff(sunburstPlayer.godMode()));
}
return null;
}
}

View File

@ -0,0 +1,25 @@
package dev.plex.listener.impl.player;
import dev.plex.listener.SunburstListener;
import dev.plex.player.ISunburstPlayer;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityDamageEvent;
public class GodListener extends SunburstListener
{
@EventHandler
public void onDamage(EntityDamageEvent event)
{
if (event.getEntityType() != EntityType.PLAYER)
{
return;
}
ISunburstPlayer player = plugin.getObjectHolder().getStorageSystem().getPlayer(event.getEntity().getUniqueId());
if (player.godMode())
{
event.setDamage(0);
event.setCancelled(true);
}
}
}

View File

@ -42,4 +42,7 @@ messageReceived: "<red><bold>{0} <white><!bold>---> <red><bold>ME<white><!bold>:
# 1 - The player who received
# 2 - The message
messageSent: "<red><bold>ME <white><!bold>---> <red><bold>{1}<white><!bold>: {2}"
messengerNotFound: "<red>You have not messaged anyone!"
messengerNotFound: "<red>You have not messaged anyone!"
# 0 - Toggled on/off
godModeToggle: "<gold>God mode has been turned {0}"