JimiIT92/UniverseGuard2

Still an issue with picking up fluids

Closed this issue · 3 comments

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
}

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

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.

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