Good afternoon.
Here's my situation: we have a forge server, that is using Bungee cord (http://www.spigotmc.org/wiki/bungeecord/). It's supposed to be a bukkit plugin, but our admin somehow managed to use it with our forge servers. Basically, you have multiple servers linked up with BC and you can teleport between them using /server SERVERNAME.
What I'm trying to do is a portal mod, where you can "teleport" between servers using the BungeeCord commands. I added a portal surface, that sends a command to the server on collision.
If I use vanilla commands, everything's fine. The commands work properly. When I deploy my mod to the test servers with BungeeCord and try the /server command, it reports that there's an unknown command. The command is "/server test", which usually works, if a player types it out manually, but does not work, if I use a portal.
Here's the code:
public void onEntityCollidedWithBlock(World world, int par2, int par3, int par4, Entity player)
{
try{
((EntityPlayer) player).addChatMessage("instantiating server");// for debugging
MinecraftServer server = MinecraftServer.getServer();
((EntityPlayer) player).addChatMessage("instantiating command");
ICommandManager command = server.getCommandManager();
((EntityPlayer) player).addChatMessage("sending command");
command.executeCommand((ICommandSender) player, "server test");
} catch (ClassCastException e) {
/*
* Empty, because it is to be expected whenever a mob touches the
* portal. Laggy? Let's try, see what happens.
*/
} catch (NullPointerException e) {
((EntityPlayer) player).addChatMessage("NullPointerException");
}
}
http://paste.minecraftforge.net/view/b2e3e23b
It doesn't work at present, at least not with the custom commands, it worked with vanilla.
What I was thinking is, that I should somehow trick the server into thinking, that a player manually typed the command and sent it, but when I tried to .addChatMessage() it just wrote the command out.