mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 16:24:23 +01:00
Fixed some mixins crash
This commit is contained in:
parent
fcf90bc62c
commit
f59520aca8
3 changed files with 21 additions and 10 deletions
|
@ -6,4 +6,9 @@ public interface IRenderItem {
|
||||||
* Sets whether items should be rendered with transparency support.
|
* Sets whether items should be rendered with transparency support.
|
||||||
*/
|
*/
|
||||||
void useTransparency(boolean use);
|
void useTransparency(boolean use);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if this renderer is set to render models as a transparent overlay.
|
||||||
|
*/
|
||||||
|
boolean usesTransparency();
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,21 @@ public abstract class MixinItemRenderer implements SynchronousResourceReloadList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Inject(method = "renderItemAndGlow("
|
||||||
|
+ "Lnet/minecraft/item/ItemStack;"
|
||||||
|
+ "Lnet/minecraft/client/render/model/BakedModel;)V",
|
||||||
|
at = @At(value = "INVOKE",
|
||||||
|
target = "Lnet/minecraft/client/render/item/ItemRenderer;renderGlint("
|
||||||
|
+ "Lnet/minecraft/client/texture/TextureManager;"
|
||||||
|
+ "Ljava/lang/Runnable;I)V"),
|
||||||
|
cancellable = true)
|
||||||
|
private void beforeRenderEffect(ItemStack stack, BakedModel model, CallbackInfo info) {
|
||||||
|
if (transparency) {
|
||||||
|
info.cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ModifyArg(method = "renderQuads("
|
@ModifyArg(method = "renderQuads("
|
||||||
+ "Lnet/minecraft/client/render/BufferBuilder;"
|
+ "Lnet/minecraft/client/render/BufferBuilder;"
|
||||||
+ "Ljava/util/List;I"
|
+ "Ljava/util/List;I"
|
||||||
|
@ -46,14 +61,4 @@ public abstract class MixinItemRenderer implements SynchronousResourceReloadList
|
||||||
private int modifyItemRenderTint(int color) {
|
private int modifyItemRenderTint(int color) {
|
||||||
return transparency ? -1 : color;
|
return transparency ? -1 : color;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "renderEffect("
|
|
||||||
+ "Lnet/minecraft/client/render/model/BakedModel;)V",
|
|
||||||
at = @At("HEAD"),
|
|
||||||
cancellable = true)
|
|
||||||
private void renderEffect(BakedModel model, CallbackInfo info) {
|
|
||||||
if (transparency) {
|
|
||||||
info.cancel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,6 +148,7 @@ public class PonySkullRenderer extends SkullBlockEntityRenderer implements IRend
|
||||||
transparency = use;
|
transparency = use;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean usesTransparency() {
|
public boolean usesTransparency() {
|
||||||
return transparency;
|
return transparency;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue