Gamerule revert timers, drop/height training, revert_after field for v5

Python revert system (live on prod):
- Gamerule changes auto-revert after default timeout (5-10 min)
- User can specify duration: "disable mobs for 5 minutes"
- "permanently"/"forever" skips revert
- Setting back to default cancels pending revert
- Players notified of revert countdown

Training data (20 examples):
- 8 revert-aware gamerules with revert_after/revert_commands fields
- 12 drop/height/tp examples: intentional drops, safe tp, context-aware

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 23:42:22 -04:00
parent edfc365c5f
commit 4fc94170e4
2 changed files with 40 additions and 0 deletions
+20
View File
@@ -2316,3 +2316,23 @@
{"id": "effect-cap-009", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo give me nausea for an hour", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Nausea capped at 30s. Longer durations are unpleasant, not fun.", "commands": ["effect give slingshooter08 minecraft:nausea 30 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}} {"id": "effect-cap-009", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo give me nausea for an hour", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Nausea capped at 30s. Longer durations are unpleasant, not fun.", "commands": ["effect give slingshooter08 minecraft:nausea 30 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "effect-cap-010", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo poison me forever", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Poison capped at 30s. Long poison can kill.", "commands": ["effect give slingshooter08 minecraft:poison 30 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}} {"id": "effect-cap-010", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo poison me forever", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Poison capped at 30s. Long poison can kill.", "commands": ["effect give slingshooter08 minecraft:poison 30 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "effect-cap-011", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo wither effect on me for 1000 seconds", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Wither capped at 15s. Wither effect drains health and can kill.", "commands": ["effect give slingshooter08 minecraft:wither 15 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}} {"id": "effect-cap-011", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo wither effect on me for 1000 seconds", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"reasoning": "Wither capped at 15s. Wither effect drains health and can kill.", "commands": ["effect give slingshooter08 minecraft:wither 15 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-000", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable mobs for 5 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doMobSpawning false"], "revert_after": 300, "revert_commands": ["gamerule doMobSpawning true"], "reasoning": "Temporary mob disable with 5 minute revert.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-001", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo stop mob griefing for 10 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule mobGriefing false"], "revert_after": 600, "revert_commands": ["gamerule mobGriefing true"], "reasoning": "Temporary mobGriefing off, 10 min.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-002", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo freeze time for 3 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doDaylightCycle false"], "revert_after": 180, "revert_commands": ["gamerule doDaylightCycle true"], "reasoning": "Brief time freeze.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-003", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable fire for a bit", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doFireTick false"], "revert_after": 300, "revert_commands": ["gamerule doFireTick true"], "reasoning": "5 min fire tick off. Default revert.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-004", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo turn off phantoms for 15 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doInsomnia false"], "revert_after": 900, "revert_commands": ["gamerule doInsomnia true"], "reasoning": "15 min phantom break.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-005", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo keep inventory permanently", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule keepInventory true"], "reasoning": "Permanent keepInventory. No revert — player explicitly wants persistent.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 1}}
{"id": "revert-006", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable mobs permanently", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doMobSpawning false"], "reasoning": "Permanent mob disable. No revert — player said permanently.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 1}}
{"id": "revert-007", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo fast crops for 2 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule randomTickSpeed 100"], "revert_after": 120, "revert_commands": ["gamerule randomTickSpeed 3"], "reasoning": "Brief tick speed boost, revert to default 3.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-008", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me from high up", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport player 100 blocks up. They will fall and likely die. Intent is clear — player wants to be dropped.", "commands": ["tp slingshooter08 ~ ~100 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-009", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me from really high", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "200 blocks up. Fatal fall. Player explicitly requested being dropped.", "commands": ["tp slingshooter08 ~ ~200 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-010", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo kill me by dropping me", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Player wants death by fall. Intent is explicit. Teleport high up.", "commands": ["tp slingshooter08 ~ ~150 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-011", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me 50 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "50 blocks up. Will take significant fall damage but may survive with full health.", "commands": ["tp slingshooter08 ~ ~50 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-012", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me 10 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "10 blocks = minor fall damage. Safe-ish.", "commands": ["tp slingshooter08 ~ ~10 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-013", "source": "manual", "category": "command_gen", "input": {"user_message": "pray god smite me from the heavens", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "God drops the mortal from the sky. Glowing for dramatic effect.", "commands": ["tp slingshooter08 ~ ~100 ~", "effect give slingshooter08 minecraft:glowing 10 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-014", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to the top of the world", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Y=319 is build limit. Player will fall. Not necessarily lethal intent.", "commands": ["tp slingshooter08 ~ 319 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-015", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me up 5 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "5 blocks up. Minimal fall damage.", "commands": ["tp slingshooter08 ~ ~5 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-016", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to my friend", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport to another player. Not a drop — use player target, not coordinates.", "commands": ["tp slingshooter08 ImKauky"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-017", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me home", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport to spawn area. Use safe Y coordinate at ground level.", "commands": ["tp slingshooter08 0 64 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-018", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me forward 10 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Relative forward teleport. Keep same Y — dont drop the player.", "commands": ["execute at slingshooter08 run tp slingshooter08 ^ ^ ^10"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-019", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to 100 200 100", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Explicit coordinates requested. Y=200 may be in air — player accepts the risk by specifying exact coords.", "commands": ["tp slingshooter08 100 200 100"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
+20
View File
@@ -0,0 +1,20 @@
{"id": "revert-000", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable mobs for 5 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doMobSpawning false"], "revert_after": 300, "revert_commands": ["gamerule doMobSpawning true"], "reasoning": "Temporary mob disable with 5 minute revert.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-001", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo stop mob griefing for 10 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule mobGriefing false"], "revert_after": 600, "revert_commands": ["gamerule mobGriefing true"], "reasoning": "Temporary mobGriefing off, 10 min.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-002", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo freeze time for 3 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doDaylightCycle false"], "revert_after": 180, "revert_commands": ["gamerule doDaylightCycle true"], "reasoning": "Brief time freeze.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-003", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable fire for a bit", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doFireTick false"], "revert_after": 300, "revert_commands": ["gamerule doFireTick true"], "reasoning": "5 min fire tick off. Default revert.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-004", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo turn off phantoms for 15 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doInsomnia false"], "revert_after": 900, "revert_commands": ["gamerule doInsomnia true"], "reasoning": "15 min phantom break.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "revert-005", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo keep inventory permanently", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule keepInventory true"], "reasoning": "Permanent keepInventory. No revert — player explicitly wants persistent.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 1}}
{"id": "revert-006", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo disable mobs permanently", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule doMobSpawning false"], "reasoning": "Permanent mob disable. No revert — player said permanently.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 1}}
{"id": "revert-007", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo fast crops for 2 minutes", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08"]}}, "output": {"commands": ["gamerule randomTickSpeed 100"], "revert_after": 120, "revert_commands": ["gamerule randomTickSpeed 3"], "reasoning": "Brief tick speed boost, revert to default 3.", "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-008", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me from high up", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport player 100 blocks up. They will fall and likely die. Intent is clear — player wants to be dropped.", "commands": ["tp slingshooter08 ~ ~100 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-009", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me from really high", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "200 blocks up. Fatal fall. Player explicitly requested being dropped.", "commands": ["tp slingshooter08 ~ ~200 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-010", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo kill me by dropping me", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Player wants death by fall. Intent is explicit. Teleport high up.", "commands": ["tp slingshooter08 ~ ~150 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-011", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me 50 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "50 blocks up. Will take significant fall damage but may survive with full health.", "commands": ["tp slingshooter08 ~ ~50 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-012", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo drop me 10 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "10 blocks = minor fall damage. Safe-ish.", "commands": ["tp slingshooter08 ~ ~10 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-013", "source": "manual", "category": "command_gen", "input": {"user_message": "pray god smite me from the heavens", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "God drops the mortal from the sky. Glowing for dramatic effect.", "commands": ["tp slingshooter08 ~ ~100 ~", "effect give slingshooter08 minecraft:glowing 10 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 2}}
{"id": "drop-014", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to the top of the world", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Y=319 is build limit. Player will fall. Not necessarily lethal intent.", "commands": ["tp slingshooter08 ~ 319 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-015", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me up 5 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "5 blocks up. Minimal fall damage.", "commands": ["tp slingshooter08 ~ ~5 ~"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-016", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to my friend", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport to another player. Not a drop — use player target, not coordinates.", "commands": ["tp slingshooter08 ImKauky"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-017", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me home", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Teleport to spawn area. Use safe Y coordinate at ground level.", "commands": ["tp slingshooter08 0 64 0"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-018", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me forward 10 blocks", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Relative forward teleport. Keep same Y — dont drop the player.", "commands": ["execute at slingshooter08 run tp slingshooter08 ^ ^ ^10"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}
{"id": "drop-019", "source": "manual", "category": "command_gen", "input": {"user_message": "sudo tp me to 100 200 100", "server_context": {"server_type": "paper", "version": "1.21.x", "online_players": ["slingshooter08", "ImKauky"]}}, "output": {"reasoning": "Explicit coordinates requested. Y=200 may be in air — player accepts the risk by specifying exact coords.", "commands": ["tp slingshooter08 100 200 100"], "safety_flags": []}, "metadata": {"difficulty": "medium", "validated": true, "risk_level": 3}}