Filled free zone of plugins

Discussion in 'Plugin Requests' started by Alice Sakamoto, Mar 5, 2018.

Thread Status:
Not open for further replies.
  1. it's a plugin that is good for (for exaple) RPG servers that want to add minigame plugins but don't want the whole plugin changing everithing on the server.

    Minecraft version: latest version

    Suggested name: pluginfreezone

    What I want in it:
    supported by world edit and multiverse core
    it should do this:

    select a field/room with worldedit (OR /pfz [zonename] [plugin] [worldname] without selecting)
    use /pfz [zonename] [plugin(, [plugin] for another one)] [worldname]
    Rules of the plugin won't work in this zone

    all standing in the config

    suggestions for commands and Permissions:
    /pfz create [zonename] [plugin] [worldname] - pfz.freezone.create
    /pfz delete [zonename] - pfz.freezone.delete
    /pfz add [zonename] [plugin] - pfz.freezone.add
    /pfz remove [plugin] - pfz.freezone.remove

    if anything is unclear let me know. thanks for reading . if anyone of you know some minigame plugins let me know as well, please.
     
    Last edited: Mar 7, 2018
  2. Offline

    Smegel

    I don't think this is possible, but I'm not sure
     
  3. @Smegel I think you can image it, like in the set zone the plugin you set to be disabled, there has no effect on the player, map or any other block, depending on which plugin should be disabled. in this zone the commands wouldn't work no matter permission for a group or not.
     
    Last edited: Mar 16, 2018
  4. Offline

    Smegel

    @Alice Sakamoto

    You can't simply disable/enable plugins per player, per region.
     
    Last edited by a moderator: Mar 15, 2018
  5. I think the only thing one could do is to cancel all the events in the region and code all the basic ones themselves.

    @Alice Sakamoto
    In order to do this effectively the developers would have to add a statement to all their plugins to check if they are in a region. That is 99% not likely to happen.

    If you can get someone on your server to learn how to modify some plugins and patch them every time the plugin is updated it's not that hard.

    Essentially he could just add an If statement like the following in bold:
    Code:
    @EventHandler
        public void nukePlayer(final PlayerMoveEvent e) {
            int x = e.getPlayer().getLocation().getBlockX();
            int y = e.getPlayer().getLocation().getBlockY();
            int z = e.getPlayer().getLocation().getBlockZ();
            ProtectedRegion pos = WGBukkit.getRegionManager(e.getPlayer().getWorld()).getRegion("myRegionName");
            if (pos != null && !pos.contains(x, y, z)) { // We don't want the code to run in a region
                // Move all the code here for each event
            }
        }
    
    Now maintaining that is a significant amount of hackery.

    Edit: This is probably not even the best way to attack this. I only posted this code as an example of the work it would take.
     
  6. so you have the knowledge to do it but no idea how it can work. i understand it. I just hope it can be done. and if it is finished realease it in bukkit dev or spigot or wherever. It will be great.

    I never said per player, did I? only per region

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Mar 16, 2018
  7. Offline

    timtower Moderator Moderator

    @Alice Sakamoto Doing this will probably require to write a specialized event and command handler which unregisters the original plugins and re-registers them to the area plugin.
    Not easy, that is for sure.
    A good developer might be able to make this possible though.
     
  8. And that's where I say I'm only a hacky developer.
     
  9. since nobody was able to help me one this one I searched for and an alternitivity and It's should do it so far. If anyone is able to do it, it would be nice.
     
  10. Offline

    502BadGamer

    This would be mostly possible by making a plugin which injects custom event handlers, plugin handlers, etc into bukkit using reflection. I believe that is how the plugin Per World Plugins does it.

    Would probably be a lot of work though, and it wouldn't be able to cover some of the events.
     
  11. @502BadGamer and the funny thing is: I use this plugin since then
     
Thread Status:
Not open for further replies.

Share This Page