• 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

39.29
/src/main/java/org/cyclops/integrateddynamics/core/recipe/display/RecipeDisplayDryingBasin.java
1
package org.cyclops.integrateddynamics.core.recipe.display;
2

3
import com.mojang.serialization.Codec;
4
import com.mojang.serialization.MapCodec;
5
import com.mojang.serialization.codecs.RecordCodecBuilder;
6
import net.minecraft.network.RegistryFriendlyByteBuf;
7
import net.minecraft.network.codec.ByteBufCodecs;
8
import net.minecraft.network.codec.StreamCodec;
9
import net.minecraft.world.flag.FeatureFlagSet;
10
import net.minecraft.world.item.crafting.display.RecipeDisplay;
11
import net.minecraft.world.item.crafting.display.SlotDisplay;
12
import net.neoforged.neoforge.fluids.FluidStack;
13

14
/**
15
 * @author rubensworks
16
 */
17
public record RecipeDisplayDryingBasin(
×
18
        SlotDisplay inputIngredient,
19
        FluidStack inputFluid,
20
        SlotDisplay outputItem,
21
        FluidStack outputFluid,
22
        SlotDisplay craftingStation,
23
        int duration
24
) implements RecipeDisplay {
25

26
    public static final MapCodec<RecipeDisplayDryingBasin> MAP_CODEC = RecordCodecBuilder.mapCodec(
3✔
27
            instance -> instance.group(
7✔
28
                            SlotDisplay.CODEC.fieldOf("input_ingredient").forGetter(RecipeDisplayDryingBasin::inputIngredient),
5✔
29
                            FluidStack.CODEC.fieldOf("input_fluid").forGetter(RecipeDisplayDryingBasin::inputFluid),
5✔
30
                            SlotDisplay.CODEC.fieldOf("output_ingredient").forGetter(RecipeDisplayDryingBasin::outputItem),
5✔
31
                            FluidStack.CODEC.fieldOf("output_fluid").forGetter(RecipeDisplayDryingBasin::outputFluid),
5✔
32
                            SlotDisplay.CODEC.fieldOf("crafting_station").forGetter(RecipeDisplayDryingBasin::craftingStation),
5✔
33
                            Codec.INT.fieldOf("duration").forGetter(RecipeDisplayDryingBasin::duration)
3✔
34
                    )
35
                    .apply(instance, RecipeDisplayDryingBasin::new)
1✔
36
    );
37
    public static final StreamCodec<RegistryFriendlyByteBuf, RecipeDisplayDryingBasin> STREAM_CODEC = StreamCodec.composite(
15✔
38
            SlotDisplay.STREAM_CODEC,
39
            RecipeDisplayDryingBasin::inputIngredient,
40
            FluidStack.OPTIONAL_STREAM_CODEC,
41
            RecipeDisplayDryingBasin::inputFluid,
42
            SlotDisplay.STREAM_CODEC,
43
            RecipeDisplayDryingBasin::outputItem,
44
            FluidStack.OPTIONAL_STREAM_CODEC,
45
            RecipeDisplayDryingBasin::outputFluid,
46
            SlotDisplay.STREAM_CODEC,
47
            RecipeDisplayDryingBasin::craftingStation,
48
            ByteBufCodecs.VAR_INT,
49
            RecipeDisplayDryingBasin::duration,
50
            RecipeDisplayDryingBasin::new
51
    );
52
    public static final RecipeDisplay.Type<RecipeDisplayDryingBasin> TYPE = new RecipeDisplay.Type<>(MAP_CODEC, STREAM_CODEC);
7✔
53

54
    @Override
55
    public SlotDisplay result() {
56
        if (outputItem() == SlotDisplay.Empty.INSTANCE) {
×
57
            FluidStack fluidStack = outputFluid();
×
58
            return new SlotDisplay.ItemSlotDisplay(outputFluid().getFluidType().getBucket(fluidStack).getItem());
×
59
        }
60
        return outputItem();
×
61
    }
62

63
    @Override
64
    public Type<? extends RecipeDisplay> type() {
65
        return TYPE;
×
66
    }
67

68
    @Override
69
    public boolean isEnabled(FeatureFlagSet featureFlagSet) {
70
        return this.inputIngredient.isEnabled(featureFlagSet)
×
71
                && this.outputItem().isEnabled(featureFlagSet)
×
72
                && RecipeDisplay.super.isEnabled(featureFlagSet);
×
73
    }
74
}
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