mirror of
https://github.com/plexusorg/Sunburst.git
synced 2024-06-15 16:12:38 +00:00
add /god
This commit is contained in:
parent
b31d335b84
commit
2a94bd8c6c
|
@ -1,10 +1,8 @@
|
||||||
package dev.plex;
|
package dev.plex;
|
||||||
|
|
||||||
import dev.plex.command.impl.MessageCMD;
|
import dev.plex.command.impl.*;
|
||||||
import dev.plex.command.impl.NicknameCMD;
|
|
||||||
import dev.plex.command.impl.ReplyCMD;
|
|
||||||
import dev.plex.command.impl.SunburstCMD;
|
|
||||||
import dev.plex.listener.impl.player.ChatListener;
|
import dev.plex.listener.impl.player.ChatListener;
|
||||||
|
import dev.plex.listener.impl.player.GodListener;
|
||||||
import dev.plex.listener.impl.player.JoinListener;
|
import dev.plex.listener.impl.player.JoinListener;
|
||||||
import dev.plex.permission.PermissionHandlerImpl;
|
import dev.plex.permission.PermissionHandlerImpl;
|
||||||
import dev.plex.player.ISunburstPlayer;
|
import dev.plex.player.ISunburstPlayer;
|
||||||
|
@ -53,10 +51,13 @@ public final class Sunburst extends SunburstPlugin
|
||||||
|
|
||||||
new JoinListener();
|
new JoinListener();
|
||||||
new ChatListener();
|
new ChatListener();
|
||||||
|
new GodListener();
|
||||||
|
|
||||||
new NicknameCMD();
|
new NicknameCMD();
|
||||||
new SunburstCMD();
|
new SunburstCMD();
|
||||||
new MessageCMD();
|
new MessageCMD();
|
||||||
new ReplyCMD();
|
new ReplyCMD();
|
||||||
|
new GodCMD();
|
||||||
|
|
||||||
Bukkit.getOnlinePlayers().forEach(player ->
|
Bukkit.getOnlinePlayers().forEach(player ->
|
||||||
{
|
{
|
||||||
|
|
40
server/src/main/java/dev/plex/command/impl/GodCMD.java
Normal file
40
server/src/main/java/dev/plex/command/impl/GodCMD.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -43,3 +43,6 @@ messageReceived: "<red><bold>{0} <white><!bold>---> <red><bold>ME<white><!bold>:
|
||||||
# 2 - The message
|
# 2 - The message
|
||||||
messageSent: "<red><bold>ME <white><!bold>---> <red><bold>{1}<white><!bold>: {2}"
|
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 a new issue