Skip to content

Commit

Permalink
fix fabric
Browse files Browse the repository at this point in the history
  • Loading branch information
Wyvest committed Feb 3, 2025
1 parent bc54237 commit 5d38004
Show file tree
Hide file tree
Showing 6 changed files with 102 additions and 3 deletions.
2 changes: 2 additions & 0 deletions root.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ preprocess {
"1.8.9-forge"(10809, "srg") {
"1.8.9-fabric"(10809, "yarn")
}

strictExtraMappings.set(true)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import org.polyfrost.polynametag.NametagRenderer;
import org.polyfrost.polynametag.PolyNametag;
import org.polyfrost.polynametag.PolyNametagConfig;
import org.polyfrost.polynametag.render.GlHelperHook;
import org.polyfrost.polynametag.render.NametagRenderingKt;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
Expand Down Expand Up @@ -140,7 +140,7 @@ private void move(Entity entityIn, String str, double x, double y, double z, int
private void essential(Entity entityIn, String str, double x, double y, double z, int maxDistance, CallbackInfo ci) {
if (!PolyNametagConfig.INSTANCE.getEnabled()) return;
if (PolyNametag.INSTANCE.isEssential() && NametagRenderer.isDrawingIndicator()) {
NametagRenderer.INSTANCE.drawIndicator(entityIn, str, (((int) OpenGlHelper.lastBrightnessY) << 16) + (int) OpenGlHelper.lastBrightnessX);
NametagRenderer.INSTANCE.drawIndicator(entityIn, str, (((int) GlHelperHook.INSTANCE.getLastBrightnessY()) << 16) + (int) GlHelperHook.INSTANCE.getLastBrightnessX());
NametagRenderer.setDrawingIndicator(false);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.polyfrost.polynametag.NametagRenderer;
import org.polyfrost.polynametag.PolyNametag;
import org.polyfrost.polynametag.PolyNametagConfig;
import org.polyfrost.polynametag.render.GlHelperHook;
import org.polyfrost.polynametag.render.NametagRenderingKt;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
Expand Down Expand Up @@ -145,7 +146,7 @@ private void essential(EntityLivingBase entity, double x, double y, double z, Ca
}

if (PolyNametag.INSTANCE.isEssential() && NametagRenderer.isDrawingIndicator()) {
NametagRenderer.INSTANCE.drawIndicator(entity, entity.getDisplayName().getFormattedText(), (((int) OpenGlHelper.lastBrightnessY) << 16) + (int) OpenGlHelper.lastBrightnessX);
NametagRenderer.INSTANCE.drawIndicator(entity, entity.getDisplayName().getFormattedText(), (((int) GlHelperHook.INSTANCE.getLastBrightnessY()) << 16) + (int) GlHelperHook.INSTANCE.getLastBrightnessX());
NametagRenderer.setDrawingIndicator(false);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package org.polyfrost.polynametag

import org.objectweb.asm.tree.ClassNode
import org.polyfrost.oneconfig.api.platform.v1.LoaderPlatform.Loaders
import org.polyfrost.oneconfig.api.platform.v1.Platform
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin
import org.spongepowered.asm.mixin.extensibility.IMixinInfo


class PolyNametagMixinPlugin : IMixinConfigPlugin {
override fun onLoad(mixinPackage: String?) {}
override fun getRefMapperConfig(): String? {
return null
}

override fun shouldApplyMixin(targetClassName: String?, mixinClassName: String?): Boolean {
return true
}

override fun acceptTargets(myTargets: Set<String>?, otherTargets: Set<String>?) {}
override fun getMixins(): List<String> {
val mixins: MutableList<String> = ArrayList()
val loader = Platform.loader().loader
val version = Platform.loader().minecraftVersion
if (loader == Loaders.FABRIC || version > 11202) { //todo idk what happens for this after 1.12 lol
mixins.add("GLXMixin_LastBrightness")
}
return mixins
}

override fun preApply(
targetClassName: String,
targetClass: ClassNode,
mixinClassName: String,
mixinInfo: IMixinInfo
) {
}

override fun postApply(
targetClassName: String,
targetClass: ClassNode,
mixinClassName: String,
mixinInfo: IMixinInfo
) {
}
}
24 changes: 24 additions & 0 deletions src/main/kotlin/org/polyfrost/polynametag/render/GlHelperHook.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.polyfrost.polynametag.render

import net.minecraft.client.renderer.OpenGlHelper

object GlHelperHook {
var lastBrightnessX
//#if MC<=11202 && FORGE
get() = OpenGlHelper.lastBrightnessX
set(value) {
OpenGlHelper.lastBrightnessX = value
}
//#else
//$$ = 0F
//#endif
var lastBrightnessY
//#if MC<=11202 && FORGE
get() = OpenGlHelper.lastBrightnessY
set(value) {
OpenGlHelper.lastBrightnessY = value
}
//#else
//$$ = 0F
//#endif
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.polyfrost.polynametag.mixin;

//#if FABRIC || MC > 1.12.2

import com.mojang.blaze3d.platform.GLX;
import org.polyfrost.polynametag.render.GlHelperHook;
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.CallbackInfo;

@Mixin(GLX.class)
public class GLXMixin_LastBrightness {

@Shadow public static int lightmapTextureUnit;

@Inject(method = "gl13MultiTexCoord2f", at = @At("TAIL"))
private static void setLastBrightness(int i, float f1, float f2, CallbackInfo ci) {
if (i == lightmapTextureUnit) {
GlHelperHook.INSTANCE.setLastBrightnessX(f1);
GlHelperHook.INSTANCE.setLastBrightnessY(f2);
}
}
}
//#endif

0 comments on commit 5d38004

Please sign in to comment.