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.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
version=1.15.5
version=1.16.0
minecraft_version=1.17.1
mcp_mappings=20201028-1.16.3
forge_version=37.1.1

View File

@ -315,13 +315,14 @@ public class RenderEvents
@SubscribeEvent
public void onRenderWorld(RenderWorldLastEvent event)
{
Level world = Minecraft.getInstance().level;
Minecraft mc = Minecraft.getInstance();
Level world = mc.level;
float partialticks = event.getPartialTicks();
BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder());
PoseStack matrix = event.getMatrixStack();
int light = 0;
int perspective = CarryRenderHelper.getPerspective();
EntityRenderDispatcher manager = Minecraft.getInstance().getEntityRenderDispatcher();
EntityRenderDispatcher manager = mc.getEntityRenderDispatcher();
RenderSystem.enableBlend();
RenderSystem.disableCull();
@ -329,7 +330,7 @@ public class RenderEvents
for (Player player : world.players())
{
if (perspective == 0 && player == Minecraft.getInstance().player)
if (perspective == 0 && player == mc.player)
continue;
light = manager.getPackedLightCoords(player, partialticks);
@ -344,7 +345,7 @@ public class RenderEvents
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);
if (carryOverride != null)
@ -358,13 +359,12 @@ public class RenderEvents
{
ItemStack s = new ItemStack(b, 1);
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);
// TODO: Fix block light
RenderSystem.enableCull();
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.renderer.MultiBufferSource;
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.nbt.CompoundTag;
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)
{
ItemRenderer renderer = Minecraft.getInstance().getItemRenderer();
if (ModelOverridesHandler.hasCustomOverrideModel(state, tag))
{
Object override = ModelOverridesHandler.getOverrideObject(state, tag);
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;
}
}
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")