diff --git a/build.gradle b/build.gradle index 021953b..2ea9e8a 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' group = 'com.buuz135' -version = '1.18.2-0.0.15' +version = '1.18.2-0.0.16' java { archivesBaseName = 'functionalstorage' diff --git a/src/main/java/com/buuz135/functionalstorage/block/tile/DrawerTile.java b/src/main/java/com/buuz135/functionalstorage/block/tile/DrawerTile.java index f415296..94a3341 100644 --- a/src/main/java/com/buuz135/functionalstorage/block/tile/DrawerTile.java +++ b/src/main/java/com/buuz135/functionalstorage/block/tile/DrawerTile.java @@ -18,6 +18,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraftforge.common.capabilities.Capability; @@ -127,4 +128,5 @@ public class DrawerTile extends ControllableDrawerTile { public BigInventoryHandler getHandler() { return handler; } + } diff --git a/src/main/java/com/buuz135/functionalstorage/client/CompactingDrawerRenderer.java b/src/main/java/com/buuz135/functionalstorage/client/CompactingDrawerRenderer.java index 424dbd5..ff26e5e 100644 --- a/src/main/java/com/buuz135/functionalstorage/client/CompactingDrawerRenderer.java +++ b/src/main/java/com/buuz135/functionalstorage/client/CompactingDrawerRenderer.java @@ -32,6 +32,9 @@ public class CompactingDrawerRenderer implements BlockEntityRenderer { @Override public void render(DrawerTile tile, float partialTicks, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int combinedOverlayIn) { + if (Minecraft.getInstance().player != null && !tile.getBlockPos().closerThan(Minecraft.getInstance().player.getOnPos(), FunctionalStorageClientConfig.DRAWER_RENDER_RANGE)){ + return; + } matrixStack.pushPose(); Direction facing = tile.getFacingDirection(); diff --git a/src/main/java/com/buuz135/functionalstorage/client/EnderDrawerRenderer.java b/src/main/java/com/buuz135/functionalstorage/client/EnderDrawerRenderer.java index 2df72e5..66702d1 100644 --- a/src/main/java/com/buuz135/functionalstorage/client/EnderDrawerRenderer.java +++ b/src/main/java/com/buuz135/functionalstorage/client/EnderDrawerRenderer.java @@ -38,6 +38,9 @@ public class EnderDrawerRenderer implements BlockEntityRenderer @Override public void render(EnderDrawerTile tile, float partialTicks, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int combinedOverlayIn) { + if (Minecraft.getInstance().player != null && !tile.getBlockPos().closerThan(Minecraft.getInstance().player.getOnPos(), FunctionalStorageClientConfig.DRAWER_RENDER_RANGE)){ + return; + } matrixStack.pushPose(); Direction facing = tile.getFacingDirection(); diff --git a/src/main/java/com/buuz135/functionalstorage/client/FunctionalStorageClientConfig.java b/src/main/java/com/buuz135/functionalstorage/client/FunctionalStorageClientConfig.java new file mode 100644 index 0000000..804c41f --- /dev/null +++ b/src/main/java/com/buuz135/functionalstorage/client/FunctionalStorageClientConfig.java @@ -0,0 +1,12 @@ +package com.buuz135.functionalstorage.client; + +import com.hrznstudio.titanium.annotation.config.ConfigFile; +import com.hrznstudio.titanium.annotation.config.ConfigVal; + +@ConfigFile(value = "functionalstorage-client") +public class FunctionalStorageClientConfig { + + @ConfigVal(comment = "Drawer content render range in blocks") + @ConfigVal.InRangeInt(min = 1) + public static int DRAWER_RENDER_RANGE = 16; +}