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 "); 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 c; try { c = (Class) 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; } }