123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package me.km.commands;
- import me.km.api.Utils;
- import me.km.api.GlobalText;
- import me.km.api.Module;
- import me.km.api.ModuleCommand;
- import me.km.permissions.Permissions;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.EntityList;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.tileentity.TileEntityMobSpawner;
- import net.minecraft.util.math.BlockPos;
- public class CommandSpawner extends ModuleCommand
- {
- public CommandSpawner(Module m)
- {
- super("spawner", m);
- super.setDescription("Ändert den Typ eines Spawners");
- super.setUsage("/spawner <mob>");
- super.setPermission(Permissions.SPAWN);
- }
- @Override
- public boolean execute(ICommandSender cs, String[] arg)
- {
- if(!(cs instanceof EntityPlayer))
- {
- this.getModule().send(cs, GlobalText.onlyPlayer());
- return true;
- }
- if(arg.length < 1)
- {
- return false;
- }
- Class<? extends Entity> c;
- try
- {
- c = (Class<? extends Entity>) Class.forName(arg[0]);
- }
- catch(ClassNotFoundException | ClassCastException ex)
- {
- this.getModule().send(cs, "Dieser Typ existiert nicht.");
- return true;
- }
-
- EntityPlayer p = (EntityPlayer) cs;
- BlockPos pos = Utils.getPlayerTarget(p);
- TileEntity tile = p.world.getTileEntity(pos);
- if(!(tile instanceof TileEntityMobSpawner))
- {
- this.getModule().send(cs, "Du musst auf einen Spawner gerichtet sein.");
- return true;
- }
- TileEntityMobSpawner spawner = (TileEntityMobSpawner) tile;
- spawner.getSpawnerBaseLogic().setEntityId(EntityList.getKey(c));
- String s = c.getSimpleName();
- this.getModule().send(cs, "Der Spawner spawnt nun den Typ §6" + s.substring(0, s.length() - 6) + "§r.");
- return true;
- }
- }
|