1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package me.km.commands;
- import me.km.KajetansMod;
- import me.km.api.Utils;
- import me.km.api.GlobalText;
- import me.km.api.Module;
- import me.km.api.ModuleCommand;
- import me.km.exception.PlayerNotFoundException;
- import me.km.permissions.Permissions;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.player.EntityPlayerMP;
- public class CommandFly extends ModuleCommand
- {
- public CommandFly(Module m)
- {
- super("fly", m);
- super.setDescription("Lässt einen Spieler fliegen");
- super.setUsage("/fly [player] [on|off]");
- super.setPermission(Permissions.FLY);
- }
- @Override
- public boolean execute(ICommandSender cs, String[] arg)
- {
- EntityPlayerMP affectedPlayer;
- try
- {
- if(arg.length >= 1 && !KajetansMod.perms.hasPermission(cs, Permissions.FLY_OTHER))
- {
- this.getModule().send(cs, "Du darfst nur deinen eigenen Fly setzen.");
- return true;
- }
- affectedPlayer = Utils.getPlayerByName(arg[0]);
- }
- catch(PlayerNotFoundException ex)
- {
- this.getModule().send(cs, GlobalText.cantFindPlayer(arg[0]));
- return true;
- }
- catch(IndexOutOfBoundsException ex)
- {
- if(!(cs instanceof EntityPlayerMP))
- {
- this.getModule().send(cs, GlobalText.missingParameter());
- return true;
- }
- affectedPlayer = (EntityPlayerMP) cs;
- }
- boolean fly = !affectedPlayer.capabilities.allowFlying;
- if(arg.length >= 2)
- {
- if(arg[1].equals("on"))
- {
- fly = true;
- }
- else if(arg[1].equals("off"))
- {
- fly = false;
- }
- }
- affectedPlayer.capabilities.allowFlying = fly;
- affectedPlayer.capabilities.isFlying = fly;
- affectedPlayer.sendPlayerAbilities();
- if(fly)
- {
- this.getModule().send(affectedPlayer, "Du kannst nun fliegen.");
- if(!cs.equals(affectedPlayer))
- {
- this.getModule().send(cs, affectedPlayer.getName() + " kann nun fliegen.");
- }
- return true;
- }
- this.getModule().send(affectedPlayer, "Du kannst nicht mehr fliegen.");
- if(!cs.equals(affectedPlayer))
- {
- this.getModule().send(cs, affectedPlayer.getName() + " kann nicht mehr fliegen.");
- }
- return true;
- }
- }
|