Energy Client Minecraft Link
public class EnergyComponent implements Component, AutoSyncedComponent, ServerTickingComponent public static final int MAX_ENERGY = 1000; private static final int GEN_WALK = 2; private static final int GEN_SPRINT = 5; private static final int COST_SPRINT = 3; private static final int COST_JUMP = 10; private static final int COST_ATTACK = 15; private static final int COST_BREAK = 8;
public void save() try (Writer writer = new FileWriter("config/energyclient.json")) GSON.toJson(this, writer); catch (IOException e) e.printStackTrace();
// BatteryItem.java public class BatteryItem extends Item private final int charge; public BatteryItem(Settings settings, int charge) super(settings); this.charge = charge; energy client minecraft
@Mixin(LivingEntity.class) public class JumpMixin @Inject(method = "jump", at = @At("HEAD")) private void onJump(CallbackInfo ci) if ((Object)this instanceof PlayerEntity player) EnergyComponent comp = EnergyClientMod.ENERGY.get(player); comp.onJump();
@Override public void onInitialize() System.out.println("Energy Client initialized!"); public class EnergyComponent implements Component
// 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;
@Override public void writeToNbt(NbtCompound tag, RegistryWrapper.WrapperLookup registryLookup) tag.putInt("energy", energy); catch (IOException e) e.printStackTrace()
public void onJump() consume(COST_JUMP); public void onAttack() consume(COST_ATTACK); public void onBreakBlock() consume(COST_BREAK);
