Waterfall Punishment Plugin

Hey there PaperMC-Community

For quite a while I’m writing some paper-plugins. Now I tried to create Waterfall-Bungeecord Plugin.
I tried to create a punishment plugin with the commands

  • ban
  • tempban
  • kick
  • mute
  • jail

I made it to code the first five commands and their functionality.
But I can’t make it to write the jail command’s functionality.

Therefore, I need to access to the world the player is currently playing on, but I haven’t found any way to access this information using the bungeecord api.

If possible, I want to avoid creating a separate paper-plugin. But if this is not possible, is there a way to save the information of the jail and jailed players inside the bungee-plugin?

Thanks in advance.
For all, I’m linking here the code on my GitLab.

~ Linux

The problem here is that the packets required to identify or interact with the player aren’t implemented in Bungeecord. A proxy like Waterfall only provides bare a minimum of game functions to make server switching and global player management possible. If the proxy had to deal with all of the game logic it would be very heavy, complicated, and insanely hard to maintain.
Even if you were to hack in the required changes to modify this part of the game logic; you still wouldn’t be able to modify the dimension or world the player is in… because that’s controlled by the server you’re currently on.
That said, it probably is possible to catch player respawn packets and check them for the world name they indicate, I still strongly advise against that.

Hm so far I got it.

So after reading your post, I think my best bet is, that I write an additional Paper-Plugin.
But is there a way to manipulate the custom config of the bungeecord-plugin or do I have to create a separate the configs? Because what I saw is, that I can get the server the player is on using Player.getServer();

Thank you in advance.

~ Linux