@Override public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) ItemStack stack = user.getStackInHand(hand); EnergyComponent energy = EnergyClientMod.ENERGY.get(user); if (energy.getEnergy() < energy.getMaxEnergy()) energy.addEnergy(charge); stack.decrementUnlessCreative(1, user); return TypedActionResult.success(stack); return TypedActionResult.fail(stack);

@Override public void serverTick() player.isSpectator()) return;

// EnergyClientMod.java package com.example.energyclient; import com.example.energyclient.component.EnergyComponent; import net.fabricmc.api.ModInitializer; import net.minecraft.util.Identifier; import org.ladysnake.cca.api.v3.component.ComponentKey; import org.ladysnake.cca.api.v3.component.ComponentRegistry; import org.ladysnake.cca.api.v3.entity.EntityComponentFactoryRegistry; import org.ladysnake.cca.api.v3.entity.EntityComponentInitializer; import org.ladysnake.cca.api.v3.entity.RespawnCopyStrategy;

EnergyComponent energyComp = EnergyClientMod.ENERGY.get(client.player); int energy = energyComp.getEnergy(); int maxEnergy = energyComp.getMaxEnergy();