Skip to content

Commit

Permalink
Fixed Every Crashes & Java Checker Fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
Aspw-w committed Mar 13, 2024
1 parent 596a46e commit 82679a7
Show file tree
Hide file tree
Showing 9 changed files with 227 additions and 186 deletions.
5 changes: 2 additions & 3 deletions src/main/java/net/aspw/client/Launch.kt
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,8 @@ object Launch {

private var lastTick: Long = 0L

private val allowJavaRange = 181..Int.MAX_VALUE
private var javaVersion = System.getProperty("java.version")
var useAltManager = javaVersion in "1.8.0_$allowJavaRange" && MinecraftInstance.mc.isJava64bit
private var javaVersion = System.getProperty("java.version").substring(6, 9).toInt()
var useAltManager = javaVersion >= 181 && MinecraftInstance.mc.isJava64bit

// Discord RPC
lateinit var discordRPC: DiscordRPC
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public class PacketManager extends MinecraftInstance implements Listenable {
public static boolean shouldStopRender(Entity entity) {
return (EntityUtils.isMob(entity) ||
EntityUtils.isAnimal(entity) ||
entity.isInvisible() ||
entity instanceof EntityBoat ||
entity instanceof EntityMinecart ||
entity instanceof EntityItemFrame ||
Expand Down
335 changes: 174 additions & 161 deletions src/main/java/net/aspw/client/features/module/impl/visual/Interface.kt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,10 @@ private void clearLoadedMaps(WorldClient worldClientIn, String loadingMessage, C
)
private void clearRenderCache(CallbackInfo ci) {
//noinspection ResultOfMethodCallIgnored
MinecraftForgeClient.getRenderPass(); // Ensure class is loaded, strange accessor issue
MinecraftForgeClient.getRenderPass();
MinecraftForgeClientAccessor.getRegionCache().invalidateAll();
MinecraftForgeClientAccessor.getRegionCache().cleanUp();
Runtime.getRuntime().gc();
}

@Redirect(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,20 @@ private void actionPerformed(GuiButton button, CallbackInfo callbackInfo) {

@Inject(method = "drawScreen", at = @At("RETURN"))
private void drawScreen(CallbackInfo callbackInfo) {
final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion();
try {
final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion();

Fonts.minecraftFont.drawStringWithShadow("§7Username: §d" + mc.getSession().getUsername(), 6f, 6f, 0xffffff);
Fonts.minecraftFont.drawStringWithShadow("§7Username: §d" + mc.getSession().getUsername(), 6f, 6f, 0xffffff);

if (!MinecraftInstance.mc.isIntegratedServerRunning())
Fonts.minecraftFont.drawStringWithShadow("§7Protocol: §d" + version.getName(), 6f, 16f, 0xffffff);
else Fonts.minecraftFont.drawStringWithShadow("§7Protocol: §d1.8.x", 6f, 16f, 0xffffff);
if (!MinecraftInstance.mc.isIntegratedServerRunning())
Fonts.minecraftFont.drawStringWithShadow("§7Protocol: §d" + version.getName(), 6f, 16f, 0xffffff);
else Fonts.minecraftFont.drawStringWithShadow("§7Protocol: §d1.8.x", 6f, 16f, 0xffffff);

Fonts.minecraftFont.drawStringWithShadow("§7Ping: §d" + mc.getNetHandler().getPlayerInfo(mc.thePlayer.getUniqueID()).getResponseTime() + "ms", 6f, 26f, 0xffffff);
Fonts.minecraftFont.drawStringWithShadow("§7Ping: §d" + mc.getNetHandler().getPlayerInfo(mc.thePlayer.getUniqueID()).getResponseTime() + "ms", 6f, 26f, 0xffffff);

Fonts.minecraftFont.drawStringWithShadow("§7Packets Sent: §d" + PacketManager.sendPacketCounts, 6f, 36f, 0xffffff);
Fonts.minecraftFont.drawStringWithShadow("§7Packets Received: §d" + PacketManager.receivePacketCounts, 6f, 46f, 0xffffff);
Fonts.minecraftFont.drawStringWithShadow("§7Packets Sent: §d" + PacketManager.sendPacketCounts, 6f, 36f, 0xffffff);
Fonts.minecraftFont.drawStringWithShadow("§7Packets Received: §d" + PacketManager.receivePacketCounts, 6f, 46f, 0xffffff);
} catch (final Exception ignored) {
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,10 @@
import net.aspw.client.event.EntityMovementEvent;
import net.aspw.client.event.TeleportEvent;
import net.aspw.client.utils.MinecraftInstance;
import net.aspw.client.visual.client.clickgui.dropdown.ClickGui;
import net.aspw.client.visual.client.clickgui.tab.NewUi;
import net.minecraft.client.ClientBrandRetriever;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityOtherPlayerMP;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.gui.GuiDownloadTerrain;
import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.client.multiplayer.WorldClient;
Expand Down Expand Up @@ -110,12 +107,6 @@ private void handleSpawnPlayer(S0CPacketSpawnPlayer packetIn, CallbackInfo callb
callbackInfo.cancel();
}

@Inject(method = "handleCloseWindow", at = @At("HEAD"), cancellable = true)
private void handleCloseWindow(final S2EPacketCloseWindow packetIn, final CallbackInfo callbackInfo) {
if (this.gameController.currentScreen instanceof GuiChat || this.gameController.currentScreen instanceof NewUi || this.gameController.currentScreen instanceof ClickGui)
callbackInfo.cancel();
}

@Inject(method = "handleJoinGame", at = @At("HEAD"), cancellable = true)
private void handleJoinGameWithAntiForge(S01PacketJoinGame packetIn, final CallbackInfo callbackInfo) {
if (MinecraftInstance.mc.isIntegratedServerRunning())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@

import java.util.Objects;

/**
* The type Mixin tile entity renderer dispatcher.
*/
@Mixin(TileEntityRendererDispatcher.class)
public class MixinTileEntityRendererDispatcher {

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package net.aspw.client.injection.forge.mixins.tweaks;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.RegionRenderCache;
import net.minecraft.util.BlockPos;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

@Mixin(RegionRenderCache.class)
public class MixinRegionRenderCache {
@Shadow
@Final
private static IBlockState DEFAULT_STATE;

@Shadow
private IBlockState[] blockStates;

@Inject(
method = "getBlockState",
at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/RegionRenderCache;blockStates:[Lnet/minecraft/block/state/IBlockState;", ordinal = 0, shift = At.Shift.AFTER),
locals = LocalCapture.CAPTURE_FAILSOFT,
cancellable = true
)
private void connectedTexturesBoundsCheck(BlockPos pos, CallbackInfoReturnable<IBlockState> cir, int positionIndex) {
if (positionIndex < 0 || positionIndex >= this.blockStates.length) {
cir.setReturnValue(DEFAULT_STATE);
}
}
}
4 changes: 3 additions & 1 deletion src/main/resources/client.forge.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@
"render.MixinRendererLivingEntity",
"render.MixinRenderItem",
"render.MixinRenderPlayer",
"render.MixinTileEntityRendererDispatcher",
"render.MixinVisGraph",
"tweaks.MixinAnvilChunkLoader"
"tweaks.MixinAnvilChunkLoader",
"tweaks.MixinRegionRenderCache"
]
}

0 comments on commit 82679a7

Please sign in to comment.