Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
0036c16
Format numbers migration (#20)
Connor-Colenso Jan 24, 2026
393b478
Localize tooltips (#18)
Discreater Feb 4, 2026
45e39cd
feat: support MEOutput cacheMode and checkMode. (#22)
hinyb Feb 9, 2026
76dfb76
update deps
Dream-Master Feb 9, 2026
fe51420
Fix compat with CAL (#21)
boubou19 Feb 10, 2026
182be96
optimize DeMemberator (#24)
danyadev Mar 7, 2026
87655a4
bump GT to account for https://github.com/GTNewHorizons/GT5-Unofficia…
boubou19 Mar 14, 2026
a042f2f
Impr(Textures): Adapt GT5U OptionalResource (#26)
leagris Mar 14, 2026
6662248
Fix Texture Render Crash (#27)
UltraProdigy Mar 19, 2026
b902349
fix crash post-IOF rework GT5u (#28)
LazyFlesh Mar 22, 2026
b81f634
use public getter/setter for integrated ore factory (#29)
Alexdoru Mar 24, 2026
77a4ae0
[Sub-PR] Reduce the size of the GregTech.lang, and standardize the Li…
iouter Mar 28, 2026
afd338f
update+gradle+bs+deps
Dream-Master Apr 3, 2026
31e632a
Optimize Images & Workflow (#32)
UltraProdigy Apr 3, 2026
405b801
Matter Manipulator does not copy fluids in dual interfaces (#33)
Luca-Guettinger Apr 5, 2026
9d76ed6
Implement FMP and Project Red in Matter Manipulator in copy mode (#34)
Luca-Guettinger Apr 5, 2026
02b16bb
Matter Manip saves NBT between modes (#31)
WhyDoLogic2 Apr 5, 2026
4035dfb
Localize chat in client (#19)
Discreater Apr 5, 2026
6b5755b
[MatterManipulator] Fix Disconnect when trying to create a Plan (#41)
Luca-Guettinger Apr 16, 2026
b4e7ab9
[MatterManipulator] Fix: Matter Manipulator does not move wireless hu…
Luca-Guettinger Apr 18, 2026
0233e9a
[MatterManipulator] add Advanced Copy Options (#40)
Luca-Guettinger Apr 18, 2026
54177cb
[MatterManipulator] Fix AE2 not detecting GT hatches after replaceme…
Luca-Guettinger Apr 18, 2026
ecfe523
Fix stacked Fluid Cells where not filled by MM (#42)
Luca-Guettinger Apr 18, 2026
2b9ed2c
[MatterManipulator] Fix: Matter Manipulator voids half the slab it us…
Luca-Guettinger Apr 26, 2026
5af7936
Fix copying Crafting Input Buffer manual slots with Matter Manipulato…
Luca-Guettinger Apr 26, 2026
97205b2
[MatterManipulator] Add Open Computers Cable support to Cable Mode (…
Luca-Guettinger Apr 26, 2026
cc8eda0
Fix Matter Manipulator not copying Carpenter's Blocks correctly (#46)
Luca-Guettinger Apr 26, 2026
37acef5
Implement `IItemProvider` for OpenComputer Components (#47)
Vlamonster Apr 29, 2026
c8835f4
Use Correct Orientation for OpenComputer TEs (#48)
Vlamonster Apr 29, 2026
c8e89e9
Fix IllegalAccessError for MTEHatch Amperes field (#49)
RecursivePineapple May 2, 2026
f857ee6
Prevent some modes from bypassing grief protection (#51)
Lyfts May 13, 2026
46e2bd5
Update IFluidLockable to IFluidLockableMui2 API (#52)
Luca-Guettinger May 16, 2026
e17f977
Adapt to GT5u changes (#53)
Kogepan229 May 20, 2026
e4a969b
Port AE2Stuff Wireless Connector/Hub to AE2 (#50)
Kogepan229 May 20, 2026
05bb9d5
Fix incorrect EnderIO dependency version (#55)
dipo33 May 30, 2026
5653806
Fix crash when replacing CRIBs with proxies with ghost circuit set (#56)
Luca-Guettinger Jun 6, 2026
a56b4d4
CapturingTessellator -> LocalTessellator (#57)
sisyphussy Jun 10, 2026
a956593
Use memory card methods for copying AE2 parts (#58)
Kogepan229 Jun 12, 2026
4552f10
Fix container duping in some specific conditions (#59)
Algent Jun 14, 2026
c0634a1
Improve Hint Renderer (#60)
RecursivePineapple Jun 16, 2026
87d7bc2
Fix wireless access point connection (#61)
LazyFlesh Jun 17, 2026
e203610
Use new isGTRenderer method (#62)
RecursivePineapple Jun 19, 2026
7126f7b
Fix block warning messages not translating on dedicated servers
Eldrinn-Elantey Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/optimize-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Optimize images

on:
pull_request:
branches: [ master, main, release/** ]
paths:
- "**/*.png"

push:
branches: [ master, main, release/** ]
paths:
- "**/*.png"

jobs:
optimize-images:
uses: GTNewHorizons/GTNH-Actions-Workflows/.github/workflows/optimize-images.yml@master
secrets: inherit
131 changes: 80 additions & 51 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,57 +36,41 @@

def asmVersion = "9.7"

// Make sure these are false before committing
def arch = false
def ae2 = false
def carpenters = false
def avaritia = false
def eio = false
def fl = false
def xu = false
def fmp = false
def gt5u = false
def ic2 = false
def oc = false
def tc = false
def waila = false

def all = false

dependencies {
implementation("com.github.GTNewHorizons:StructureLib:1.4.24:dev")
implementation("com.github.GTNewHorizons:GTNHLib:0.8.32:dev")
implementation("com.github.GTNewHorizons:ModularUI:1.3.1:dev")
implementation("com.github.GTNewHorizons:ModularUI2:2.3.23-1.7.10:dev")

compileOnly("com.github.GTNewHorizons:ae2stuff:0.10.2-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-754-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:ArchitectureCraft:1.12.3") { transitive = false }
compileOnly("com.github.GTNewHorizons:Avaritia:1.78:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Avaritiaddons:1.9.3-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:bdlib:1.11.0-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:BloodMagic:1.8.7:dev") { transitive = false }
compileOnly("curse.maven:cofh-lib-220333:2388748") { transitive = false }
compileOnly("com.github.GTNewHorizons:EnderIO:2.10.8:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:EnderStorage:1.8.0:dev") { transitive = false }
compileOnly(rfg.deobf("curse.maven:extra-utilities-225561:2264384"))
compileOnly("com.github.GTNewHorizons:FloodLights:1.5.5:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:ForgeMultipart:1.7.2:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.140:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.25:dev") { transitive = false }
compileOnly("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") { transitive = false }
compileOnly("curse.maven:mekanism-268560:2475797") { transitive = false }
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.40-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:OpenComputers:1.12.8-GTNH:dev") { transitive = false }
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:waila:1.9.15:dev") { transitive = false }

compileOnly rfg.deobf("maven.modrinth:immibis-microblocks:59.1.2")
compileOnly rfg.deobf("maven.modrinth:immibis-core:59.1.4")

runtimeOnlyNonPublishable("com.github.GTNewHorizons:ae2stuff:0.10.2-GTNH:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:ArchitectureCraft:1.12.3")
runtimeOnlyNonPublishable('com.github.GTNewHorizons:Angelica:1.0.0-beta68a:dev')
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-754-GTNH:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Avaritia:1.78:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Avaritiaddons:1.9.3-GTNH:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.4.0:dev")
// runtimeOnlyNonPublishable('com.github.GTNewHorizons:EnderIO:2.10.8:dev')
runtimeOnlyNonPublishable("com.github.GTNewHorizons:EnderStorage:1.8.0:dev")
runtimeOnlyNonPublishable(rfg.deobf("curse.maven:extra-utilities-225561:2264384"))
runtimeOnlyNonPublishable("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.140:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:FloodLights:1.5.5:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:ForgeMultipart:1.7.2:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:Hodgepodge:2.7.25:dev")
runtimeOnlyNonPublishable("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.40-GTNH:dev")
runtimeOnlyNonPublishable("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") { transitive = false }
runtimeOnlyNonPublishable("com.github.GTNewHorizons:WanionLib:1.10.0:dev")

compileOnly("com.google.auto.value:auto-value-annotations:1.10.1") { transitive = false }
implementation("com.github.GTNewHorizons:StructureLib:1.4.39:dev")
implementation("com.github.GTNewHorizons:ModularUI:1.3.4:dev")
implementation("com.github.GTNewHorizons:ModularUI2:2.3.75-1.7.10:dev")
implementation("com.github.GTNewHorizons:GTNHLib:0.11.19:dev")

api("org.joml:joml:1.10.8")
api("it.unimi.dsi:fastutil:8.5.18")

devOnlyNonPublishable("com.github.GTNewHorizons:Hodgepodge:2.7.162:dev")
devOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.104-GTNH:dev")

runtimeOnlyNonPublishable('com.github.GTNewHorizons:Angelica:2.1.42:dev')
runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.4.2:dev")

compileOnly("com.github.GTNewHorizons:BloodMagic:1.9.4:dev")

compileOnly("com.google.auto.value:auto-value-annotations:1.10.1")
annotationProcessor("com.google.auto.value:auto-value:1.10.1")

compileOnly('org.projectlombok:lombok:1.18.34')
Expand All @@ -97,6 +81,51 @@ dependencies {

testImplementation(platform('org.junit:junit-bom:5.9.2'))
testImplementation('org.junit.jupiter:junit-jupiter')
testImplementation('org.junit.platform:junit-platform-engine')
testImplementation('org.junit.platform:junit-platform-launcher')

def addCompat = {
enabled, spec -> {
compileOnly(spec);

if (enabled || all) {
runtimeOnly(spec);
}
}
};

addCompat(ae2, "com.github.GTNewHorizons:WanionLib:1.10.1:dev")
addCompat(ae2, "com.github.GTNewHorizons:AE2FluidCraft-Rework:1.5.93-gtnh:dev")
addCompat(ae2, "com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-987-GTNH:dev")

addCompat(arch, "com.github.GTNewHorizons:ArchitectureCraft:1.12.13")
addCompat(carpenters, "com.github.GTNewHorizons:CarpentersBlocks:3.7.3-GTNH")

addCompat(avaritia, "com.github.GTNewHorizons:Avaritia:1.97:dev")
addCompat(avaritia, "com.github.GTNewHorizons:Avaritiaddons:1.9.4-GTNH:dev")

compileOnly("curse.maven:mekanism-268560:2475797") { transitive = false }
addCompat(eio, "curse.maven:cofh-lib-220333:2388748")
addCompat(eio, "com.github.GTNewHorizons:EnderIO:2.10.31:dev")
addCompat(eio, "com.github.GTNewHorizons:EnderStorage:1.8.3:dev")

addCompat(xu, rfg.deobf("curse.maven:extra-utilities-225561:2264384"))

addCompat(fl, "com.github.GTNewHorizons:FloodLights:1.5.6:dev")

addCompat(fmp, rfg.deobf("maven.modrinth:immibis-microblocks:59.1.2"))
addCompat(fmp, rfg.deobf("maven.modrinth:immibis-core:59.1.4"))
addCompat(fmp, "com.github.GTNewHorizons:ForgeMultipart:1.7.10:dev")

addCompat(gt5u, "com.github.GTNewHorizons:GT5-Unofficial:5.09.52.617:dev")

addCompat(ic2, "net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev")

addCompat(oc, "com.github.GTNewHorizons:OpenComputers:1.12.47-GTNH:dev")

addCompat(tc, "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev")

addCompat(waila, "com.github.GTNewHorizons:waila:1.19.30:dev")
}

// deps may transitively add Baubles, so we replace it
Expand All @@ -105,7 +134,7 @@ project.getConfigurations()
final DependencySubstitutions ds = c.getResolutionStrategy()
.getDependencySubstitution();
ds.substitute(ds.module("com.github.GTNewHorizons:Baubles"))
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.2.4-GTNH"))
.using(ds.module("com.github.GTNewHorizons:Baubles-Expanded:2.2.21-GTNH"))
.withClassifier("dev")
.because("Baubles-Expanded replaces Baubles");
});
33 changes: 30 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,33 @@ remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/co
# `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE.
developmentEnvironmentUserName = Developer

# Enables using modern Java syntax (up to version 17) via Jabel, while still targeting JVM 8.
# See https://github.com/bsideup/jabel for details on how this works.
enableModernJavaSyntax = true
# Enables modern Java syntax support. Valid values:
# - false: No modern syntax, Java 8 only
# - jabel: Jabel syntax-only support, compiles to J8 bytecode
# - jvmDowngrader: Full modern Java via JVM Downgrader (syntax + stdlib APIs)
# - modern: Native modern Java bytecode, no downgrading
enableModernJavaSyntax = jabel

# If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues,
# and should *not* be used in most situations. -1 disables this.
# forceToolchainVersion = -1

# Target JVM version for JVM Downgrader bytecode downgrading.
# Only used when enableModernJavaSyntax = jvmDowngrader
# downgradeTargetVersion = 8

# Comma-separated list of Java versions for multi-release jar support (JVM Downgrader only).
# Classes will be available in META-INF/versions/N/ for each version N in this list.
# Default: "21,25" (J25+ gets native classes, J21-24 gets partial downgrade, J8-20 gets full downgrade).
# jvmDowngraderMultiReleaseVersions = 21,25

# Specifies how JVM Downgrader API stubs are provided. Options:
# - shade: Shade minimized stubs into the jar
# - gtnhlib: GTNHLib provides stubs at runtime (adds version constraint)
# - external: Another dependency provides stubs (no constraint, no warning)
# - (empty): Warning reminding you to configure stubs
# Note: 'shade' option requires you to verify license compliance, see: https://github.com/unimined/JvmDowngrader/blob/main/LICENSE.md
# jvmDowngraderStubsProvider =

# Enables injecting missing generics into the decompiled source code for a better coding experience.
# Turns most publicly visible List, Map, etc. into proper List<E>, Map<K, V> types.
Expand Down Expand Up @@ -200,3 +224,6 @@ curseForgeRelations =
# This is meant to be set in $HOME/.gradle/gradle.properties.
# ideaCheckSpotlessOnBuild = true

# Non-GTNH properties
org.gradle.configuration-cache = true
org.gradle.parallel = true
12 changes: 12 additions & 0 deletions gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c2dd35c9d0aaf0ba6ad0791320f99dfc/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/e5810bd7fd1f8a586644409d395a7e55/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/7b3c4877c0749019e6805bb61e421497/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/d76df094a9cbbabd3b08251f9e61444a/redirect
toolchainVersion=25
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
7 changes: 2 additions & 5 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ pluginManagement {
}

plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.48'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.26'
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ public class DeMemberator implements IClassTransformer {
@Override
public byte[] transform(String name, String transformedName, byte[] basicClass) {

if (!name.startsWith("com.recursive_pineapple.matter_manipulator")) return basicClass;

if (parser.find(basicClass)) {
ClassReader reader = new ClassReader(basicClass);
ClassNode node = new ClassNode(Opcodes.ASM5);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
package com.recursive_pineapple.matter_manipulator.client.rendering;

import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.AxisAlignedBB;

import com.gtnewhorizon.gtnhlib.client.renderer.CapturingTessellator;
import com.gtnewhorizon.gtnhlib.client.renderer.LocalTessellator;
import com.gtnewhorizon.gtnhlib.client.renderer.TessellatorManager;
import com.gtnewhorizon.gtnhlib.client.renderer.cel.model.quad.ModelQuadViewMutable;
import com.gtnewhorizon.gtnhlib.client.renderer.shader.ShaderProgram;
import com.gtnewhorizon.gtnhlib.client.renderer.vbo.VertexBuffer;
import com.gtnewhorizon.gtnhlib.client.renderer.vertex.DefaultVertexFormat;
Expand All @@ -25,7 +29,7 @@ public class BoxRenderer {
private final ShaderProgram program;
private final int time_location;

private final VertexBuffer buffer = new VertexBuffer(DefaultVertexFormat.POSITION_COLOR_TEXTURE, GL11.GL_QUADS);
private final VertexBuffer buffer = new VertexBuffer(DefaultVertexFormat.POSITION_TEXTURE_COLOR, GL11.GL_QUADS);

public BoxRenderer() {
program = new ShaderProgram(
Expand All @@ -37,15 +41,15 @@ public BoxRenderer() {
time_location = program.getUniformLocation("time");
}

private CapturingTessellator tes;
private LocalTessellator tes;
private List<ModelQuadViewMutable> collectedQuads;

/**
* Starts rendering fancy boxes. Should only be called once per frame, to allow quad sorting.
*/
public void start(double partialTickTime) {
TessellatorManager.startCapturing();

tes = (CapturingTessellator) TessellatorManager.get();
tes = TessellatorManager.enterLocalMode();
collectedQuads = new ArrayList<>();

tes.startDrawing(GL11.GL_QUADS);

Expand Down Expand Up @@ -139,6 +143,8 @@ public void drawAround(AxisAlignedBB aabb, Vector3f colour) {
tes.addVertexWithUV(dX, 0, dZ, dZ + dX, 0);
tes.addVertexWithUV(dX, dY, dZ, dZ + dX, dY);
tes.addVertexWithUV(0, dY, dZ, dZ + 0, dY);

tes.collectQuads(collectedQuads);
// spotless:on

tes.restoreTranslation();
Expand All @@ -148,14 +154,12 @@ public void drawAround(AxisAlignedBB aabb, Vector3f colour) {
* Actually draws the stored boxes.
*/
public void finish() {
final var quads = TessellatorManager.stopCapturingToPooledQuads();
tes.collectQuads(collectedQuads);
TessellatorManager.exitLocalMode();

QuadViewComparator quadSorter = new QuadViewComparator();
quads.sort(quadSorter);
collectedQuads.sort(new QuadViewComparator());

ByteBuffer bytes = CapturingTessellator.quadsToBuffer(quads, DefaultVertexFormat.POSITION_COLOR_TEXTURE);

tes.clearQuads();
ByteBuffer bytes = CapturingTessellator.quadsToBuffer(collectedQuads, buffer.getVertexFormat());

GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO);
Expand All @@ -165,12 +169,15 @@ public void finish() {

GL20.glUniform1f(time_location, (((float) (System.currentTimeMillis() % 2500)) / 1000f));

buffer.upload(bytes);
buffer.uploadStream(bytes);
buffer.render();

ShaderProgram.clear();

GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);

tes = null;
collectedQuads = null;
}
}
Loading
Loading