JimiIT92 / UniverseGuard2

An easy to use world protection plugin for Sponge
https://ore.spongepowered.org/Francesco_Jimi/Universe-Guard
GNU General Public License v3.0
19 stars 3 forks source link

Still an issue with picking up fluids #153

Closed SidewinderDX closed 3 years ago

SidewinderDX commented 3 years ago

There seems to still be an issue with picking up fluids in general. Inside of defined regions everything is fine, except that Non-Members cant destroy fluids, but still get a full bucket from it. With deactivated fluidflow they cant fill a bucket but also fluids don't flow. So this is no option. The biggest problem still ist the fact, that in the global world region they also cant destroy fluids, but still get a full bucket from it. I deleted the regions from the prior version to generate new ones but unfortunately nothing changed. Lily Pads are now working, so there is some light on the end of the tunnel. :)

edit: non OPs have no permission to destroy fluids I guess.

Also big thanks for the quick fix of pistons!

Here the corresponding global region:

{ "VERSION": 2.33, "ID": "c4839187-6ff0-4e5a-bd6e-b700555cdafc", "TYPE": "GLOBAL", "NAME": "world", "GAMEMODE": "minecraft:not_set", "FLAGS": [ { "name": "place", "value": true }, { "name": "destroy", "value": true }, { "name": "pvp", "value": true }, { "name": "expdrop", "value": true }, { "name": "itemdrop", "value": true }, { "name": "itempickup", "value": true }, { "name": "enderpearl", "value": true }, { "name": "sleep", "value": true }, { "name": "lighter", "value": true }, { "name": "chests", "value": true }, { "name": "trappedchests", "value": false }, { "name": "waterflow", "value": true }, { "name": "lavaflow", "value": true }, { "name": "otherliquidsflow", "value": true }, { "name": "leafdecay", "value": true }, { "name": "firespread", "value": true }, { "name": "potionsplash", "value": true }, { "name": "falldamage", "value": true }, { "name": "cantp", "value": true }, { "name": "canspawn", "value": true }, { "name": "hunger", "value": true }, { "name": "enderchests", "value": true }, { "name": "walldamage", "value": true }, { "name": "drown", "value": true }, { "name": "invincible", "value": false }, { "name": "cactusdamage", "value": true }, { "name": "firedamage", "value": true }, { "name": "endermangrief", "value": false }, { "name": "enderdragonblockdamage", "value": true }, { "name": "hidelocation", "value": false }, { "name": "hideflags", "value": false }, { "name": "hidemembers", "value": false }, { "name": "hideregion", "value": false }, { "name": "icemelt", "value": false }, { "name": "exit", "value": true }, { "name": "enter", "value": true }, { "name": "vinesgrowth", "value": true }, { "name": "sendchat", "value": true }, { "name": "trample", "value": true }, { "name": "shulkerboxes", "value": true }, { "name": "pistons", "value": true }, { "name": "frostwalker", "value": true }, { "name": "fishingpole", "value": true } ], "INTERACTS": [ { "BLOCK": "craftingtable", "USE": true }, { "BLOCK": "enchantingtable", "USE": true }, { "BLOCK": "itemframe", "USE": true }, { "BLOCK": "armorstand", "USE": true }, { "BLOCK": "anvil", "USE": true }, { "BLOCK": "hopper", "USE": true }, { "BLOCK": "lever", "USE": true }, { "BLOCK": "button", "USE": true }, { "BLOCK": "furnace", "USE": true }, { "BLOCK": "door", "USE": true }, { "BLOCK": "fencegate", "USE": true }, { "BLOCK": "trapdoor", "USE": true }, { "BLOCK": "pressureplate", "USE": true }, { "BLOCK": "sign", "USE": true } ], "VEHICLES": [ { "VEHICLE": "minecart", "PLACE": true, "DESTROY": true }, { "VEHICLE": "boat", "PLACE": true, "DESTROY": true } ], "EXPLOSIONS": [ { "EXPLOSION": "tnt", "DAMAGE": true, "DESTROY": false }, { "EXPLOSION": "creeper", "DAMAGE": true, "DESTROY": false }, { "EXPLOSION": "endercrystal", "DAMAGE": true, "DESTROY": false }, { "EXPLOSION": "fireball", "DAMAGE": true, "DESTROY": false }, { "EXPLOSION": "enderdragon", "DAMAGE": true, "DESTROY": true }, { "EXPLOSION": "otherexplosions", "DAMAGE": true, "DESTROY": false } ], "MOBS": [], "COMMANDS": [], "EXCLUDED_BLOCKS": { "PLACE": [], "DESTROY": [] }, "DISALLOWED_ITEMS": [], "DISALLOWED_BLOCKS": [], "TEMPLATE": false }

JimiIT92 commented 3 years ago

The behaviour is intentional, since the "destroy" of fluids should be handled by the destroy flag. The problem is this: when you pick up a fluid with a bucket you are actually destroying the fluid source block, so it would make sense that the flag responsible for this is the destroy flag. However many suggested that the pickup of fluid is handled by the flowing flags, since when you remove the source block this also affects how the fluid flows. I think the best solution, at this point, would be to handle the fluid pickup bu the destroy flag, since if you want non member players to not be able to destroy blocks but fluids you can still use the excluded_blocks lists

SidewinderDX commented 3 years ago

In my opinion its only logical to use the destroy flag to handle the "destroyment" of fluids. As you said if someone thinks its cool to destroy fluids in protected areas, just use the exclude_blocks list.

JimiIT92 commented 3 years ago

Version 2.34 has just been released, and it contains some changes to how picking/placing fluids works. Check it out here! ;) https://ore.spongepowered.org/Francesco_Jimi/Universe-Guard/versions/2.34