Skip to content

Commit

Permalink
Compatible with forge 1.15.2-31.1.89.
Browse files Browse the repository at this point in the history
  • Loading branch information
ZekerZhayard committed May 15, 2020
1 parent 512ba81 commit 8cc058c
Show file tree
Hide file tree
Showing 6 changed files with 103 additions and 7 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OptiForge ([CurseForge](https://www.curseforge.com/minecraft/mc-mods/optiforge))

*Compatibility: (2020-05-04)*
 *OptiForge-0.1.17*
 *Forge-1.15.2-31.1.70 or newer version*
*Compatibility: (2020-05-15)*
 *OptiForge-0.1.18*
 *Forge-1.15.2-31.1.89 or newer version*
 *OptiFine-1.15.2-G1-pre15 or newer version*

## How to Use
Expand Down Expand Up @@ -30,7 +30,7 @@ I recommend installing [MoreCrashInfo](https://github.com/xfl03/MoreCrashInfo/re
*2. OptiFineDevTweaker will dump all deobfuscated OptiFine classes to `./run/.optifineDev.classes` folder.*
*3. There are some useful Mixin properties for debugging: [Mixin Java System Properties](https://github.com/SpongePowered/Mixin/wiki/Mixin-Java-System-Properties)*
*I recommend you add `-Dmixin.debug.export=true`, it can dump all mixed classes to `./run/.mixin.out/class` folder.*
*4. The recommended mcp mappings version is `snapshot_20200503-1.15.1`*
*4. The recommended mcp mappings version is `snapshot_20200515-1.15.1`*

## Screenshots
![OF0.png](https://i.loli.net/2020/03/31/IBfv1ShQt7wVY2u.png)
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.1.17
mod_version=0.1.18
# G1_pre15
optifine_version=7.1.15
minecraft_version=1.15.2
forge_version=31.1.70
forge_version=31.1.89
forge_gradle_version=3.0.170
mcp_mappings=20200503-1.15.1
mcp_mappings=20200515-1.15.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package io.github.zekerzhayard.optiforge.asm.mixins.net.minecraft.client.gui.screen;

import net.minecraft.client.gui.screen.MainMenuScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.client.ForgeHooksClient;
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.Coerce;
import org.spongepowered.asm.mixin.injection.Redirect;

@Mixin(MainMenuScreen.class)
public abstract class MixinMainMenuScreen extends Screen {
@Shadow
private String splashText;

private MixinMainMenuScreen(ITextComponent titleIn) {
super(titleIn);
}

@Redirect(
method = "Lnet/minecraft/client/gui/screen/MainMenuScreen;render(IIF)V",
at = @At(
value = "INVOKE",
target = "Lnet/optifine/reflect/ReflectorMethod;exists()Z",
ordinal = 0,
remap = false
),
require = 1,
allow = 1
)
private boolean redirect$render$0(@Coerce Object method) {
return true;
}

@Redirect(
method = "Lnet/minecraft/client/gui/screen/MainMenuScreen;render(IIF)V",
at = @At(
value = "INVOKE",
target = "Lnet/optifine/reflect/Reflector;callString(Lnet/optifine/reflect/ReflectorMethod;[Ljava/lang/Object;)Ljava/lang/String;",
remap = false
),
require = 1,
allow = 1
)
private String redirect$render$1(@Coerce Object method, Object[] params) {
ForgeHooksClient.renderMainMenu((MainMenuScreen) params[0], this.font, (int) params[2], (int) params[3]);
return this.splashText;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package io.github.zekerzhayard.optiforge.asm.mixins.net.minecraft.client.renderer.texture;

import java.util.stream.Stream;

import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.profiler.IProfiler;
import net.minecraft.resources.IResourceManager;
import net.minecraft.util.ResourceLocation;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;

@Mixin(AtlasTexture.class)
public abstract class MixinAtlasTexture {
@ModifyVariable(
method = "Lnet/minecraft/client/renderer/texture/AtlasTexture;stitch(Lnet/minecraft/resources/IResourceManager;Ljava/util/stream/Stream;Lnet/minecraft/profiler/IProfiler;I)Lnet/minecraft/client/renderer/texture/AtlasTexture$SheetData;",
at = @At(
value = "INVOKE_ASSIGN",
target = "Lnet/minecraft/util/math/MathHelper;log2(I)I",
ordinal = 2
),
index = 14,
require = 1,
allow = 1
)
private int modifyVariable$stitch$0(int j1, IResourceManager resourceManagerIn, Stream<ResourceLocation> resourceLocationsIn, IProfiler profilerIn, int maxMipmapLevelIn) {
return maxMipmapLevelIn;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,20 @@ public abstract class MixinChunkManager {
@Shadow
private ServerWorld world;

@Redirect(
method = "Lnet/minecraft/world/server/ChunkManager;lambda$func_223172_f$14(Lnet/minecraft/util/math/ChunkPos;)Lcom/mojang/datafixers/util/Either;",
at = @At(
value = "INVOKE",
target = "Lnet/optifine/reflect/ReflectorConstructor;exists()Z"
),
remap = false,
require = 1,
allow = 1
)
private boolean redirect$lambda$func_223172_f$14$0(@Coerce Object constructor) {
return false;
}

@Redirect(
method = "Lnet/minecraft/world/server/ChunkManager;func_219229_a(Lnet/minecraft/world/chunk/IChunk;)Z",
at = @At(
Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/mixins.optiforge.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"package": "io.github.zekerzhayard.optiforge.asm.mixins",
"client": [
"com.mojang.blaze3d.vertex.MixinIVertexBuilder",
"net.minecraft.client.gui.screen.MixinMainMenuScreen",
"net.minecraft.client.renderer.MixinBlockRendererDispatcher",
"net.minecraft.client.renderer.MixinOverlayRenderer",
"net.minecraft.client.renderer.MixinWorldRenderer",
Expand All @@ -13,6 +14,7 @@
"net.minecraft.client.renderer.entity.MixinLivingRenderer",
"net.minecraft.client.renderer.model.MixinBakedQuad",
"net.minecraft.client.renderer.model.MixinFaceBakery",
"net.minecraft.client.renderer.texture.MixinAtlasTexture",
"net.minecraft.client.renderer.texture.MixinStitcher",
"net.minecraft.entity.MixinMobEntity",
"net.minecraft.network.datasync.MixinEntityDataManager",
Expand Down

0 comments on commit 8cc058c

Please sign in to comment.