add /god
This commit is contained in:
parent
b31d335b84
commit
2a94bd8c6c
|
@ -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 ->
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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}"
|
Loading…
Reference in New Issue