Skip to content

Instantly share code, notes, and snippets.

View lowercasebtw's full-sized avatar

lowercasebtw lowercasebtw

  • United States
  • 01:10 (UTC -05:00)
View GitHub Profile
public RenderPipeline.Snippet toSnippet(final RenderPipeline pipeline) {
final RenderPipeline.Builder builder = RenderPipeline.builder();
builder.withVertexShader(pipeline.getVertexShader());
builder.withFragmentShader(pipeline.getFragmentShader());
for (var sampler : pipeline.getSamplers()) {
builder.withSampler(sampler);
}
for (var uniform : pipeline.getUniforms()) {
builder.withUniform(uniform.name(), uniform.type());
private boolean shouldRestoreSprint = false;
// In LocalPlayer#tick, injected after ``super.tick``
private void fixMC152728() {
if (shouldRestoreSprint && !this.canResumeSprinting()) {
shouldRestoreSprint = false;
}
if (this.isSprinting() && this.isUsingItem()) {
ItemStack stack = this.getUseItem();
package btw.mixces.animatium;
import com.mojang.blaze3d.buffers.GpuBuffer;
import com.mojang.blaze3d.buffers.GpuBufferSlice;
import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.blaze3d.systems.RenderPass;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.systems.ScissorState;
import com.mojang.blaze3d.textures.GpuTextureView;
@lowercasebtw
lowercasebtw / MixinItemRenderer.java
Last active April 18, 2025 22:29
MixinItemRenderer
import com.mojang.blaze3d.buffers.BufferType;
import com.mojang.blaze3d.buffers.BufferUsage;
import com.mojang.blaze3d.buffers.GpuBuffer;
import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.blaze3d.systems.RenderPass;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.textures.GpuTexture;
import com.mojang.blaze3d.vertex.*;
import net.minecraft.client.Minecraft;
@lowercasebtw
lowercasebtw / DynamicTransformsBuilder.java
Last active September 16, 2025 18:26
DynamicTransformsBuilder Util Class
import com.mojang.blaze3d.buffers.GpuBufferSlice;
import com.mojang.blaze3d.systems.RenderSystem;
import org.joml.Matrix4f;
import org.joml.Vector3f;
import org.joml.Vector4f;
import java.util.Optional;
public class DynamicTransformsBuilder {
private Optional<Matrix4f> modelViewMatrix = Optional.empty();
import { cp } from "node:fs/promises";
import process from "node:process";
type PathLike = string;
class Files {
static listdir(path: PathLike) {
return [...Deno.readDirSync(path)].map(c => c.name);
}
import os, shutil, json
from jproperties import Properties
from os import path
from json import JSONEncoder
CONVERSION_SUFFIX = "_converted"
MINECRAFT_PATH = path.join("assets", "minecraft")
ATLASES_PATH = path.join(MINECRAFT_PATH, "atlases")
TEXTURES_PATH = path.join(MINECRAFT_PATH, "textures")
OPTIFINE_PATH = path.join(MINECRAFT_PATH, "optifine")
public static void renderBufferWithPipeline(
String name,
RenderPipeline renderPipeline,
RenderTarget renderTarget,
Consumer<BufferBuilder> bufferBuilderConsumer,
Consumer<RenderPass> uniformAndSamplerConsumer
) {
VertexFormat.Mode mode = renderPipeline.getVertexFormatMode();
BufferBuilder builder = Tesselator.getInstance().begin(mode, renderPipeline.getVertexFormat());
bufferBuilderConsumer.accept(builder);
@lowercasebtw
lowercasebtw / model_schema.json
Last active November 7, 2024 20:51
24w45a Item Model Branch Definition Json Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Minecraft Item Model Defenition",
"description": "The item model defenition schema for minecraft since 24w45a",
"type": "object",
"properties": {
"model": {
"$ref": "#/$defs/model"
}
},
U9gFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA4m4AAAAAAAAAAAAAAAAAAAsBAAA1SCQAAPKD+zP45uzBAAAAAAAAAAAMAQAAAAAABxoAAAAAAAAAAAAAAAAAAAAADQEAADUEIgAAA4MI7PHLAAD23+//AAAAAA4BAAA1BCMAAAJfCUvxywAA9qzzMgAAAAAOAQAANQQjAAABMgmF8csAAPab+CwAAAAADgEAADUEIwAAAAAJmPHLAAD2ef2BAAAAAA4BAABGRkYAAOtCBM32re1a9VgAAAAAAAANAQAAFBQA/iP28v5n/qv+qwAAAAAAAAAAEwEAAAgrAwJ/84P1L/ss+en/SQAAAAAKqhMBAAAINAMCf/OD9S/42Pnp/0kAAAAACqoTAQAAGiMDAn/zg/Uv/YH56f9JAAAAAAqqEwEAAAgjAwJ/84P1LwR+/D7/SQAAAAAKqhMBAAAIPQMCf/OD9S/2g/w+/0kAAAAACqoTAQAACCsDAn/zg/Uv9C7+k/9JAAAAAAqqEwEAABEIA/gtAyr+wv0f+Qn/pwAAAAD+NxoBAAARCAP4LQMq/sL9HwAG/6cAAAAA/jcaAQAACBED+C0DKv7CAcf7Xv+nAAAAAP43GgEAAAgRA/gtAyr+wvrK+17/pwAAAAD+NxoBAAAREQX4LQMq/sL9H/te/x4AAAAA/jcaAQAAAAAAAqr+if6rAAAAAAAAAAAAAAAAEwEAAAAAAAGZ/CT2rQAAAAAAAAAAAAAAACABAAAAAAD/5f2zABwAAAAAAAAAAAAAAAAhAQAAEQMBAAAAAAAB/b3/kP/dAAAAAAHHIgEAABIDAQAAAAAAAP3m/x8CpwAAAAAAACEBAAAAAAD9OwA2AqkAAAAAAAAAAAAAAAAkAQAAAAIBBQf/+v/+AAAAEQAAAAAAAOjiJQEAAAADAQSh//r//gAAAAAAAAAAAADxxiUBAAAAEgD////o//4AAACp