rheo reports: we need code to prevent non-st ... #2542
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#2542
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
rheo reports a bug:
Player position:
Player look:
Player information:
Player meta:
Log identifier
Profiler save:
Status:
Teleport command:
Compass command:
see https://github.com/BlockySurvival/bls_custom/blob/master/custom_items/staff_armor.lua
ideally this would be done by overriding the
allow_put
functionality of the 3d_armor inventory, but that's unfortunately not accessible.EDIT: actually it could probably be done via overriding
armor:set_player_armor
implemented in
0d8b2b95de
Could we prevent all inventory transaction involving admin items? Or is that exactly the allow_put problem? If so, why is this option not available?
not easily, there's 3 separate mechanisms to mange the 3 kinds of inventory:
node inventories are managed by the callbacks in the node's definition.
player inventories are managed by
minetest.register_allow_player_inventory_action
andminetest.register_on_player_inventory_action
.detached inventories are managed when the detached inventory is created.
also, mods generally modify inventories directly w/out attempting to check whether the action is "allowed".
i think the first 3 things could actually be handled automatically;
for node inventories, override node definitions when
on_mods_loaded
(i think that will work).for player inventories, that's pretty straightforward.
for detached inventories, override
minetest.create_detached_inventory
, like i did in this fix, could possibly work more generally.however, none of that would catch the case of e.g. someone collecting an admin pickaxe from a bones block, or equiping armor by holding it and right-click.
live