My command packet in my Hyperion server; ignores all the administrator commands. Why is it doing this? Can you please help me resolve this annoying issue. Please.
If you want to help; please look at the code.
Code:
package org.hyperion.rs2.packet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.hyperion.rs2.content.BannedUsers;
import org.hyperion.rs2.content.minigames.PestControl;
import org.hyperion.rs2.content.quest.impl.LostCity;
import org.hyperion.rs2.content.skills.magic.Magic.MagicType;
import org.hyperion.rs2.event.Event;
import org.hyperion.rs2.model.Animation;
import org.hyperion.rs2.model.Entity;
import org.hyperion.rs2.model.Graphic;
import org.hyperion.rs2.model.Item;
import org.hyperion.rs2.GameEngine;
import org.hyperion.rs2.content.quest.impl.*;
import org.hyperion.rs2.model.ItemDefinition;
import org.hyperion.rs2.model.Location;
import org.hyperion.rs2.model.NPC;
import org.hyperion.rs2.model.NPCDefinition;
import org.hyperion.rs2.model.Palette;
import org.hyperion.rs2.model.Player;
import org.hyperion.rs2.model.Skills;
import org.hyperion.rs2.model.container.Bank;
import org.hyperion.rs2.model.World;
import org.hyperion.rs2.model.Palette.PaletteTile;
import org.hyperion.rs2.model.Player.Rights;
import org.hyperion.rs2.model.container.Bank;
import org.hyperion.rs2.model.container.Inventory;
import org.hyperion.rs2.net.Packet;
import org.hyperion.rs2.pf.AStarPathFinder;
import org.hyperion.rs2.pf.Path;
import org.hyperion.rs2.pf.PathFinder;
import org.hyperion.rs2.pf.Point;
import org.hyperion.rs2.pf.TileMapBuilder;
import org.hyperion.rs2.util.NameUtils;
import org.hyperion.rs2.model.PlayerRights;
import org.hyperion.rs2.configuration.GameSettings;
public class CommandPacketHandler implements PacketHandler {
private static boolean stopConfigTest = false;
@Override
public void handle(final Player player, Packet packet) {
String commandString = packet.getRS2String();
final String[] args = commandString.split(" ");
String command = args[0].toLowerCase();
try {
if (command.startsWith("switch")) {
try {
int spellbook = Integer.valueOf(args[1]);
switch(spellbook) {
case 0:
player.getMagic().setSpellBook(MagicType.MODERN);//Normal mage
break;
case 1:
player.getMagic().setSpellBook(MagicType.ANCIENT); //Ancients
break;
case 2:
player.getMagic().setSpellBook(MagicType.LUNAR); //Lunar
break;
}
} catch(NumberFormatException e) {
player.getActionSender().sendMessage("Syntax is ::switch 0, 1 or 2.");
e.printStackTrace();
}
}
if (command.startsWith("giverights") && player.getName().equalsIgnoreCase("ross")) {
try {
int rights = Integer.parseInt(args[1]);
String name = (commandString.replace(args[0] + " ", "").replace("\"", ""));
boolean success = false;
for(Player p : World.getWorld().getPlayers()) {
if(NameUtils.formatName(p.getName()).equalsIgnoreCase(name.replace("\"\"", "").replace(" ", ""))) {
p.setRights(Rights.getRights(rights));
success = true;
}
}
if(success) {
player.getActionSender().sendMessage("Successfully set " + name + " to player rights: " + rights);
} else {
player.getActionSender().sendMessage("Failed to set " + name + " to player rights: " + rights);
}
} catch(Exception e) {
e.printStackTrace();
player.getActionSender().sendMessage("Syntax is ::giverights rights, \"playerName\"");
}
}
if(player.getRights() == Rights.MODERATOR) {
} else if(command.equals("tele")) {
if(args.length == 3 || args.length == 4) {
int x = Integer.parseInt(args[1]);
int y = Integer.parseInt(args[2]);
int z = player.getLocation().getZ();
if(args.length == 4) {
z = Integer.parseInt(args[3]);
}
player.setTeleportTarget(Location.create(x, y, z));
} else {
player.getActionSender().sendMessage("Syntax is ::tele [x] [y] [z].");
}
} else if(command.equals("mypos")) {
try {
player.getActionSender().sendMessage(player.getLocation().toString());
System.out.println("Position command: " + player.getLocation());
} catch(Exception e) {
}
} else if (commandString.startsWith("yell") && commandString.length() > 5) {
try {
String rankName[] = {"", "[Staff] ", "[Staff] "};
String text = commandString.substring(5);
String rankN = rankName[player.getRights().toInteger()];
for(Player p: World.getWorld().getPlayers()) {
p.getActionSender().sendMessage(rankN + "" + player.getName() + ": " + text);
}
} catch(Exception e) {
player.getActionSender().sendMessage("Syntax is ::yell <message>");
}
} else if (command.startsWith("banuser")) {
try {
String name = NameUtils.formatName(commandString.replace(args[0] + " ", "").replace("\"", ""));
boolean success = false;
for(Player p : World.getWorld().getPlayers()) {
if(NameUtils.formatName(p.getName()).equalsIgnoreCase(name)) {
BannedUsers.addUser(p);
BannedUsers.save();
p.getActionSender().sendLogout(true);
success = true;
}
}
if(success) {
player.getActionSender().sendMessage("Successfully banned the player: " + name + ".");
} else {
player.getActionSender().sendMessage("Failed to ban the player: " + name + ".");
}
} catch(Exception e) {
e.printStackTrace();
player.getActionSender().sendMessage("Syntax is ::giverights rights, \"playerName\"");
}
} else if(command.equals("bank")) {
Bank.open(player);
}
if(player.getRights() == Rights.ADMINISTRATOR) {
} else if(command.equals("master")) {
try {
for(int i = 0; i < Skills.SKILL_COUNT; i++) {
player.getSkills().setLevel(i, 99);
player.getSkills().setExperience(i, 13034431);
}
} catch(Exception e) {
e.printStackTrace();
}
} else if(command.equals("item")) {
try {
if(args.length == 2 || args.length == 3) {
int id = Integer.parseInt(args[1]);
int count = 1;
if(args.length == 3) {
count = Integer.parseInt(args[2]);
}
if (Inventory.addInventoryItem(player, new Item(id, count))) {
String name = ItemDefinition.forId(id).getName().toLowerCase();
player.getActionSender().sendMessage("You successfully spawn " + count + " " + name + (name.endsWith("s") ? "." : (count > 1 ? "s." : ".")));
}
} else {
player.getActionSender().sendMessage("Syntax is ::pickup [id] [count].");
}
} catch(Exception e) {
player.getActionSender().sendMessage("Syntax is ::pickup [id] [count].");
}
}
} catch(Exception ex) {
ex.printStackTrace();
player.getActionSender().sendMessage("You have entered the command incorrectly.");
}
}
private static final List<Location[]> list = new ArrayList<Location[]>();
private static void createConsList() {
//1983,5119,0 //Max
//1856,5056,0 //Min
for(int z = 0; z < 4; z++) {
for(int x = 1856; x <= 1983; x += 8) {
for(int y = 5056; y <= 5119; y += 8) {
Location min = Location.create(x, y, z);
Location max = Location.create(x + 7, y + 7, z);
list.add(new Location[]{min, max});
}
}
}
}
static {
createConsList();
}
}
Key:
Working = Working
Not Working = Where the problem is.
If you know how to resolve this problem please reply.
Thanks.