SteamPowered/src/main/java/com/teammoeg/steampowered/SPStress.java

61 lines
2.1 KiB
Java
Raw Normal View History

2021-11-12 18:25:55 +01:00
package com.teammoeg.steampowered;
2023-07-28 15:15:02 +02:00
import com.simibubi.create.content.kinetics.BlockStressDefaults;
import com.simibubi.create.content.kinetics.BlockStressValues.IStressValueProvider;
import com.simibubi.create.foundation.utility.Couple;
2021-11-22 12:58:40 +01:00
import com.teammoeg.steampowered.content.alternator.DynamoBlock;
import com.teammoeg.steampowered.create.flywheel.engine.EngineBlock;
import com.teammoeg.steampowered.create.flywheel.legacy.FlywheelBlock;
2021-11-12 18:25:55 +01:00
import net.minecraft.world.level.block.Block;
2021-11-12 18:25:55 +01:00
public class SPStress implements IStressValueProvider {
@Override
public double getCapacity(Block arg0) {
2021-11-27 14:47:26 +01:00
if(!(arg0 instanceof EngineBlock))return BlockStressDefaults.DEFAULT_CAPACITIES.getOrDefault(arg0.getRegistryName(),0D);
2021-11-22 12:54:27 +01:00
String mat=arg0.getRegistryName().getPath().split("_")[0];
switch(mat) {
case "bronze":return SPConfig.COMMON.bronzeFlywheelCapacity.get();
case "cast":return SPConfig.COMMON.castIronFlywheelCapacity.get();
case "steel":return SPConfig.COMMON.steelFlywheelCapacity.get();
}
2021-11-22 13:00:56 +01:00
return BlockStressDefaults.DEFAULT_CAPACITIES.getOrDefault(arg0.getRegistryName(),0D);
2021-11-12 18:25:55 +01:00
}
@Override
public double getImpact(Block arg0) {
2021-11-22 13:00:56 +01:00
if(arg0 instanceof FlywheelBlock)return BlockStressDefaults.DEFAULT_IMPACTS.getOrDefault(arg0.getRegistryName(),0D);
2021-11-22 12:58:40 +01:00
if(arg0 instanceof DynamoBlock) {
return SPConfig.COMMON.dynamoImpact.get();
}
2021-11-22 13:05:54 +01:00
String[] mat=arg0.getRegistryName().getPath().split("_");
if(mat[mat.length-1].equals("cogwheel")) {
switch(mat[0]) {
case "bronze":return SPConfig.COMMON.bronzeCogwheelImpact.get();
case "cast":return SPConfig.COMMON.castIronCogwheelImpact.get();
case "steel":return SPConfig.COMMON.steelCogwheelImpact.get();
}
2021-11-12 18:25:55 +01:00
}
2021-11-22 13:00:56 +01:00
return BlockStressDefaults.DEFAULT_IMPACTS.getOrDefault(arg0.getRegistryName(),0D);
2021-11-12 18:25:55 +01:00
}
@Override
public boolean hasCapacity(Block arg0) {
2021-11-27 14:47:26 +01:00
if((arg0 instanceof EngineBlock))return true;
2021-11-12 18:25:55 +01:00
return false;
}
@Override
public boolean hasImpact(Block arg0) {
2021-11-22 12:54:27 +01:00
if(arg0 instanceof FlywheelBlock)return false;
2021-11-12 18:25:55 +01:00
return true;
}
2023-07-28 15:15:02 +02:00
@Override
public Couple<Integer> getGeneratedRPM(Block block) {
return null; //TODO: WTF
}
2021-11-12 18:25:55 +01:00
}