123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package me.km.effects;
- import java.util.Arrays;
- import java.util.stream.Collectors;
- import me.km.api.GlobalText;
- import me.km.api.Module;
- import me.km.api.ModuleTabCommand;
- import me.km.items.ItemWand;
- import me.km.items.ModItems;
- import me.km.permissions.Permissions;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.ItemStack;
- public class CommandWand extends ModuleTabCommand
- {
- public CommandWand(Module m)
- {
- super("magicwand", m, Arrays.stream(Effect.values())
- .filter(n -> n.isActive())
- .map(n -> n.toString())
- .collect(Collectors.toList()), 0);
- super.setDescription("Belegt einen Zauberstab mit einem Effekt, Unterstriche bei <dname> werden zu Leerzeichen");
- super.setUsage("/magicwand <effect> <dname>");
- super.setPermission(Permissions.WAND);
- }
- @Override
- public boolean execute(ICommandSender cs, String[] arg)
- {
- if(!(cs instanceof EntityPlayer))
- {
- this.getModule().send(cs, GlobalText.onlyPlayer());
- return true;
- }
- EntityPlayer p = (EntityPlayer) cs;
- if(arg.length >= 1)
- {
- ItemStack stack = p.getHeldItemMainhand();
- if(stack.getItem() instanceof ItemWand)
- {
- this.getModule().send(cs, "Du musst einen Zauberstab in der Hand halten.");
- return true;
- }
-
- Effect eff = Effect.valueOf(arg[0]);
- if(eff == null || !eff.isActive())
- {
- this.getModule().send(cs, "Dieser aktive Effekt existiert nicht.");
- return true;
- }
- ModItems.woodenWand.setEffect(stack, eff.ordinal(), arg[1].replace('_', ' '));
- return true;
- }
- return false;
- }
- }
|