Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
ff7878a
Update README.md
Geph Jul 20, 2025
898e2e3
Update requirements.txt
Geph Jul 20, 2025
3bc856d
Update src.py
Geph Jul 20, 2025
eefc8c4
Update src.py
Geph Jul 22, 2025
af6478f
Adjustments
Geph Jul 22, 2025
168867f
Update WHIMC Coordinate Tracking updated.csv
Geph Jul 22, 2025
c9c86aa
Syncing with later version
Geph Jul 22, 2025
87caab0
From Neithan's drive update
Geph Jul 22, 2025
bb8cf67
Adjustments
Geph Jul 22, 2025
97a773e
Fixing WID pull format
Geph Jul 22, 2025
5fa3627
Fixing WID format
Geph Jul 22, 2025
2ab35fb
.gitignore update
Geph Jul 22, 2025
00c6896
Merge branch 'AIED' of https://github.com/whimc/QRF-Triggers into AIED
Geph Jul 22, 2025
eac937f
self.newer_than) was passed with self.newer_than as a raw value (like…
Geph Jul 22, 2025
20931e9
Merge remote-tracking branch 'origin/AIED' into AIED
Geph Jul 22, 2025
8ff9762
fetch_data method conditionally adds global_wids to the query paramet…
Geph Jul 22, 2025
6ef468a
modify load_data() to fully support both time and global_wids
Geph Jul 22, 2025
f855826
debugging
Geph Jul 22, 2025
b0eec12
unexpected indent syntax
Geph Jul 22, 2025
cfb15c4
No longer using static WID for build
Geph Jul 22, 2025
43a98a2
initialize_tool_usage doesn't appear to exist?
Geph Jul 22, 2025
9856eba
Fixing indentation error
Geph Jul 22, 2025
4647af3
dynamically build the query string with the correct number of %s plac…
Geph Jul 22, 2025
bbe7652
dynamically build the query string with the correct number of %s plac…
Geph Jul 22, 2025
dfbe5b5
redundant functions
Geph Jul 22, 2025
91d2bbc
redundant functions
Geph Jul 22, 2025
c70a215
Get_WID as function
Geph Jul 22, 2025
5dda9d3
adding config to ignore
Geph Jul 22, 2025
d92ac72
Added MynoaMangrove
Geph Jul 23, 2025
5a3efb0
Crash if interaction start time for user is missing
Geph Jul 23, 2025
dc9f058
Allowing WID to be sent via command or via global variable
Geph Jul 23, 2025
4d5dbe8
Interaction start time check
Geph Jul 23, 2025
13ae96a
dataframe not callable fix
Geph Jul 23, 2025
e9535ca
dataframe not callable borked
Geph Jul 23, 2025
9bfa0a5
dataframe not callable borked
Geph Jul 23, 2025
d47c7bb
Read cause of death, fixed hardcoded world references
Geph Jul 25, 2025
e104084
Version number, run check
Geph Jul 25, 2025
33de183
Updating launcher
Geph Jul 25, 2025
3c124d0
Merge branch 'Maine2025' of https://github.com/whimc/QRF-Triggers int…
Geph Jul 25, 2025
0342542
Removed obsolete 127 worldid from init
Geph Jul 27, 2025
6d89410
trying just one world at once
Geph Jul 27, 2025
d260ee4
debug to display problematic dataframe
Geph Jul 27, 2025
f7c6497
debug to display problematic dataframe
Geph Jul 27, 2025
b59c47d
debug to display problematic dataframe
Geph Jul 27, 2025
750d600
Debugging
Geph Jul 27, 2025
b564a8e
safely initialize key beforehand
Geph Jul 27, 2025
4405559
Adding output file to gitignore
Geph Jul 27, 2025
046f9dc
Merge branch 'Maine2025' of https://github.com/whimc/QRF-Triggers int…
Geph Jul 27, 2025
37acdcd
Fix tools_usage schema issues and observation handling
Geph Jul 28, 2025
75ddf78
Fix tools_usage schema issues and observation handling
Geph Jul 28, 2025
90f9f64
Skip running TKinter if main thread is not available (local testing)
Geph Jul 28, 2025
2910ab5
Resolving minor warnings
Geph Jul 28, 2025
29756c7
Resolving minor warnings
Geph Jul 28, 2025
77af136
Putting output in .gitignore
Geph Jul 28, 2025
8db6108
Both world files in global_WID
Geph Jul 28, 2025
f3869bd
Line 500 check_world_exploration() error fix from Neithan, BlockBased…
Geph Jul 28, 2025
7769f48
Putting trigger manager GUI code back
Geph Jul 28, 2025
6b30e8e
Putting trigger manager GUI code back
Geph Jul 28, 2025
c994bfa
Remove redundant commented-out trigger manager function
Geph Jul 28, 2025
6ce8b85
Latest version of BlockBasedTriggers from Andres
Geph Jul 28, 2025
be012c2
Payload fix from Neithan
Geph Jul 28, 2025
1cd6bec
Adjusting block trigger cooldowns
Geph Jul 31, 2025
402ab23
Trying block break/place at 120 instead of 200
Geph Jul 31, 2025
a74c298
Trying block break/place at 120 instead of 200
Geph Jul 31, 2025
fb21523
Adjusting trigger threshold down to 40
Geph Jul 31, 2025
2d375da
Adjusting trigger threshold down to 100
Geph Jul 31, 2025
492b0aa
adjusting block thresholds
Geph Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,9 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
credentials.json.template
palermo
trigger_config.json
Umaine2025am
/umaine25am
/umaine25pm
5 changes: 5 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/QRF-Triggers-AIED.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

203 changes: 203 additions & 0 deletions BlockBasedTriggers.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
type,material,action,Time_Window_High,High_Threshold,Time_Window_Low,Low_Threshold,Priority
19,minecraft:torch,0,60,10,3600,-1,5
19,minecraft:torch,1,60,20,3600,-1,5
23,minecraft:end_rod,0,3600,20,3600,1,6
23,minecraft:end_rod,1,3600,20,3600,1,6
25,minecraft:redstone_lamp,0,60,5,3600,-1,4
25,minecraft:redstone_lamp,1,60,10,3600,-1,4
26,minecraft:oak_wall_sign,0,3600,1,3600,-1,4
26,minecraft:oak_wall_sign,1,3600,2,3600,-1,4
34,minecraft:red_sand,1,3600,200,1800,1,4
34,minecraft:red_sand,0,3600,500,1800,1,4
38,minecraft:ice,1,60,40,3600,-1,4
38,minecraft:ice,0,600,30,3600,-1,4
48,minecraft:packed_ice,1,5,1,3600,-1,1
48,minecraft:packed_ice,0,5,1,3600,-1,1
49,minecraft:sea_lantern,0,3600,50,3600,1,6
49,minecraft:sea_lantern,1,3600,250,3600,1,6
66,minecraft:iron_door,0,3600,5,3600,1,6
66,minecraft:iron_door,1,3600,10,3600,1,6
104,minecraft:wither_skeleton_wall_skull,1,5,1,3600,-1,1
104,minecraft:wither_skeleton_wall_skull,0,5,1,3600,-1,1
105,minecraft:iron_trapdoor,0,900,3,3600,-1,6
105,minecraft:iron_trapdoor,1,120,5,3600,-1,6
107,minecraft:iron_block,0,3600,200,1800,1,6
107,minecraft:iron_block,1,3600,1000,1200,1,6
108,minecraft:piston,0,5,1,3600,-1,3
108,minecraft:piston,1,360,2,3600,-1,3
109,minecraft:lever,1,780,10,3600,-1,3
109,minecraft:lever,0,3600,20,3600,1,3
110,minecraft:sticky_piston,0,3600,15,3600,1,2
110,minecraft:sticky_piston,1,3600,20,3600,1,2
111,minecraft:anvil,1,600,3,3600,-1,2
111,minecraft:anvil,0,1800,3,3600,-1,2
114,minecraft:player_head,0,3600,10,3600,1,6
114,minecraft:player_head,1,3600,50,3600,1,6
117,minecraft:warped_wall_sign,0,3600,1,3600,-1,4
117,minecraft:warped_wall_sign,1,3600,2,3600,-1,4
125,minecraft:powered_rail,1,5,1,3600,-1,3
125,minecraft:powered_rail,0,5,1,3600,-1,3
126,minecraft:repeater,0,420,5,3600,-1,5
126,minecraft:repeater,1,420,10,3600,-1,5
127,minecraft:redstone_wire,1,2400,50,3600,1,5
127,minecraft:redstone_wire,0,1200,40,3600,1,5
171,minecraft:blue_ice,0,1800,30,3600,1,5
171,minecraft:blue_ice,1,1800,300,3600,-1,5
182,minecraft:oak_sign,0,5,1,3600,-1,4
182,minecraft:oak_sign,1,5,1,3600,-1,4
187,minecraft:polished_basalt,1,60,5,3600,-1,2
187,minecraft:polished_basalt,0,60,5,3600,-1,2
196,minecraft:redstone_wall_torch,0,300,3,3600,-1,5
196,minecraft:redstone_wall_torch,1,300,20,3600,-1,5
197,minecraft:redstone_torch,0,60,5,3600,-1,4
197,minecraft:redstone_torch,1,60,5,3600,-1,4
198,minecraft:redstone,1,5,1,3600,-1,1
198,minecraft:redstone,0,5,1,3600,-1,1
223,minecraft:crimson_wall_sign,0,5,1,3600,-1,4
223,minecraft:crimson_wall_sign,1,5,1,3600,-1,4
226,minecraft:dark_oak_wall_sign,0,5,1,3600,-1,4
226,minecraft:dark_oak_wall_sign,1,5,1,3600,-1,4
227,minecraft:birch_wall_sign,0,5,1,3600,-1,4
227,minecraft:birch_wall_sign,1,5,1,3600,-1,4
234,minecraft:birch_sign,0,5,1,3600,-1,4
234,minecraft:birch_sign,1,5,1,3600,-1,4
235,minecraft:acacia_sign,0,5,1,3600,-1,4
235,minecraft:acacia_sign,1,5,1,3600,-1,4
241,minecraft:redstone_block,0,300,5,3600,-1,1
241,minecraft:redstone_block,1,3600,20,3600,-1,1
243,minecraft:player_wall_head,0,3600,20,3600,1,6
243,minecraft:player_wall_head,1,3600,20,3600,1,6
252,minecraft:basalt,1,5,1,3600,-1,2
252,minecraft:basalt,0,5,1,3600,-1,2
255,minecraft:dark_oak_sign,0,5,1,3600,-1,4
255,minecraft:dark_oak_sign,1,5,1,3600,-1,4
270,minecraft:crimson_sign,0,5,1,3600,-1,4
270,minecraft:crimson_sign,1,5,1,3600,-1,4
277,minecraft:acacia_wall_sign,0,5,1,3600,-1,4
277,minecraft:acacia_wall_sign,1,5,1,3600,-1,4
292,minecraft:tripwire_hook,1,360,5,3600,-1,5
292,minecraft:tripwire_hook,0,60,3,3600,-1,5
293,minecraft:tripwire,1,60,10,3600,-1,4
293,minecraft:tripwire,0,3600,5,3600,-1,4
303,minecraft:netherite_block,1,60,50,3600,-1,4
303,minecraft:netherite_block,0,60,10,3600,-1,4
371,minecraft:shroomlight,1,60,8,3600,-1,2
371,minecraft:shroomlight,0,5,1,3600,-1,2
375,minecraft:warped_sign,0,5,1,3600,-1,4
375,minecraft:warped_sign,1,5,1,3600,-1,4
385,minecraft:daylight_detector,0,60,5,3600,-1,4
385,minecraft:daylight_detector,1,60,30,3600,-1,4
388,minecraft:red_sandstone,0,3600,200,3600,1,6
388,minecraft:red_sandstone,1,2400,150,3600,-1,6
389,minecraft:smooth_red_sandstone,1,600,400,3600,-1,4
389,minecraft:smooth_red_sandstone,0,360,20,3600,-1,4
405,minecraft:spruce_wall_sign,0,5,1,3600,-1,4
405,minecraft:spruce_wall_sign,1,5,1,3600,-1,4
472,minecraft:wall_torch,1,2400,5,3600,1,2
472,minecraft:wall_torch,0,1800,3,3600,1,2
473,minecraft:wither_skeleton_skull,0,720,3,3600,-1,2
473,minecraft:wither_skeleton_skull,1,5,1,3600,-1,2
527,minecraft:cactus,1,5,1,3600,-1,3
527,minecraft:cactus,0,5,1,3600,-1,3
536,minecraft:observer,1,120,3,3600,-1,1
536,minecraft:observer,0,120,3,3600,-1,1
552,minecraft:writable_book,1,5,1,3600,-1,1
552,minecraft:writable_book,0,5,1,3600,-1,1
554,minecraft:comparator,1,5,1,3600,-1,3
554,minecraft:comparator,0,5,1,3600,-1,3
555,minecraft:honey_block,1,60,5,3600,-1,3
555,minecraft:honey_block,0,60,5,3600,-1,3
556,minecraft:slime_block,1,60,2,3600,-1,2
556,minecraft:slime_block,0,5,1,3600,-1,2
601,minecraft:red_banner,1,5,1,3600,-1,1
601,minecraft:red_banner,0,5,1,3600,-1,1
602,minecraft:blue_banner,1,5,1,3600,-1,1
602,minecraft:blue_banner,0,5,1,3600,-1,1
603,minecraft:chipped_anvil,1,5,1,3600,-1,1
603,minecraft:chipped_anvil,0,5,1,3600,-1,1
604,minecraft:damaged_anvil,1,5,1,3600,-1,2
604,minecraft:damaged_anvil,0,5,1,3600,-1,2
644,minecraft:soul_torch,1,5,1,3600,-1,1
644,minecraft:soul_torch,0,60,2,3600,-1,1
645,minecraft:soul_wall_torch,1,60,5,3600,-1,1
645,minecraft:soul_wall_torch,0,300,2,3600,-1,1
648,minecraft:white_wall_banner,1,60,2,3600,-1,3
648,minecraft:white_wall_banner,0,5,1,3600,-1,3
654,minecraft:enchanting_table,0,5,1,3600,-1,2
654,minecraft:enchanting_table,1,5,1,3600,-1,2
656,minecraft:dropper,1,5,1,3600,-1,3
656,minecraft:dropper,0,5,1,3600,-1,3
665,minecraft:target,1,5,1,3600,-1,2
665,minecraft:target,0,5,1,3600,-1,2
687,minecraft:activator_rail,1,5,1,3600,-1,2
687,minecraft:activator_rail,0,5,1,3600,-1,2
693,minecraft:spruce_sign,0,5,1,3600,-1,4
693,minecraft:spruce_sign,1,5,1,3600,-1,4
707,minecraft:jungle_wall_sign,0,5,1,3600,-1,4
707,minecraft:jungle_wall_sign,1,5,1,3600,-1,4
714,minecraft:detector_rail,1,5,1,3600,-1,2
714,minecraft:detector_rail,0,5,1,3600,-1,2
719,minecraft:red_wall_banner,1,5,1,3600,-1,3
719,minecraft:red_wall_banner,0,5,1,3600,-1,3
736,minecraft:black_wall_banner,1,5,1,3600,-1,3
736,minecraft:black_wall_banner,0,5,1,3600,-1,3
759,minecraft:pink_wall_banner,1,5,1,3600,-1,3
759,minecraft:pink_wall_banner,0,5,1,3600,-1,3
760,minecraft:pink_banner,1,5,1,3600,-1,3
760,minecraft:pink_banner,0,5,1,3600,-1,3
773,minecraft:light_blue_banner,1,5,1,3600,-1,3
773,minecraft:light_blue_banner,0,5,1,3600,-1,3
774,minecraft:light_blue_wall_banner,1,5,1,3600,-1,3
774,minecraft:light_blue_wall_banner,0,5,1,3600,-1,3
777,minecraft:white_banner,1,5,1,3600,-1,3
777,minecraft:white_banner,0,5,1,3600,-1,3
788,minecraft:smooth_basalt,1,5,1,3600,-1,2
788,minecraft:smooth_basalt,0,5,1,3600,-1,2
832,minecraft:creeper_banner_pattern,1,5,1,3600,-1,3
832,minecraft:creeper_banner_pattern,0,5,1,3600,-1,3
864,minecraft:black_banner,1,5,1,3600,-1,3
864,minecraft:black_banner,0,5,1,3600,-1,3
893,minecraft:mojang_banner_pattern,1,5,1,3600,-1,3
893,minecraft:mojang_banner_pattern,0,5,1,3600,-1,3
894,minecraft:blue_wall_banner,1,5,1,3600,-1,3
894,minecraft:blue_wall_banner,0,5,1,3600,-1,3
916,minecraft:light_gray_banner,1,5,1,3600,-1,3
916,minecraft:light_gray_banner,0,5,1,3600,-1,3
960,minecraft:green_banner,1,5,1,3600,-1,3
960,minecraft:green_banner,0,5,1,3600,-1,3
961,minecraft:green_wall_banner,1,5,1,3600,-1,3
961,minecraft:green_wall_banner,0,5,1,3600,-1,3
968,minecraft:cyan_banner,1,5,1,3600,-1,3
968,minecraft:cyan_banner,0,5,1,3600,-1,3
970,minecraft:purple_wall_banner,1,5,1,3600,-1,3
970,minecraft:purple_wall_banner,0,5,1,3600,-1,3
976,minecraft:purple_banner,1,5,1,3600,-1,3
976,minecraft:purple_banner,0,5,1,3600,-1,3
979,minecraft:gray_banner,1,5,1,3600,-1,3
979,minecraft:gray_banner,0,5,1,3600,-1,3
981,minecraft:brown_wall_banner,1,5,1,3600,-1,3
981,minecraft:brown_wall_banner,0,5,1,3600,-1,3
982,minecraft:brown_banner,1,5,1,3600,-1,3
982,minecraft:brown_banner,0,5,1,3600,-1,3
987,minecraft:lime_wall_banner,1,5,1,3600,-1,3
987,minecraft:lime_wall_banner,0,5,1,3600,-1,3
1015,minecraft:orange_banner,1,2700,10,3600,-1,3
1015,minecraft:orange_banner,0,60,5,3600,-1,3
1042,minecraft:orange_wall_banner,1,60,5,3600,-1,3
1042,minecraft:orange_wall_banner,0,5,1,3600,-1,3
1046,minecraft:yellow_wall_banner,1,5,1,3600,-1,3
1046,minecraft:yellow_wall_banner,0,5,1,3600,-1,3
1047,minecraft:yellow_banner,1,5,1,3600,-1,3
1047,minecraft:yellow_banner,0,5,1,3600,-1,3
1062,minecraft:sculk_sensor,1,5,1,3600,-1,2
1062,minecraft:sculk_sensor,0,5,1,3600,-1,2
1084,minecraft:goat_horn,1,5,1,3600,-1,1
1084,minecraft:goat_horn,0,5,1,3600,-1,1
1096,minecraft:gray_wall_banner,1,5,1,3600,-1,3
1096,minecraft:gray_wall_banner,0,5,1,3600,-1,3
1129,minecraft:light_gray_wall_banner,1,5,1,3600,-1,3
1129,minecraft:light_gray_wall_banner,0,5,1,3600,-1,3
1145,minecraft:flower_banner_pattern,1,5,1,3600,-1,3
1145,minecraft:flower_banner_pattern,0,5,1,3600,-1,3
1167,minecraft:globe_banner_pattern,1,5,1,3600,-1,3
1167,minecraft:globe_banner_pattern,0,5,1,3600,-1,3
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,34 @@ Create a new file `credentials.json` from `credentials.json.template`. Fill in t
Every 5 seconds the database will be queried and if triggered, the QRF dispatcher will be called.

```console
$ python src.py [--initial-newer-than 'YYYY-MM-DD hh:mm:ss']
$ python scriptname.py --initial-newer-than "YYYY-MM-DD hh:mm:ss" --saveload filename --wid ###
```

## Example Batch File

Create a new file in Notepad and save-as "startqrf.bat" (with quotes included + all file types) with the following content:

```console
@echo off
REM Move to the project folder
cd /d C:\MCSERVERS\QRF-Triggers

REM Create venv if it doesn't exist
if not exist "venv\" (
echo Creating virtual environment...
python -m venv venv
)

REM Activate venv
call venv\Scripts\activate.bat

REM Install requirements (only installs missing packages)
echo Installing/updating dependencies...
pip install -r requirements.txt

REM Run the script with arguments
python scriptname.py --initial-newer-than "YYYY-MM-DD hh:mm:ss" --saveload filename --wid ###

REM Pause so the window stays open
pause
```
21 changes: 21 additions & 0 deletions Umaine2025am
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"MCSplanet": {
"worlds_visited": [],
"current_world": "",
"tool_use_count": 0,
"total_observation_count": 0,
"world_observation_counts": {},
"last_observation_time": 1753658339.592081,
"mynoa_start_time": null,
"mynoa_trigger_fired": false,
"recent_positions": [
[
-81,
212
]
],
"recent_observations": [],
"tool_usage_timestamps": [],
"last_tool_use_time": 1753658339.592081
}
}
Loading