[WG] Protect entire world except "air"?

Discussion in 'Bukkit Help' started by Dotoo, Aug 11, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Dotoo

    Hello. I was wondering if you can select everything except air in worldedit then do the region protect using worldguard. I have googled and tried everything I can imagine but no luck.

    Is there way to deselect certain type of blocks (for my case, the "air" block) after you select large area of the map?

    I said entire map but not necessary to protect 100000 x 100000 of blocks. So you do not have to stuck using the _global_. I just want to protect smaller map, say, like 1000 x 1000.
     
  2. Offline

    Dotoo

    Bump. Is there a way? I would appreciate if somebody knows the way what I want to do even you are not using Worldguard for this.
     
  3. Offline

    Dotoo

    Bump.
     
  4. Offline

    LHammonds

    No need to use selection boxes and regions. Just use the desired flags on __global__

    Example:
    Code:
    /region flag __global__ build deny
    
     
  5. Offline

    Dotoo

    LHammonds, thanks for reply. But please read my title carefully. I do not want to protect the world other than landscapes. I have mentioned about the __global__ flag in my first post also.
     
  6. Offline

    Zupsub

    So you basically want to disallow breaking blocks?
     
  7. Offline

    LHammonds

    Well, I don't "get" what you are trying to accomplish. are you wanting to ensure no changes can be made to existing terrain but you will allow them to build on top of it?

    Might want to look at WG Custom Flags, WG Block Restricter to see if they would be any help to you.

    WorldGuard itself works off selection areas and none of those shapes "conform" to terrain.
     
  8. Offline

    Dotoo

    Yeah, exactly. I want not to change the existing landscape in any way so players are allowed griefing each other. I will give blocks for players using shop plugins and such.
    Here is what I am trying to do: People cannot dig anything using bare hand nor pickaxe, they gets blocks killing monsters or buying through villagers, they are allowed griefing other's house using TNT and steal from chests but getting TNT is rather harder than building your "safehouse".
    And thanks for information LHammonds. Sadly, these plugin is not what I am looking for. Sorry if my first post was confusing you.
    Looks like this is harder than I was expect...
     
  9. Offline

    lecraeman


    You might need to make a plugin request.

    You could just disallow any natural blocks (Dirt, Stone, Gravel, and etc.), but that wouldn't allow anyone to actually get material.
     
  10. Offline

    Dotoo

    Yeah. But I guess my request sounds like rather hard to deal with if you are willing to create one from scratch. I would not to ask for plugin developers too much. Not sure how it is hard because I have no experience of coding. Maybe it is not that hard thanks to worldedit's API. I am not sure, totally.
    Anyway, I will try find someone who is willing to create a plugin for me. Thanks.
     
  11. Dotoo
    From my personal experience, I believe that there is a way protecting only the landscape. If we got that way, you must disable the use of dirt, cobble, leaves, logs and such from players though. Make sure to take a look at Essentials Anti Build which is a great way to permit and allow the placement of such blocks.

    Using your permissions plugin you could do something like that.
    • essentials.build.place.<id>:<data>
    • essentials.build.break.<id>:<data>
    Otherwise, you can use the Bukkit API and look at the BlockPlaceEvent and BlockBreakEvent, by checking the getBlock()method.

    As LHammonds mentioned earlier, you can also protect a region of your world with /rg flag <region> build allow/deny, but I guess that's not the case. Also, if you want to change your plans a bit, a sub region might do the job. Check the /rg setpriority <region> 1.

    For me, Essentials AntiBuild would do the job.
     
  12. Offline

    LHammonds

    What you are talking about would be something that would require "logging" of every existing block on your map and then compare what is being placed or broken against this database of blocks. Sounds very intense from an enforcement aspect.

    Like others have said, you might want to configure your environment in such a way that the "natural" blocks cannot be placed or broken. Only allow the crafted blocks. You could then use existing plugins like WB Block Restricter or Essentials AntiBuild.

    But if you are determined to let players have dirt/grass blocks, the only way to differentiate their blocks from the originals is a block-logging plugin. I suppose you could "register" each block a player places and if that block is in the registry, it can be picked back up rather than trying to record all existing blocks.
     
  13. Offline

    Dotoo

    Thanks for reply. Restricting to place certain type of block is great idea. But isn't it means these landscapes are not protected from explosions such as creepers and TNT? For my case, the "/rg flag __global__ tnt deny" is not a good option since I would allow people grief and assault other's buildings using TNT or such thing,. Your advice would be perfect if there is plugin that allows you change the damage against blocks, and it has to be set different damage per blocks.

    I was originally thinking let players able to use, in this case, dirts or woods but using Essential and not let players use these "landscape blocks" looks like great idea. Now I want to disable explosion damage only for the "landscape blocks". Do you have idea?
     
  14. Dotoo
    On your Essentials configuration, search for the tnt-explosion property and set it to false. That will disable the tnt damage, as a result the landscape will not be griefed.But in that case, as you said, it will not allow players to raid bases. The only way on going with this is by having a seperated world for bases.

    As for the landscape, I cannot really think of a good idea on protecting the landscape blocks, but what about allowing players to place blocks, and not destroy them?
     
  15. Offline

    ampayne2

    What about having a copy of the world and using it to see if the block change should be allowed or not?
     
  16. Offline

    Dotoo

    Sorry but I was busy lately so could not check your reply. Seperated world for bases is not a good option since they have to across the multiple worlds to raid other faction/clan and such. I would stay in open field PvP. Plus, allowing players to place blocks but not destroy them sounds like good idea at first glance but it means you are permitted to place unbreakable block in front of other player's house. Think about you are allowed using bedrock in vanilla server. Two bedrocks are enough to stopping function of your doors.
    Anyway, I think I give up for this idea. My request sounds like complicated than I thought.
     
  17. Offline

    ampayne2

    Read my suggestion... it's the perfect solution
     
  18. Offline

    Dotoo

    What do you do exactly? I have no idea what you are talking about. How do you compare two world data and how does it work?
     
  19. Offline

    ampayne2

    For example you could have a world "World" and a world "WorldCopy" both loaded on the server. Nobody should be allowed into WorldCopy and it shouldn't be modified. When a player breaks or places a block in World, the plugin checks WorldCopy to see if that change should be allowed. It should only be allowed if there is air at the same location in WorldCopy.
     
  20. Offline

    Dotoo

    That would be smartest idea yet efficient. But I have no experience of coding and it would be too big to ask for someone if they can create one for me. Needless to say, this will be one of my core plugin if I create my own server which means the plugin has to be keep updated..
    Thanks for your suggestion.
     
Thread Status:
Not open for further replies.

Share This Page