Skip to content

Instantly share code, notes, and snippets.

View tildejustin's full-sized avatar

justin tildejustin

View GitHub Profile
@tildejustin
tildejustin / EnderDragonFightMixin.java
Created February 11, 2026 00:58
fix broken portal spawn and dragon skip
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.entity.boss.dragon.EnderDragonFight;
import net.minecraft.util.math.BlockPos;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(EnderDragonFight.class)
public abstract class EnderDragonFightMixin {
@Shadow
@tildejustin
tildejustin / LakeFeatureMixin.java
Created February 10, 2026 21:18
portal frame and silverfish spawner overwrite fix
import com.llamalad7.mixinextras.injector.wrapoperation.*;
import net.minecraft.block.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ServerWorldAccess;
import net.minecraft.world.gen.feature.LakeFeature;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(LakeFeature.class)
public abstract class LakeFeatureMixin {
package dev.tildejustin.xrayfix.mixin;
import com.llamalad7.mixinextras.sugar.*;
import com.llamalad7.mixinextras.sugar.ref.LocalRef;
import dev.tildejustin.xrayfix.mixin.accessor.EntityAccessor;
import net.minecraft.server.network.*;
import net.minecraft.util.math.*;
import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.*;
@tildejustin
tildejustin / Main.java
Created January 30, 2026 03:37
remap obsfucated mod to named. I should make a gui that automatically downloads mappings and minecraft jar for this.
import net.fabricmc.mappingio.MappingReader;
import net.fabricmc.mappingio.tree.MemoryMappingTree;
import net.fabricmc.tinyremapper.*;
import java.io.*;
import java.nio.file.Paths;
public class Main {
public static void main(String... args) throws IOException {
var tree = new MemoryMappingTree();
import csv
import json
import os
import re
import requests
from packaging.version import Version
version_manifest_url = "https://launchermeta.mojang.com/mc/game/version_manifest.json"
libraries = {}
@tildejustin
tildejustin / disable_narrator.json
Created September 1, 2025 20:29
prism component to disable the narrator hotkey
{
"formatVersion": 1,
"libraries": [
{
"downloads": {
"classifiers": {
"natives-linux": {
"sha1": "ac641755a2a841d1fca9e660194f42523ee5cfe0",
"size": 7833,
"url": "https://libraries.minecraft.net/com/mojang/text2speech/1.11.3/text2speech-1.11.3-natives-linux.jar"
import datetime
import requests
def get_runs_until(game: str, until: datetime.date) -> list[str]:
runs = []
next_uri = f"https://www.speedrun.com/api/v1/runs?game={game}&orderby=submitted&direction=desc&=&max=200"
while next_uri != None:
res = requests.get(next_uri).json()
if not res.get("data"):
break
@tildejustin
tildejustin / MaC_speedrunigt_debug_log.txt
Created December 18, 2024 18:35
log from speedrunigt MaC dev, just looks cool
Prism Launcher version: 8.0 (archlinux)
Launched instance in online mode
authserver.mojang.com resolves to:
[**.**.**.**, **.**.**.**, **.**.**.**, **.**.**.**]
session.minecraft.net resolves to:
[**.**.**.**, **.**.**.**, ****:****:****:****:****:****:****:****, ****:****:****:****:****:****:****:****]
@tildejustin
tildejustin / 1.18-set-spawn-write-up.md
Created August 25, 2024 02:22
something about spawn logic that i wrote sometime last year

assuming getSpawnRadius -> 10 for now for simplicity
and assuming player is further from the world border than the spawnRadius, again, for simplicity
i = 10: spawnRadius
l = 21: width / height of spawn square
m = 441: area of spawn square
k = m = 441: area of spawn square (integer overflow safe)
n = 17: spawnOffsetMultiplier, is 17 if area of spawn square is > 16, which it almost certainly is
o is random called in range of k (spawn square area)
p = 0: start of a loop maxing out in k steps, p is incremented every time
in loop: