• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CyclopsMC / IntegratedDynamics / 20210191346

14 Dec 2025 03:32PM UTC coverage: 19.514% (-33.5%) from 53.061%
20210191346

push

github

rubensworks
Remove deprecations

663 of 8728 branches covered (7.6%)

Branch coverage included in aggregate %.

6786 of 29445 relevant lines covered (23.05%)

1.09 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/cyclops/integrateddynamics/client/render/valuetype/ItemValueTypeWorldRenderer.java
1
package org.cyclops.integrateddynamics.client.render.valuetype;
2

3
import com.mojang.blaze3d.vertex.PoseStack;
4
import net.minecraft.client.Minecraft;
5
import net.minecraft.client.gui.Font;
6
import net.minecraft.client.renderer.SubmitNodeCollector;
7
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
8
import net.minecraft.client.renderer.item.ItemStackRenderState;
9
import net.minecraft.core.Direction;
10
import net.minecraft.network.chat.Component;
11
import net.minecraft.world.item.ItemDisplayContext;
12
import net.minecraft.world.item.ItemStack;
13
import org.cyclops.cyclopscore.helper.IModHelpers;
14
import org.cyclops.integrateddynamics.api.client.render.valuetype.IValueTypeWorldRenderer;
15
import org.cyclops.integrateddynamics.api.evaluate.variable.IValue;
16
import org.cyclops.integrateddynamics.api.part.IPartContainer;
17
import org.cyclops.integrateddynamics.api.part.IPartType;
18
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueObjectTypeItemStack;
19

20
/**
21
 * A value type world renderer for items.
22
 * @author rubensworks
23
 */
24
public class ItemValueTypeWorldRenderer implements IValueTypeWorldRenderer {
×
25

26
    @Override
27
    public void submitValue(BlockEntityRendererProvider.Context context, IPartContainer partContainer,
28
                            Direction direction, IPartType partType, IValue value, float partialTicks,
29
                            PoseStack matrixStack, SubmitNodeCollector nodeCollector,
30
                            int combinedLight, int combinedOverlay, float alpha) {
31
        ItemStack itemStackOptional = ((ValueObjectTypeItemStack.ValueItemStack) value).getRawValue();
×
32
        if(!itemStackOptional.isEmpty()) {
×
33
            // ItemStack
34
            renderItemStack(matrixStack, nodeCollector, combinedLight, combinedOverlay, 0, itemStackOptional, alpha);
×
35

36
            // Stack size
37
            matrixStack.pushPose();
×
38
            matrixStack.translate(7F, 8.5F, 0.3F);
×
39
            String stackSize = String.valueOf(itemStackOptional.getCount());
×
40
            float scale = 1F / ((float) stackSize.length() + 1F);
×
41
            matrixStack.scale(scale, scale, 1F);
×
42
            nodeCollector.submitText(matrixStack, 0, 0, Component.literal(stackSize).getVisualOrderText(),
×
43
                    false, Font.DisplayMode.NORMAL, combinedLight, IModHelpers.get().getBaseHelpers().RGBAToInt(200, 200, 200, (int) (alpha * 255F)), 0, 0);
×
44
            matrixStack.popPose();
×
45
        }
46
    }
×
47

48
    public static void renderItemStack(PoseStack matrixStack, SubmitNodeCollector nodeCollector, int combinedLight, int combinedOverlay, int outlineColor, ItemStack itemStack, float alpha) {
49
        // ItemStack
50
        matrixStack.pushPose();
×
51
        matrixStack.translate(6.2, 6.2, 0.1F);
×
52
        matrixStack.scale(16F, -16F, 16F);
×
53
        matrixStack.scale(0.74F, 0.74F, 0.01F);
×
54

55
        // Derived from ItemRenderer
56
        ItemStackRenderState renderState = new ItemStackRenderState();
×
57
        Minecraft.getInstance().getItemModelResolver().updateForTopItem(renderState, itemStack, ItemDisplayContext.GUI, null, null, 0);
×
58
        renderState.submit(matrixStack, nodeCollector, combinedLight, combinedOverlay, outlineColor);
×
59

60
        matrixStack.popPose();
×
61
    }
×
62
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc