Skip to content

Instantly share code, notes, and snippets.

@grondag
Created August 17, 2019 23:13
Show Gist options
  • Save grondag/084a8680ffee6a626f0935b8dbd520ba to your computer and use it in GitHub Desktop.
Save grondag/084a8680ffee6a626f0935b8dbd520ba to your computer and use it in GitHub Desktop.
Mesh Builder example
public Mesh cubeMeshExample() {
final int baseColor = 0xFF50565D;
final Renderer renderer = (Renderer) RendererAccess.INSTANCE.getRenderer();
final MeshBuilder mb = renderer.meshBuilder();
final QuadEmitter qe = mb.getEmitter();
final RenderMaterial mat = renderer.materialFinder().blendMode(0, TRANSLUCENT).find();
SpriteAtlasTexture atlas = MinecraftClient.getInstance().getSpriteAtlas();
final Sprite spriteBase = atlas.getSprite(new Identifier(MODID, "block/your_sprite_name"));
qe.material(mat)
.square(Direction.UP, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
qe.material(mat)
.square(Direction.DOWN, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
qe.material(mat)
.square(Direction.EAST, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
qe.material(mat)
.square(Direction.WEST, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
qe.material(mat)
.square(Direction.NORTH, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
qe.material(mat)
.square(Direction.SOUTH, 0, 0, 1, 1, 0)
.spriteBake(0, spriteBase, MutableQuadView.BAKE_LOCK_UV | MutableQuadView.BAKE_NORMALIZED)
.spriteColor(0, baseColor, baseColor, baseColor, baseColor)
.emit();
return mb.build();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment