File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
java/org/embeddedt/modernfix/common/mixin/bugfix/ender_dragon_leak Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change 1+ package org .embeddedt .modernfix .common .mixin .bugfix .ender_dragon_leak ;
2+
3+ import net .minecraft .client .renderer .entity .EnderDragonRenderer ;
4+ import org .embeddedt .modernfix .annotation .ClientOnlyMixin ;
5+ import org .spongepowered .asm .mixin .Final ;
6+ import org .spongepowered .asm .mixin .Mixin ;
7+ import org .spongepowered .asm .mixin .Shadow ;
8+ import org .spongepowered .asm .mixin .injection .At ;
9+ import org .spongepowered .asm .mixin .injection .Inject ;
10+ import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
11+
12+ @ Mixin (EnderDragonRenderer .class )
13+ @ ClientOnlyMixin
14+ public abstract class EnderDragonRendererMixin {
15+ @ Shadow @ Final private EnderDragonRenderer .DragonModel model ;
16+
17+ /**
18+ * Prevent leaking the client world through the entity reference.
19+ */
20+ @ Inject (method = "render(Lnet/minecraft/world/entity/boss/enderdragon/EnderDragon;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V" , at = @ At ("RETURN" ))
21+ private void clearDragonEntityReference (CallbackInfo ci ) {
22+ this .model .entity = null ;
23+ }
24+ }
Original file line number Diff line number Diff line change @@ -34,3 +34,4 @@ accessible field net/minecraft/client/renderer/block/model/multipart/MultiPart d
3434accessible field net/minecraft/server/packs/resources/MultiPackResourceManager namespacedManagers Ljava/util/Map;
3535accessible field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel;
3636mutable field net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride model Lnet/minecraft/client/resources/model/BakedModel;
37+ accessible field net/minecraft/client/renderer/entity/EnderDragonRenderer$DragonModel entity Lnet/minecraft/world/entity/boss/enderdragon/EnderDragon;
You can’t perform that action at this time.
0 commit comments