From e68553e2d286517c9c8cd32a070aede1becce0e8 Mon Sep 17 00:00:00 2001 From: Tschipp <11649893+Tschipp@users.noreply.github.com> Date: Sun, 19 Nov 2023 23:00:43 +0100 Subject: [PATCH] Fixed memory leak, updated blacklist --- .../client/render/CarriedObjectRender.java | 16 +++++++++------- .../carryon/common/config/CarryConfig.java | 4 ++-- .../tschipp/carryon/events/CommonEvents.java | 1 + 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java b/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java index b94f477..18b9738 100644 --- a/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java +++ b/Common/src/main/java/tschipp/carryon/client/render/CarriedObjectRender.java @@ -35,6 +35,14 @@ import java.util.Optional; public class CarriedObjectRender { + private static Map builders = Map.of( + RenderType.glint(), new BufferBuilder(RenderType.glint().bufferSize()), + RenderType.glintDirect(), new BufferBuilder(RenderType.glintDirect().bufferSize()), + RenderType.glintTranslucent(), new BufferBuilder(RenderType.glintTranslucent().bufferSize()), + RenderType.entityGlint(), new BufferBuilder(RenderType.entityGlint().bufferSize()), + RenderType.entityGlintDirect(), new BufferBuilder(RenderType.entityGlintDirect().bufferSize()) + ); + public static boolean drawFirstPerson(Player player, MultiBufferSource buffer, PoseStack matrix, int light, float partialTicks) { if(Services.PLATFORM.isModLoaded("firstperson") || Services.PLATFORM.isModLoaded("firstpersonmod")) @@ -159,13 +167,7 @@ public class CarriedObjectRender RenderSystem.enableBlend(); RenderSystem.disableCull(); RenderSystem.disableDepthTest(); - Map builders = Map.of( - RenderType.glint(), new BufferBuilder(RenderType.glint().bufferSize()), - RenderType.glintDirect(), new BufferBuilder(RenderType.glintDirect().bufferSize()), - RenderType.glintTranslucent(), new BufferBuilder(RenderType.glintTranslucent().bufferSize()), - RenderType.entityGlint(), new BufferBuilder(RenderType.entityGlint().bufferSize()), - RenderType.entityGlintDirect(), new BufferBuilder(RenderType.entityGlintDirect().bufferSize()) - ); + BufferSource buffer = MultiBufferSource.immediateWithBuffers(builders, Tesselator.getInstance().getBuilder()); for (Player player : level.players()) diff --git a/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java b/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java index dd3deb3..78548c1 100644 --- a/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java +++ b/Common/src/main/java/tschipp/carryon/common/config/CarryConfig.java @@ -242,7 +242,7 @@ public class CarryConfig "mekanismgenerators:wind_generator", "cookingforblockheads:cabinet", "cookingforblockheads:corner", "cookingforblockheads:counter", "cookingforblockheads:oven", "cookingforblockheads:toaster", "cookingforblockheads:milk_jar", "cookingforblockheads:cow_jar", "cookingforblockheads:fruit_basket", "cookingforblockheads:cooking_table", "cookingforblockheads:fridge", "cookingforblockheads:sink", - "powah:*" + "powah:*", "advancementtrophies:trophy", "mekanismgenerators:heat_generator", "mna:filler_block" }; @Property( @@ -255,7 +255,7 @@ public class CarryConfig "minecraft:item_frame", "minecraft:painting", "minecraft:shulker_bullet", "animania:hamster", "animania:ferret*", "animania:hedgehog*", "animania:cart", "animania:wagon", "mynko:*", "pixelmon:*", "mocreatures:*", "quark:totem", "vehicle:*", - "securitycraft:*", "taterzens:npc", "easy_npc:*" + "securitycraft:*", "taterzens:npc", "easy_npc:*", "bodiesbodies:dead_body" }; @Property( diff --git a/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java b/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java index 29018c9..de6c2d9 100644 --- a/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java +++ b/Forge/src/main/java/tschipp/carryon/events/CommonEvents.java @@ -8,6 +8,7 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; +import net.minecraft.world.level.ServerLevelAccessor; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.BlockSnapshot; import net.minecraftforge.event.AddReloadListenerEvent;