package com.thebrokenrail.energonrelics.structure.researchcomplex; import com.thebrokenrail.energonrelics.component.NetworkComponent; import com.thebrokenrail.energonrelics.config.HardcodedConfig; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import java.util.Random; public class ResearchComplexState { private final int baseID; private long energyBudget = HardcodedConfig.REACTOR_ENERGY_OUTPUT; final Random random; public ResearchComplexState(World world, Random random) { ServerWorld serverWorld = (ServerWorld) world; NetworkComponent component = NetworkComponent.getInstance(serverWorld); baseID = component.create(); this.random = random; } private int getID() { return baseID; } int getMainNetwork() { return getID(); } boolean hasEnergy(long amount, BlockPos pos) { if (pos.isWithinDistance(new BlockPos(0, 2, 0), HardcodedConfig.POWER_RANGE)) { if (amount <= energyBudget) { energyBudget = energyBudget - amount; return true; } else { return false; } } else { return false; } } }