• 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

81.25
/src/main/java/org/cyclops/integrateddynamics/loot/functions/LootFunctionCopyEnergyBatteryData.java
1
package org.cyclops.integrateddynamics.loot.functions;
2

3
import com.mojang.serialization.MapCodec;
4
import com.mojang.serialization.codecs.RecordCodecBuilder;
5
import net.minecraft.world.item.ItemStack;
6
import net.minecraft.world.level.block.entity.BlockEntity;
7
import net.minecraft.world.level.storage.loot.LootContext;
8
import net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction;
9
import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
10
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
11
import net.neoforged.neoforge.capabilities.Capabilities;
12
import net.neoforged.neoforge.transfer.access.ItemAccess;
13
import net.neoforged.neoforge.transfer.energy.EnergyHandler;
14
import org.cyclops.integrateddynamics.blockentity.BlockEntityEnergyBattery;
15
import org.cyclops.integrateddynamics.capability.energystorage.IEnergyStorageCapacity;
16
import org.cyclops.integrateddynamics.capability.energystorage.IEnergyStorageMutable;
17

18
import java.util.List;
19

20
/**
21
 * Copies energy battery data to the item.
22
 * @author rubensworks
23
 */
24
public class LootFunctionCopyEnergyBatteryData extends LootItemConditionalFunction {
25

26
    public static final MapCodec<LootFunctionCopyEnergyBatteryData> CODEC = RecordCodecBuilder.mapCodec(
4✔
27
            builder -> commonFields(builder).apply(builder, LootFunctionCopyEnergyBatteryData::new)
6✔
28
    );
29

30
    protected LootFunctionCopyEnergyBatteryData(List<LootItemCondition> conditionsIn) {
31
        super(conditionsIn);
3✔
32
    }
1✔
33

34
    @Override
35
    public ItemStack run(ItemStack itemStack, LootContext lootContext) {
36
        BlockEntity tile = lootContext.getOptionalParameter(LootContextParams.BLOCK_ENTITY);
5✔
37
        if (tile instanceof BlockEntityEnergyBattery) {
3!
38
            EnergyHandler energyStorage = itemStack.getCapability(Capabilities.Energy.ITEM, ItemAccess.forStack(itemStack));
7✔
39
            if (energyStorage != null) {
2!
40
                ((IEnergyStorageMutable) energyStorage).setEnergy(((BlockEntityEnergyBattery) tile).getEnergyStored());
6✔
41
                ((IEnergyStorageCapacity) energyStorage).setCapacity(((BlockEntityEnergyBattery) tile).getMaxEnergyStored());
6✔
42
            }
43
        }
44
        return itemStack;
2✔
45
    }
46

47
    @Override
48
    public MapCodec<? extends LootItemConditionalFunction> codec() {
49
        return CODEC;
×
50
    }
51

52
}
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