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

CyclopsMC / IntegratedDynamics / 16809454540

07 Aug 2025 03:47PM UTC coverage: 53.086% (-0.01%) from 53.099%
16809454540

push

github

rubensworks
Fix recipe overlay not changing on shift

2864 of 8744 branches covered (32.75%)

Branch coverage included in aggregate %.

17322 of 29281 relevant lines covered (59.16%)

3.07 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/blockentity/SpecialModelRendererVariableOverlay.java
1
package org.cyclops.integrateddynamics.client.render.blockentity;
2

3
import com.mojang.blaze3d.vertex.PoseStack;
4
import com.mojang.serialization.MapCodec;
5
import net.minecraft.client.model.geom.EntityModelSet;
6
import net.minecraft.client.renderer.MultiBufferSource;
7
import net.minecraft.client.renderer.special.SpecialModelRenderer;
8
import net.minecraft.world.item.ItemDisplayContext;
9
import net.minecraft.world.item.ItemStack;
10
import org.apache.commons.lang3.tuple.Pair;
11
import org.cyclops.cyclopscore.helper.IModHelpers;
12
import org.cyclops.integrateddynamics.RegistryEntries;
13
import org.cyclops.integrateddynamics.api.evaluate.variable.ValueDeseralizationContext;
14
import org.cyclops.integrateddynamics.api.item.IVariableFacade;
15
import org.jetbrains.annotations.Nullable;
16
import org.joml.Vector3f;
17

18
import java.util.Set;
19

20
/**
21
 * @author rubensworks
22
 */
23
public class SpecialModelRendererVariableOverlay implements SpecialModelRenderer<Pair<Boolean, ItemStack>> {
×
24

25
    @Override
26
    public @Nullable Pair<Boolean, ItemStack> extractArgument(ItemStack stack) {
27
        // Store shift state to force re-rendering when shift is held/unheld.
28
        return Pair.of(IModHelpers.get().getMinecraftClientHelpers().isShifted(), stack);
×
29
    }
30

31
    @Override
32
    public void render(@Nullable Pair<Boolean, ItemStack> stateIn, ItemDisplayContext displayContext, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay, boolean hasFoilType) {
33
        if (displayContext == ItemDisplayContext.GUI) {
×
34
            IVariableFacade variableFacade = RegistryEntries.ITEM_VARIABLE.get().getVariableFacade(ValueDeseralizationContext.ofClient(), stateIn.getRight());
×
35
            displayContext = ItemDisplayContext.GUI;
×
36
            poseStack.translate(0.5F, 0.5F, 0.7F);
×
37
            variableFacade.getClient().renderISTER(stateIn.getRight(), displayContext, poseStack, bufferSource, packedLight, packedOverlay);
×
38
        }
39
    }
×
40

41
    @Override
42
    public void getExtents(Set<Vector3f> p_428206_) {
43

44
    }
×
45

46
    public static record Unbaked() implements SpecialModelRenderer.Unbaked {
×
47
        public static final MapCodec<SpecialModelRendererVariableOverlay.Unbaked> MAP_CODEC = MapCodec.unit(SpecialModelRendererVariableOverlay.Unbaked::new);
×
48

49
        @Override
50
        public MapCodec<SpecialModelRendererVariableOverlay.Unbaked> type() {
51
            return MAP_CODEC;
×
52
        }
53

54
        @Override
55
        public SpecialModelRenderer<?> bake(EntityModelSet entityModelSet) {
56
            return new SpecialModelRendererVariableOverlay();
×
57
        }
58
    }
59
}
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