Skip to content

Commit 6fa207d

Browse files
chore: Update some injections for MixinRenderItem
1 parent 9e9f276 commit 6fa207d

File tree

5 files changed

+79
-15
lines changed

5 files changed

+79
-15
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* Skytils - Hypixel Skyblock Quality of Life Mod
3+
* Copyright (C) 2020-2025 Skytils
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU Affero General Public License as published
7+
* by the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU Affero General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Affero General Public License
16+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
17+
*/
18+
19+
package gg.skytils.skytilsmod.mixins.transformers.renderer;
20+
21+
import gg.skytils.skytilsmod.mixins.hooks.renderer.RenderItemHookKt;
22+
import net.minecraft.client.gui.DrawContext;
23+
import net.minecraft.item.ItemStack;
24+
import org.spongepowered.asm.mixin.Mixin;
25+
import org.spongepowered.asm.mixin.injection.At;
26+
import org.spongepowered.asm.mixin.injection.Inject;
27+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
28+
29+
@Mixin(DrawContext.class)
30+
public abstract class MixinDrawContext {
31+
@Inject(method = "drawItem(Lnet/minecraft/item/ItemStack;II)V", at = @At("HEAD"))
32+
private void onDrawItemHead(ItemStack item, int x, int y, CallbackInfo ci) {
33+
RenderItemHookKt.renderRarity(item, x, y, ci);
34+
}
35+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Skytils - Hypixel Skyblock Quality of Life Mod
3+
* Copyright (C) 2020-2025 Skytils
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU Affero General Public License as published
7+
* by the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU Affero General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Affero General Public License
16+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
17+
*/
18+
19+
package gg.skytils.skytilsmod.mixins.transformers.renderer;
20+
21+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
22+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
23+
import gg.skytils.skytilsmod.mixins.hooks.renderer.RenderItemHookKt;
24+
import net.minecraft.client.render.item.ItemRenderState;
25+
import net.minecraft.client.render.item.model.BasicItemModel;
26+
import net.minecraft.client.render.item.model.SpecialItemModel;
27+
import org.spongepowered.asm.mixin.Mixin;
28+
import org.spongepowered.asm.mixin.injection.At;
29+
30+
@Mixin(value = { BasicItemModel.class, SpecialItemModel.class })
31+
public abstract class MixinItemModel {
32+
@WrapOperation(method = "update", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderState$LayerRenderState;setGlint(Lnet/minecraft/client/render/item/ItemRenderState$Glint;)V"))
33+
private void onUpdateGlint(ItemRenderState.LayerRenderState instance, ItemRenderState.Glint glint, Operation<Void> original) {
34+
if (RenderItemHookKt.getSkipGlint()) {
35+
original.call(instance, ItemRenderState.Glint.NONE);
36+
return;
37+
}
38+
39+
original.call(instance, glint);
40+
}
41+
}

mod/src/main/java/gg/skytils/skytilsmod/mixins/transformers/renderer/MixinRenderItem.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
package gg.skytils.skytilsmod.mixins.transformers.renderer;
2020

2121
import gg.skytils.skytilsmod.mixins.hooks.renderer.RenderItemHookKt;
22-
import net.minecraft.client.TextRenderer;
2322
import net.minecraft.client.render.item.ItemRenderer;
2423
import net.minecraft.client.render.model.BlockStateModel;
2524
import net.minecraft.item.ItemStack;
@@ -30,11 +29,6 @@
3029

3130
@Mixin(ItemRenderer.class)
3231
public abstract class MixinRenderItem {
33-
@Inject(method = "method_4021", at = @At("HEAD"))
34-
private void renderRarity(ItemStack stack, int x, int y, CallbackInfo ci) {
35-
RenderItemHookKt.renderRarity(stack, x, y, ci);
36-
}
37-
3832
@Inject(method = "renderItemAndGlow(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/BlockStateModel;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;method_4384(FFF)V", shift = At.Shift.AFTER))
3933
private void renderItemPre(ItemStack stack, BlockStateModel model, CallbackInfo ci) {
4034
RenderItemHookKt.renderItemPre(stack, model, ci);
@@ -44,12 +38,4 @@ private void renderItemPre(ItemStack stack, BlockStateModel model, CallbackInfo
4438
private void modifyGlintRendering(ItemStack stack, BlockStateModel model, CallbackInfo ci) {
4539
RenderItemHookKt.modifyGlintRendering(stack, model, ci);
4640
}
47-
48-
@Inject(method = "method_4011", at = @At("HEAD"), cancellable = true)
49-
public void onRenderEffect(CallbackInfo ci) {
50-
if (RenderItemHookKt.getSkipGlint()) {
51-
ci.cancel();
52-
}
53-
}
54-
5541
}

mod/src/main/kotlin/gg/skytils/skytilsmod/mixins/hooks/renderer/RenderItemHook.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import net.minecraft.item.ItemStack
3737
import net.minecraft.util.Identifier
3838
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
3939

40-
val RES_ITEM_GLINT = Identifier("textures/misc/enchanted_item_glint.png")
40+
val RES_ITEM_GLINT = Identifier.of("textures/misc/enchanted_item_glint.png")
4141

4242
var skipGlint = false
4343

mod/src/main/resources/mixins.skytils.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,12 @@
4545
"particle.MixinEffectRenderer",
4646
"patcher.MixinHUDCaching",
4747
"renderer.MixinBlockRendererDispatcher",
48+
"renderer.MixinDrawContext",
4849
"renderer.MixinEntityRenderer",
4950
"renderer.MixinEquipmentRenderer",
5051
"renderer.MixinInGameOverlayRenderer",
5152
"renderer.MixinInventoryEffectRenderer",
53+
"renderer.MixinItemModel",
5254
"renderer.MixinItemRenderer",
5355
"renderer.MixinLayerArmorBase",
5456
"renderer.MixinLayerCape",

0 commit comments

Comments
 (0)