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

CyclopsMC / IntegratedDynamics / 24069842572

07 Apr 2026 07:24AM UTC coverage: 53.669% (+0.03%) from 53.636%
24069842572

push

github

rubensworks
Add jar locations to AGENTS.md

3055 of 8935 branches covered (34.19%)

Branch coverage included in aggregate %.

18695 of 31591 relevant lines covered (59.18%)

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/core/client/model/ItemModelVariableOverlay.java
1
package org.cyclops.integrateddynamics.core.client.model;
2

3
import com.mojang.serialization.MapCodec;
4
import net.minecraft.client.multiplayer.ClientLevel;
5
import net.minecraft.client.renderer.item.ItemModel;
6
import net.minecraft.client.renderer.item.ItemModelResolver;
7
import net.minecraft.client.renderer.item.ItemStackRenderState;
8
import net.minecraft.world.entity.ItemOwner;
9
import net.minecraft.world.item.ItemDisplayContext;
10
import net.minecraft.world.item.ItemStack;
11
import org.cyclops.integrateddynamics.api.client.model.IVariableModelProvider;
12
import org.jetbrains.annotations.Nullable;
13
import org.joml.Matrix4f;
14
import org.joml.Matrix4fc;
15

16
/**
17
 * @author rubensworks
18
 */
19
public record ItemModelVariableOverlay(ItemModelVariableOverlays variableModelBaked) implements ItemModel {
×
20

21
    @Override
22
    public void update(ItemStackRenderState renderState, ItemStack stack, ItemModelResolver itemModelResolver, ItemDisplayContext displayContext, @Nullable ClientLevel level, @Nullable ItemOwner entity, int seed) {
23
        ItemModel model = this.variableModelBaked.getModelForItem(stack, level);
×
24
        if (model != null) {
×
25
            model.update(renderState, stack, itemModelResolver, displayContext, level, entity, seed);
×
26
        }
27
    }
×
28

29
    public static record Unbaked() implements ItemModel.Unbaked {
×
30
        public static final MapCodec<ItemModelVariableOverlay.Unbaked> MAP_CODEC = MapCodec.unit(new ItemModelVariableOverlay.Unbaked());
×
31

32
        @Override
33
        public MapCodec<ItemModelVariableOverlay.Unbaked> type() {
34
            return MAP_CODEC;
×
35
        }
36

37
        @Override
38
        public ItemModel bake(BakingContext bakingContext, Matrix4fc matrix) {
39
            ItemModelVariableOverlays bakedModel = new ItemModelVariableOverlays();
×
40
            Matrix4f matrixLocal = new Matrix4f(matrix);
×
41
            float offset = 0;
×
42
            for(IVariableModelProvider provider : VariableModelProviders.REGISTRY.getProviders()) {
×
43
                offset += 0.01F;
×
44
                bakedModel.setSubModels(provider, provider.bakeOverlayModels(bakingContext, matrixLocal.translate(0F, 0F, offset)));
×
45
            }
×
46
            return new ItemModelVariableOverlay(bakedModel);
×
47
        }
48

49
        @Override
50
        public void resolveDependencies(Resolver resolver) {
51
            for(IVariableModelProvider provider : VariableModelProviders.REGISTRY.getProviders()) {
×
52
                provider.resolveDependencies(resolver);
×
53
            }
×
54
        }
×
55
    }
56
}
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