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

CyclopsMC / IntegratedDynamics / 24034486947

06 Apr 2026 01:51PM UTC coverage: 53.645% (-0.08%) from 53.721%
24034486947

push

github

rubensworks
Update to MC 26.1.1

3052 of 8931 branches covered (34.17%)

Branch coverage included in aggregate %.

18680 of 31580 relevant lines covered (59.15%)

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

3
import net.minecraft.client.color.item.Constant;
4
import net.minecraft.client.multiplayer.ClientLevel;
5
import net.minecraft.client.renderer.block.dispatch.BlockStateModel;
6
import net.minecraft.client.renderer.block.dispatch.BlockStateModelPart;
7
import net.minecraft.client.renderer.item.*;
8
import net.minecraft.client.resources.model.geometry.BakedQuad;
9
import net.minecraft.client.resources.model.geometry.QuadCollection;
10
import net.minecraft.core.Direction;
11
import net.minecraft.util.RandomSource;
12
import net.minecraft.world.entity.ItemOwner;
13
import net.minecraft.world.item.ItemDisplayContext;
14
import net.minecraft.world.item.ItemStack;
15
import net.minecraft.world.level.block.state.BlockState;
16
import org.cyclops.cyclopscore.helper.IModHelpers;
17
import org.cyclops.integrateddynamics.RegistryEntries;
18

19
import java.util.ArrayList;
20
import java.util.List;
21

22
/**
23
 * Dynamic facadeModel for facade items.
24
 * @author rubensworks
25
 */
26
public class FacadeModel implements ItemModel {
27

28
    private final ItemModel emptyModel;
29
    private final ModelRenderProperties modelrenderproperties;
30

31
    public FacadeModel(ItemModel emptyModel, ModelRenderProperties modelrenderproperties) {
×
32
        this.emptyModel = emptyModel;
×
33
        this.modelrenderproperties = modelrenderproperties;
×
34
    }
×
35

36
    @Override
37
    public void update(ItemStackRenderState renderState, ItemStack itemStack, ItemModelResolver itemModelResolver, ItemDisplayContext displayContext, @org.jetbrains.annotations.Nullable ClientLevel level, @org.jetbrains.annotations.Nullable ItemOwner entity, int seed) {
38
        BlockState blockState = RegistryEntries.ITEM_FACADE.get().getFacadeBlock(itemStack);
×
39
        if(blockState == null) {
×
40
            emptyModel.update(renderState, itemStack, itemModelResolver, displayContext, level, entity, seed);
×
41
        } else {
42
            BlockStateModel bakedModel = IModHelpers.get().getRenderHelpers().getBakedModel(blockState);
×
43
            List<BlockStateModelPart> parts = new ArrayList<>();
×
44
            bakedModel.collectParts(RandomSource.create(seed), parts);
×
45
            QuadCollection.Builder quadBuilder = new QuadCollection.Builder();
×
46
            for (BlockStateModelPart collectPart : parts) {
×
47
                for (Direction direction : Direction.values()) {
×
48
                    for (BakedQuad quad : collectPart.getQuads(direction)) {
×
49
                        quadBuilder.addCulledFace(direction, quad);
×
50
                    }
×
51
                }
52
            }
×
53
            new CuboidItemModelWrapper(List.of(new Constant(-1)), quadBuilder.build(), this.modelrenderproperties, null).update(renderState, itemStack, itemModelResolver, displayContext, level, entity, seed);
×
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