fixed bugs, memory leaks, etc
This commit is contained in:
1 parent
aa4f6b6ddc
commit
c3f8f23c1d
124 files changed
+1060
-420
No files matched your search
@@ -40,6 +40,7 @@ import net.minecraft.client.gui.screen.ChatScreen;
|
||||
|
||||
public class Prestige implements ModInitializer {
|
||||
private static final AtomicBoolean initialized = new AtomicBoolean(false);
|
||||
private static final java.util.concurrent.atomic.AtomicInteger renderErrorCount = new java.util.concurrent.atomic.AtomicInteger();
|
||||
public static EventBus eventBus;
|
||||
public static FontManager fontManager;
|
||||
public static ModuleManager moduleManager;
|
||||
@@ -95,23 +96,31 @@ public class Prestige implements ModInitializer {
|
||||
.register(
|
||||
(RenderCallback)(hudRenderer, hudContext) -> {
|
||||
if (!selfDestructed) {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
if ((MinecraftAccess.mc.currentScreen == null || MinecraftAccess.mc.currentScreen instanceof ChatScreen)
|
||||
&& eventBus.hasListeners(Render2DEvent.class)) {
|
||||
new Render2DEvent((hudRenderer), (hudContext)).post();
|
||||
}
|
||||
try {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
if ((MinecraftAccess.mc.currentScreen == null || MinecraftAccess.mc.currentScreen instanceof ChatScreen)
|
||||
&& eventBus.hasListeners(Render2DEvent.class)) {
|
||||
new Render2DEvent((hudRenderer), (hudContext)).post();
|
||||
}
|
||||
|
||||
new FrameEvent((hudRenderer), (hudContext)).post();
|
||||
ShapeRenderer.flushDrawQueue();
|
||||
new FrameEvent((hudRenderer), (hudContext)).post();
|
||||
ShapeRenderer.flushDrawQueue();
|
||||
}
|
||||
} catch (Throwable error) {
|
||||
logRenderError(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
RenderEvents.WORLD_RENDER.register((RenderCallback)(worldRenderer, worldContext) -> {
|
||||
if (!selfDestructed) {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
Render2D.captureViewport();
|
||||
new Render3DEvent((worldRenderer), (worldContext)).post();
|
||||
try {
|
||||
if (MinecraftClient.getInstance().world != null && MinecraftClient.getInstance().player != null) {
|
||||
Render2D.captureViewport();
|
||||
new Render3DEvent((worldRenderer), (worldContext)).post();
|
||||
}
|
||||
} catch (Throwable error) {
|
||||
logRenderError(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -125,6 +134,12 @@ public class Prestige implements ModInitializer {
|
||||
}
|
||||
}
|
||||
|
||||
public static void logRenderError(Throwable error) {
|
||||
if (renderErrorCount.getAndIncrement() < 5) {
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean needsWorldRender() {
|
||||
return EspShaderManager.enabled || eventBus != null && eventBus.hasListeners(Render3DEvent.class);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user