Fixed block lighting

This commit is contained in:
Tschipp 2021-12-23 17:17:02 +01:00
parent ff15f45ea0
commit 6d85b42903
3 changed files with 12 additions and 9 deletions

View File

@ -1,7 +1,7 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties. # Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process. # This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G org.gradle.jvmargs=-Xmx3G
version=1.15.5 version=1.16.0
minecraft_version=1.17.1 minecraft_version=1.17.1
mcp_mappings=20201028-1.16.3 mcp_mappings=20201028-1.16.3
forge_version=37.1.1 forge_version=37.1.1

View File

@ -315,13 +315,14 @@ public class RenderEvents
@SubscribeEvent @SubscribeEvent
public void onRenderWorld(RenderWorldLastEvent event) public void onRenderWorld(RenderWorldLastEvent event)
{ {
Level world = Minecraft.getInstance().level; Minecraft mc = Minecraft.getInstance();
Level world = mc.level;
float partialticks = event.getPartialTicks(); float partialticks = event.getPartialTicks();
BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder()); BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder());
PoseStack matrix = event.getMatrixStack(); PoseStack matrix = event.getMatrixStack();
int light = 0; int light = 0;
int perspective = CarryRenderHelper.getPerspective(); int perspective = CarryRenderHelper.getPerspective();
EntityRenderDispatcher manager = Minecraft.getInstance().getEntityRenderDispatcher(); EntityRenderDispatcher manager = mc.getEntityRenderDispatcher();
RenderSystem.enableBlend(); RenderSystem.enableBlend();
RenderSystem.disableCull(); RenderSystem.disableCull();
@ -329,7 +330,7 @@ public class RenderEvents
for (Player player : world.players()) for (Player player : world.players())
{ {
if (perspective == 0 && player == Minecraft.getInstance().player) if (perspective == 0 && player == mc.player)
continue; continue;
light = manager.getPackedLightCoords(player, partialticks); light = manager.getPackedLightCoords(player, partialticks);
@ -344,7 +345,7 @@ public class RenderEvents
applyBlockTransformations(player, partialticks, matrix, block); applyBlockTransformations(player, partialticks, matrix, block);
BakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : tileItem.isEmpty() ? Minecraft.getInstance().getBlockRenderer().getBlockModel(state) : Minecraft.getInstance().getItemRenderer().getModel(tileItem, world, player, 0); BakedModel model = ModelOverridesHandler.hasCustomOverrideModel(state, tag) ? ModelOverridesHandler.getCustomOverrideModel(state, tag, world, player) : tileItem.isEmpty() ? mc.getBlockRenderer().getBlockModel(state) : mc.getItemRenderer().getModel(tileItem, world, player, 0);
CarryOnOverride carryOverride = ScriptChecker.getOverride(player); CarryOnOverride carryOverride = ScriptChecker.getOverride(player);
if (carryOverride != null) if (carryOverride != null)
@ -358,13 +359,12 @@ public class RenderEvents
{ {
ItemStack s = new ItemStack(b, 1); ItemStack s = new ItemStack(b, 1);
s.setTag(carryOverride.getRenderNBT()); s.setTag(carryOverride.getRenderNBT());
model = Minecraft.getInstance().getItemRenderer().getModel(s, world, player, 0); model = mc.getItemRenderer().getModel(s, world, player, 0);
} }
} }
} }
RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS); RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS);
// TODO: Fix block light
RenderSystem.enableCull(); RenderSystem.enableCull();
PoseStack.Pose p = matrix.last(); PoseStack.Pose p = matrix.last();

View File

@ -7,6 +7,8 @@ import com.mojang.math.Vector3f;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType; import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
@ -58,18 +60,19 @@ public class CarryRenderHelper
public static void renderItem(BlockState state, CompoundTag tag, ItemStack stack, ItemStack tileStack, PoseStack matrix, MultiBufferSource buffer, int light, BakedModel model) public static void renderItem(BlockState state, CompoundTag tag, ItemStack stack, ItemStack tileStack, PoseStack matrix, MultiBufferSource buffer, int light, BakedModel model)
{ {
ItemRenderer renderer = Minecraft.getInstance().getItemRenderer();
if (ModelOverridesHandler.hasCustomOverrideModel(state, tag)) if (ModelOverridesHandler.hasCustomOverrideModel(state, tag))
{ {
Object override = ModelOverridesHandler.getOverrideObject(state, tag); Object override = ModelOverridesHandler.getOverrideObject(state, tag);
if (override instanceof ItemStack) if (override instanceof ItemStack)
{ {
Minecraft.getInstance().getItemRenderer().render((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); renderer.render((ItemStack) override, TransformType.NONE, false, matrix, buffer, light, OverlayTexture.NO_OVERLAY, model);
return; return;
} }
} }
Minecraft.getInstance().getItemRenderer().render(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, 0xFFFFFF, model); renderer.render(tileStack.isEmpty() ? stack : tileStack, TransformType.NONE, false, matrix, buffer, light, OverlayTexture.NO_OVERLAY, model);
} }
@SuppressWarnings("resource") @SuppressWarnings("resource")