Skip to content

Instantly share code, notes, and snippets.

View EastArctica's full-sized avatar

Jack Manning EastArctica

View GitHub Profile
@EastArctica
EastArctica / README.md
Last active November 7, 2025 00:03
Minecraft Java Scripting Engines

This is a list of every Minecraft scripting engine I could find. Please correct any information you see that's wrong.

I mention "no mixins" in some places, none of them support mixins but it can somewhat be done through ByteBuddy.

Date's last updated 10/2025

  • JSMacros (JS/Python 2.7/Python 3.x/Lua 5.2/Ruby 2.6.x/Groovy 4.0.4/Kotlin 1.7.10/WASM)
    • Engine: GraalJS primarily
    • Latest Release: 1.21.4 (Experimantal, found in discord), or 1.21.1 officially (Last commit April 2025)
  • Platform: Fabric + Forge, Client only
@EastArctica
EastArctica / racelogic.hexpat
Created June 30, 2025 15:49
ImHex pattern for the racelogic can data file format v1 and v1a
#pragma author East_Arctica
#pragma description Racelogic Can Data File
#pragma magic [ 52 61 63 65 6C 6F 67 69 63 20 43 61 6E 20 44 61 74 61 20 46 69 6C 65 20 56 31 61 0d 0a ] @ 0x00
#pragma magic [ 52 61 63 65 6C 6F 67 69 63 20 43 61 6E 20 44 61 74 61 20 46 69 6C 65 20 56 31 0d 0a ] @ 0x00
#pragma endian big
import std.mem;
import hex.dec;
@EastArctica
EastArctica / .bashrc
Created June 28, 2025 05:53
Clean docker networks from `ip a`
# Add to ~/.bashrc or ~/.bash_profile
ipa() {
ip a "$@" | awk '
/^[0-9]+:.*(veth|br-|docker0)/ {
p=0
}
/^[0-9]+:/ {
if (!/veth|br-|docker0/) {
p=1
}
@EastArctica
EastArctica / openapi.yaml
Created March 30, 2025 19:27
WakaTime Swagger API Documentation
openapi: 3.0.0
info:
title: WakaTime API
version: v1
description: |
REST API for accessing your WakaTime coding activity stats.
- Uses GET for retrieval, POST/PUT/PATCH for modification.
- All requests must use HTTPS.
- Responses are JSON objects. Data is in the `data` key, errors in `error` or `errors`.
- Refer to WakaTime usage guidelines when using the trademark or logo.
https://drive.google.com/drive/folders/10tfRWqRpLn71aCznbCFk85KhsFXSDZ5u
@EastArctica
EastArctica / index.js
Created January 1, 2025 19:53
Microsoft Purview audit export
// Exports super basic information from a Microsoft Purview audit
// I made this because the "Export" button was taking too long
// Obviously this only works for the current page you're on
// Change as you see fit
let str = '';
document.querySelectorAll('div[data-automationid="DetailsRowFields"]').forEach(x => {
let time = x.querySelector('[data-automation-key="creationDate"]').innerText;
let ip = x.querySelector('[data-automation-key="IPAddress"]').innerText;
let user = x.querySelector('[data-automation-key="User"]').innerText;
let item = x.querySelector('[data-automation-key="Item"]').innerText;
@EastArctica
EastArctica / readme.md
Last active December 13, 2024 22:03
WaveTech mods
@EastArctica
EastArctica / README.md
Created October 18, 2024 01:27
TreeSize Pro unlimited free trial(ish)

Calling this a "unlimited free trial" is a bit unreasonable but eh.

There's a few ways I believe work? but one I can guarentee works

  1. Nirsoft's RunAsDate can theoretically work but I haven't tried
  2. Find an actual crack of it or crack it yourself
  3. Delete C:\ProgramData\Licenses and C:\ProgramData\JAM Software\Licenses, when launched it will act as though this is your first launch.

If anyone knows of any other ways to avoid this, add a comment and I'll throw it in here.

@EastArctica
EastArctica / zybooks_utils.js
Last active November 4, 2024 22:21
Zybooks tool to help increase the rate you go through the god awful zybooks assignments
setInterval(() => {
document.querySelectorAll('.start-button').forEach(x => x.click())
document.querySelectorAll('[aria-label="Play"]:not(:has(.rotate-180))').forEach(x => x.click())
// auto show answer
document.querySelectorAll('.show-answer-button').forEach(x => {
let total = Number(x.getAttribute('east-mod-total-clicks') || 0);
if (total < 4) {
console.log('clicked', x);
x.click();
x.setAttribute('east-mod-total-clicks', total + 1);
// original -> prettier -> custom script to parse substr obfuscation -> uglifyjs -> prettier
// Needs next level of obfuscation removed (i forget which one this is called)
var reese84;
function a1_0x4bf2(_0x5ecc02, _0x3115fc) {
var n = a1_0x3c2e();
return (a1_0x4bf2 = function (_0x4bf2c0, _0x12dc31) {
var r = n[(_0x4bf2c0 -= 397)],
e =
(void 0 === a1_0x4bf2.gwfyOe &&