Skip to content

Instantly share code, notes, and snippets.

View EastArctica's full-sized avatar

Jack Manning EastArctica

View GitHub Profile

How to use keybinds

Keybinds can be triggered in various ways, with the primary thing to keep in mind is that it operates based on presses and releases. There is no concept of a "full click" in jsmacros. Here are some examples:

// Log all keybinds to chat
KeyBind.getKeyBindings().forEach(JavaWrapper.methodToJava((bind, key) => {
    Chat.log(`- ${bind}: ${key}`);
}));

// Hold mine/attack
#!/usr/bin/env bash
set -euo pipefail
group="${1:-}"
if [[ -z "$group" ]]; then
echo "Usage: $0 <package-group>" >&2
exit 1
fi
@EastArctica
EastArctica / README.md
Last active December 16, 2025 19:41
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.