finished it B)
source code:
http://pastebin.com/YTgA2t62an example of the results:
Results can be found in server_commands.json.
Time taken: 0.33742081299213555contents of server_commands.json:
{
"Bot_Hole": {
"packages": {
"AddEvent": [
"%a",
"%b",
"%c",
"%d",
"%e",
"%f",
"%g",
"%h",
"%i",
"%j",
"%k",
"%l",
"%m",
"%n",
"%o",
"%p",
"%q",
"%r",
"%s",
"%t",
"%u",
"%v",
"%w",
"%x",
"%y",
"%z"
],
"ClearAllBricks": [
"%client"
],
"ClearBrickGroup": [
"%client",
"%id"
],
"ClearBricks": [
"%client"
],
"CreateMiniGame": [
"%client",
"%name",
"%a",
"%b",
"%c",
"%d",
"%e"
],
"SetWrenchData": [
"%client",
"%info"
]
},
"server": {
"BotCount": [
"%client"
],
"BotMiniGame": [
"%client",
"%damage",
"%respawnTime",
"%points"
],
"CurrentHoleBotOff": [
"%client"
],
"CurrentHoleBotOn": [
"%client"
],
"MyBotCount": [
"%client"
],
"ResetAllBots": [
"%client"
],
"ResetBots": [
"%client",
"%user"
],
"RespawnCurrentHoleBot": [
"%client"
]
},
"support": {
"DoBotIcon": [
"%client",
"%data"
]
}
},
"Brick_Checkpoint": {
"server": {
"ClearCheckpoint": [
"%client"
]
}
},
"Brick_Teledoor": {
"server": {
"CancelBrick": [
"%client"
]
}
},
"Brick_Treasure_Chest": {
"server": {
"NextChest": [
"%client",
"%arg"
],
"TreasureStatus": [
"%client"
]
}
},
"Emote_Alarm": {
"Emote_Alarm": {
"Alarm": [
"%client"
]
}
},
"Emote_Confusion": {
"Emote_Confusion": {
"Confusion": [
"%client"
],
"Wtf": [
"%client"
]
}
},
"Emote_Hate": {
"Emote_Hate": {
"Hate": [
"%client"
]
}
},
"Emote_Love": {
"Emote_Love": {
"Love": [
"%client"
]
}
},
"GameMode_Blockheads_Ruin_Xmas": {
"support": {
"Start": [
"%client"
],
"Self Delete": [
"%client"
],
"UseHammer": [
"%client"
],
"UsePrintGun": [
"%client"
]
}
},
"GameMode_Rampage": {
"server": {
"EndSaveFileUpload": [
"%client",
"%a",
"%b",
"%c"
],
"Self Delete": [
"%client"
]
}
},
"GameMode_SpeedKart": {
"server": {
"NextTrack": [
"%client",
"%i"
],
"SetTrack": [
"%client",
"%i"
],
"Self Delete": [
"%client"
],
"TrackList": [
"%client"
]
}
},
"Item_Sports": {
"football": {
"FootballRecord": [
"%client"
],
"ResetFootballRecord": [
"%client"
]
},
"support": {
"InstantUseBrick": [
"%client",
"%brick"
],
"SetMiniGameData": [
"%client",
"%info",
"%test"
],
"UnUseTool": [
"%client"
],
"UseInventory": [
"%client",
"%slot"
],
"UseSprayCan": [
"%client",
"%id"
],
"UseTool": [
"%client",
"%slot"
]
}
},
"Script_AntiTroll": {
"Support_IPBanning": {
"BanIP": [
"%client",
"%IP"
],
"CheckIP": [
"%client",
"%name"
],
"IPBan": [
"%client",
"%name"
],
"ListIPBans": [
"%client"
],
"UnBanIP": [
"%client",
"%IP"
],
"UnIPBan": [
"%client",
"%IP"
],
"changeIPBanMode": [
"%client"
]
},
"server": {
"Ban": [
"%this",
"%a",
"%b",
"%c",
"%d",
"%e"
],
"FindBLIDIP": [
"%this",
"%bl_id"
],
"Kick": [
"%this",
"%a",
"%b",
"%c"
],
"ListAllDatablocks": [
"%this"
],
"LoadDup": [
"%this",
"%a"
],
"Sad": [
"%this",
"%a"
],
"SaveDup": [
"%this",
"%a"
],
"StopTalking": [
"%this"
]
}
},
"Script_Player_Persistence": {
"server": {
"ChangeMap": [
"%client",
"%mapName"
]
}
},
"Support_Garage": {
"server": {
"ColorPart": [
"%c",
"%a",
"%r",
"%g",
"%b"
],
"CustomHelp": [
"%c"
],
"DefaultParts": [
"%c"
],
"Garage": [
"%c"
],
"Garage_ClientEdit": [
"%c",
"%w"
],
"Garage_GetPartList": [
"%c"
],
"Garage_SaveParts": [
"%c"
],
"Garage_ToggleMessages": [
"%c",
"%a"
],
"LoadParts": [
"%c"
],
"PaintPart": [
"%c",
"%a",
"%r",
"%g",
"%b"
],
"SaveParts": [
"%c"
],
"SetPart": [
"%c",
"%a",
"%b"
],
"getParts": [
"%c"
]
}
},
"Support_LegacyDoors": {
"conversion": {
"PlantBrick": [
"%client"
]
}
},
"System_ReturnToBlockland": {
"modules/server/guiTransfer": {
"MissionPreparePhase1Ack": [
"%client",
"%skip"
],
"MissionPreparePhase2Ack": [
"%client",
"%skip"
]
},
"modules/server/serverControl": {
"RTB_addAutoStatus": [
"%client",
"%bl_id",
"%status"
],
"RTB_adminPlayer": [
"%client",
"%victim"
],
"RTB_clearAutoAdminList": [
"%client"
],
"RTB_clearBans": [
"%client"
],
"RTB_deAdminPlayer": [
"%client",
"%victim"
],
"RTB_defaultServerPrefs": [
"%client"
],
"RTB_getAutoAdminList": [
"%client"
],
"RTB_getServerOptions": [
"%client"
],
"RTB_removeAutoStatus": [
"%client",
"%bl_id"
],
"RTB_setServerOptions": [
"%client",
"%notify",
"%options",
"%v1",
"%v2",
"%v3",
"%v4",
"%v5",
"%v6",
"%v7",
"%v8",
"%v9",
"%v10",
"%v11",
"%v12",
"%v13",
"%v14",
"%v15",
"%v16"
],
"RTB_setServerPrefs": [
"%client",
"%prefs",
"%var0",
"%var1",
"%var2",
"%var3",
"%var4",
"%var5",
"%var6",
"%var7",
"%var8",
"%var9",
"%var10",
"%var11",
"%var12",
"%var13",
"%var14",
"%var",
"%var15"
],
"RTB_superAdminPlayer": [
"%client",
"%victim"
],
"SAD": [
"%client",
"%pass"
]
}
}
}all of that in 0.3 seconds! nice
like the name of the file suggests, it's output as JSON, so you'll have to use
Port's Jettison thing...or ask me to let it output in a different format. I guess you could do it yourself, if you know how. but I'd be willing to do it
it's pretty much up to you where to put the output. changing the place that it sticks the file is relatively simple, just change
serv_cmd_json = open('server_commands.json', 'w+')(which can be found near the bottom) to
serv_cmd_json = open('directory/to/put/it/in/server_commands.json', 'w+')the JSON is formatted like so:
{
"Addon_Name": {
"scriptFileName": {
"commandName": [
"%argument"
]
}
}
}how to use itfirst of all, make sure Python
3 is installed, and file extensions are registered with it
then save the code in your blockland directory, with whatever file name you want as long as it ends in ".py", and double-click it. done!
it'll make a file in the same directory, named server_commands.json, with all the stuff it found
for people who care: it'll also work directly in your Add-Ons folder. that feature is actually intended for testing, so that I could use it in a folder separate from my blockland folder
it still works, though
if you have any questions, pls ask