用更诡异的方式修复渲染问题
This commit is contained in:
parent
0fcfdee2ee
commit
72babcffe1
2 changed files with 41 additions and 3 deletions
|
@ -1,7 +1,10 @@
|
|||
package com.atsuishio.superbwarfare.client;
|
||||
|
||||
import com.atsuishio.superbwarfare.client.overlay.*;
|
||||
import com.atsuishio.superbwarfare.client.renderer.block.*;
|
||||
import com.atsuishio.superbwarfare.client.renderer.block.ChargingStationBlockEntityRenderer;
|
||||
import com.atsuishio.superbwarfare.client.renderer.block.ContainerBlockEntityRenderer;
|
||||
import com.atsuishio.superbwarfare.client.renderer.block.FuMO25BlockEntityRenderer;
|
||||
import com.atsuishio.superbwarfare.client.renderer.block.SmallContainerBlockEntityRenderer;
|
||||
import com.atsuishio.superbwarfare.client.tooltip.*;
|
||||
import com.atsuishio.superbwarfare.client.tooltip.component.*;
|
||||
import com.atsuishio.superbwarfare.init.ModBlockEntities;
|
||||
|
@ -33,7 +36,6 @@ public class ClientRenderHandler {
|
|||
event.registerBlockEntityRenderer(ModBlockEntities.CONTAINER.get(), context -> new ContainerBlockEntityRenderer());
|
||||
event.registerBlockEntityRenderer(ModBlockEntities.FUMO_25.get(), context -> new FuMO25BlockEntityRenderer());
|
||||
event.registerBlockEntityRenderer(ModBlockEntities.CHARGING_STATION.get(), context -> new ChargingStationBlockEntityRenderer());
|
||||
event.registerBlockEntityRenderer(ModBlockEntities.CREATIVE_CHARGING_STATION.get(), context -> new CreativeChargingStationBlockEntityRenderer());
|
||||
event.registerBlockEntityRenderer(ModBlockEntities.SMALL_CONTAINER.get(), context -> new SmallContainerBlockEntityRenderer());
|
||||
}
|
||||
|
||||
|
@ -49,6 +51,7 @@ public class ClientRenderHandler {
|
|||
event.registerBelowAll(Yx100SwarmDroneHudOverlay.ID, new Yx100SwarmDroneHudOverlay());
|
||||
event.registerBelowAll(AmmoBarOverlay.ID, new AmmoBarOverlay());
|
||||
event.registerBelowAll(AmmoCountOverlay.ID, new AmmoCountOverlay());
|
||||
event.registerBelowAll(ItemRendererFixOverlay.ID, new ItemRendererFixOverlay());
|
||||
event.registerBelowAll(CannonHudOverlay.ID, new CannonHudOverlay());
|
||||
event.registerBelowAll(CrossHairOverlay.ID, new CrossHairOverlay());
|
||||
event.registerBelowAll(DroneHudOverlay.ID, new DroneHudOverlay());
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
package com.atsuishio.superbwarfare.client.overlay;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import net.minecraft.client.DeltaTracker;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.LayeredDraw;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class ItemRendererFixOverlay implements LayeredDraw.Layer {
|
||||
|
||||
public static final ResourceLocation ID = Mod.loc("item_renderer_fix");
|
||||
|
||||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public void render(GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
Player entity = mc.player;
|
||||
|
||||
if (entity != null) {
|
||||
guiGraphics.pose().pushPose();
|
||||
guiGraphics.pose().translate(-1145.0D, 0.0D, 0.0D);
|
||||
mc.gameRenderer.itemInHandRenderer.renderItem(entity, entity.getMainHandItem(),
|
||||
ItemDisplayContext.THIRD_PERSON_RIGHT_HAND, false, guiGraphics.pose(), guiGraphics.bufferSource(), 0);
|
||||
guiGraphics.pose().popPose();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue