TheBrokenRail
5bfaa0e20b
All checks were successful
EnergonRelics/pipeline/head This commit looks good
45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
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;
|
|
}
|
|
}
|
|
}
|