Update 13

This commit is contained in:
yuesha-yc 2021-09-03 21:44:43 +08:00
parent bb40a9aae2
commit 5e74b8750a
No known key found for this signature in database
GPG key ID: 009D79A802D4ED01
7 changed files with 94 additions and 40 deletions

View file

@ -24,27 +24,47 @@ public class SPConfig {
public final ForgeConfigSpec.IntValue alternatorImpact;
public final ForgeConfigSpec.DoubleValue alternatorEfficiency;
public final ForgeConfigSpec.DoubleValue bronzeCogwheelImpact;
public final ForgeConfigSpec.DoubleValue castIronCogwheelImpact;
public final ForgeConfigSpec.DoubleValue steelCogwheelImpact;
Common(ForgeConfigSpec.Builder builder) {
bronzeFlywheelCapacity = builder.defineInRange("bronzeFlywheelCapacity", 32, 0, 8192);
bronzeFlywheelSpeed = builder.defineInRange("bronzeFlywheelSpeed", 32, 0, 8192);
bronzeFlywheelSteamConsumptionPerTick = builder.defineInRange("bronzeFlywheelSteamConsumptionPerTick", 24, 0, 8192);
bronzeFlywheelSteamStorage = builder.defineInRange("bronzeFlywheelSteamStorage", 32000, 0, 1048576);
builder.push("flywheel");
{
bronzeFlywheelCapacity = builder.defineInRange("bronzeFlywheelCapacity", 32, 0, 8192);
bronzeFlywheelSpeed = builder.defineInRange("bronzeFlywheelSpeed", 32, 0, 8192);
bronzeFlywheelSteamConsumptionPerTick = builder.defineInRange("bronzeFlywheelSteamConsumptionPerTick", 24, 0, 8192);
bronzeFlywheelSteamStorage = builder.defineInRange("bronzeFlywheelSteamStorage", 32000, 0, 1048576);
castIronFlywheelCapacity = builder.defineInRange("castIronFlywheelCapacity", 64, 0, 8192);
castIronFlywheelSpeed = builder.defineInRange("castIronFlywheelSpeed", 32, 0, 8192);
castIronFlywheelSteamConsumptionPerTick = builder.defineInRange("castIronFlywheelSteamConsumptionPerTick", 48, 0, 8192);
castIronFlywheelSteamStorage = builder.defineInRange("castIronFlywheelSteamStorage", 64000, 0, 1048576);
castIronFlywheelCapacity = builder.defineInRange("castIronFlywheelCapacity", 64, 0, 8192);
castIronFlywheelSpeed = builder.defineInRange("castIronFlywheelSpeed", 32, 0, 8192);
castIronFlywheelSteamConsumptionPerTick = builder.defineInRange("castIronFlywheelSteamConsumptionPerTick", 48, 0, 8192);
castIronFlywheelSteamStorage = builder.defineInRange("castIronFlywheelSteamStorage", 64000, 0, 1048576);
steelFlywheelCapacity = builder.defineInRange("steelFlywheelCapacity", 96, 0, 8192);
steelFlywheelSpeed = builder.defineInRange("steelFlywheelSpeed", 32, 0, 8192);
steelFlywheelSteamConsumptionPerTick = builder.defineInRange("steelFlywheelSteamConsumptionPerTick", 72, 0, 1048576);
steelFlywheelSteamStorage = builder.defineInRange("steelFlywheelSteamStorage", 96000, 0, 1048576);
steelFlywheelCapacity = builder.defineInRange("steelFlywheelCapacity", 96, 0, 8192);
steelFlywheelSpeed = builder.defineInRange("steelFlywheelSpeed", 32, 0, 8192);
steelFlywheelSteamConsumptionPerTick = builder.defineInRange("steelFlywheelSteamConsumptionPerTick", 72, 0, 1048576);
steelFlywheelSteamStorage = builder.defineInRange("steelFlywheelSteamStorage", 96000, 0, 1048576);
}
builder.pop();
alternatorFeMaxIn = builder.defineInRange("alternatorFeMaxIn", 0, 0, 8192);
alternatorFeMaxOut = builder.defineInRange("alternatorFeMaxOut", 256, 0, 8192);
alternatorFeCapacity = builder.defineInRange("alternatorFeCapacity", 2048, 0, 8192);
alternatorImpact = builder.defineInRange("alternatorImpact", 16, 0, 8192);
alternatorEfficiency = builder.defineInRange("alternatorEfficiency", 0.75D, 0, 1);
builder.push("alternator");
{
alternatorFeMaxIn = builder.defineInRange("alternatorFeMaxIn", 0, 0, 8192);
alternatorFeMaxOut = builder.defineInRange("alternatorFeMaxOut", 256, 0, 8192);
alternatorFeCapacity = builder.defineInRange("alternatorFeCapacity", 2048, 0, 8192);
alternatorImpact = builder.defineInRange("alternatorImpact", 16, 0, 8192);
alternatorEfficiency = builder.defineInRange("alternatorEfficiency", 0.75D, 0, 1);
}
builder.pop();
builder.push("cogwheel");
{
bronzeCogwheelImpact = builder.defineInRange("bronzeCogwheelImpact", 0.2D, 0, 1);
castIronCogwheelImpact = builder.defineInRange("castIronCogwheelImpact", 0.1D, 0, 1);
steelCogwheelImpact = builder.defineInRange("steelCogwheelImpact", 0.05D, 0, 1);
}
builder.pop();
}
}

View file

@ -38,7 +38,7 @@ public class SteamPowered {
@Override
@Nonnull
public ItemStack makeIcon() {
return new ItemStack(SPBlocks.BRONZE_STEAM_ENGINE.get());
return new ItemStack(SPBlocks.STEEL_FLYWHEEL.get());
}
};

View file

@ -27,22 +27,30 @@ public class SPScenes {
scene.configureBasePlate(0, 0, 6);
scene.world.showSection(util.select.layer(0), Direction.UP);
BlockPos cogPos = util.grid.at(1, 1, 2);
BlockPos wheelPos = util.grid.at(1, 1, 3);
BlockPos gaugePos = util.grid.at(1, 1, 1);
BlockPos enginePos = util.grid.at(3, 1, 3);
scene.idle(5);
Selection furnaceSelect = util.select.position(enginePos);
Selection wheelSelect = util.select.position(wheelPos);
scene.world.showSection(furnaceSelect, Direction.DOWN);
scene.idle(10);
scene.world.showSection(util.select.position(enginePos.west()), Direction.DOWN);
scene.idle(10);
scene.world.showSection(util.select.position(enginePos.west(3)), Direction.EAST);
scene.world.showSection(util.select.position(enginePos.west(2)), Direction.EAST);
scene.idle(10);
scene.world.showSection(util.select.position(enginePos.east(1)), Direction.WEST);
scene.world.showSection(util.select.position(enginePos.east(1).north(1)), Direction.WEST);
scene.idle(10);
scene.world.showSection(util.select.position(enginePos.east(2)), Direction.UP);
scene.world.showSection(util.select.position(enginePos.east(2).above(1)), Direction.UP);
scene.world.showSection(util.select.position(enginePos.east(2).above(2)), Direction.UP);
String text = flywheel ? "Flywheels are required for generating rotational force with the Steam Engine" : "Steam Engines generate Rotational Force while Steam is provided";
scene.overlay.showText(80).attachKeyFrame().placeNearTarget().pointAt(util.vector.topOf(enginePos.west(flywheel ? 3 : 1))).text(text);
scene.idle(7);
scene.world.cycleBlockProperty(enginePos, SteamEngineBlock.LIT);
scene.idle(90);
scene.world.setKineticSpeed(util.select.fromTo(1, 1, 3, 1, 1, 1), 16.0F);
scene.world.setKineticSpeed(util.select.fromTo(1, 1, 3, 1, 1, 1), 32.0F);
scene.idle(40);
scene.world.showSection(util.select.position(cogPos), Direction.SOUTH);
scene.idle(15);
@ -51,22 +59,33 @@ public class SPScenes {
scene.idle(15);
scene.overlay.showText(80).attachKeyFrame().placeNearTarget().colored(PonderPalette.GREEN).pointAt(util.vector.blockSurface(gaugePos, Direction.WEST)).text("The provided Rotational Force has a very large stress capacity");
scene.idle(90);
ElementLink<WorldSectionElement> engine = scene.world.makeSectionIndependent(util.select.fromTo(3, 1, 3, 1, 1, 1));
scene.world.moveSection(engine, util.vector.of(0.0D, 1.0D, 0.0D), 15);
scene.idle(10);
scene.world.hideSection(furnaceSelect, Direction.NORTH);
scene.world.hideSection(furnaceSelect, Direction.DOWN);
scene.world.hideSection(wheelSelect, Direction.DOWN);
scene.idle(15);
// Change engine
scene.world.setBlock(enginePos, (BlockState) ((BlockState) SPBlocks.BRONZE_STEAM_ENGINE.get().defaultBlockState().setValue(SteamEngineBlock.FACING, Direction.NORTH)).setValue(SteamEngineBlock.LIT, true), false);
scene.world.showSection(furnaceSelect, Direction.NORTH);
scene.idle(10);
scene.world.moveSection(engine, util.vector.of(0.0D, -1.0D, 0.0D), 15);
scene.idle(10);
scene.world.setKineticSpeed(util.select.fromTo(1, 1, 3, 1, 1, 1), 32.0F);
scene.world.setBlock(enginePos, SPBlocks.CAST_IRON_STEAM_ENGINE.get().defaultBlockState().setValue(SteamEngineBlock.FACING, Direction.NORTH).setValue(SteamEngineBlock.LIT, true), false);
scene.world.setBlock(wheelPos, SPBlocks.CAST_IRON_FLYWHEEL.get().defaultBlockState().setValue(SteamEngineBlock.FACING, Direction.NORTH), false);
scene.world.showSection(furnaceSelect, Direction.DOWN);
scene.world.showSection(wheelSelect, Direction.DOWN);
scene.idle(30);
scene.world.setKineticSpeed(util.select.fromTo(1, 1, 3, 1, 1, 1), 48.0F);
scene.idle(50);
scene.world.hideSection(furnaceSelect, Direction.DOWN);
scene.world.hideSection(wheelSelect, Direction.DOWN);
scene.idle(15);
scene.world.setBlock(enginePos, SPBlocks.STEEL_STEAM_ENGINE.get().defaultBlockState().setValue(SteamEngineBlock.FACING, Direction.NORTH).setValue(SteamEngineBlock.LIT, true), false);
scene.world.setBlock(wheelPos, SPBlocks.STEEL_FLYWHEEL.get().defaultBlockState().setValue(SteamEngineBlock.FACING, Direction.NORTH), false);
scene.world.showSection(furnaceSelect, Direction.DOWN);
scene.world.showSection(wheelSelect, Direction.DOWN);
scene.idle(30);
scene.world.setKineticSpeed(util.select.fromTo(1, 1, 3, 1, 1, 1), 64.0F);
scene.idle(5);
scene.effects.rotationSpeedIndicator(cogPos);
scene.idle(5);
scene.overlay.showText(80).placeNearTarget().colored(PonderPalette.MEDIUM).pointAt(util.vector.topOf(enginePos.west())).text("Using Steam Engines made of Steel or Cast Iron will increase efficiency and generated capacity of the Flywheel");
String text3 = flywheel ? "Using Flywheels made of Steel or Cast Iron will increase efficiency and generated capacity of the Flywheel" : "Using Steam Engines made of Steel or Cast Iron will increase efficiency and generated capacity of the Flywheel";
scene.overlay.showText(80).placeNearTarget().colored(PonderPalette.MEDIUM).pointAt(util.vector.topOf(enginePos.west())).text(text3);
}
public static void alternator(SceneBuilder scene, SceneBuildingUtil util) {

View file

@ -52,7 +52,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> STEEL_COGWHEEL = REGISTRATE.block("steel_cogwheel", MetalCogwheelBlock::small)
.initialProperties(SPBlocks::hardMetal)
.transform(BlockStressDefaults.setImpact(0.1))
.transform(BlockStressDefaults.setImpact(0.05))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))
@ -62,7 +62,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> STEEL_LARGE_COGWHEEL = REGISTRATE.block("steel_large_cogwheel", MetalCogwheelBlock::large)
.initialProperties(SPBlocks::hardMetal)
.transform(BlockStressDefaults.setImpact(0.1))
.transform(BlockStressDefaults.setImpact(0.05))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))
@ -72,7 +72,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> CAST_IRON_COGWHEEL = REGISTRATE.block("cast_iron_cogwheel", MetalCogwheelBlock::small)
.initialProperties(SPBlocks::hardMetal)
.transform(BlockStressDefaults.setImpact(0.2))
.transform(BlockStressDefaults.setImpact(0.1))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))
@ -82,7 +82,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> CAST_IRON_LARGE_COGWHEEL = REGISTRATE.block("cast_iron_large_cogwheel", MetalCogwheelBlock::large)
.initialProperties(SPBlocks::hardMetal)
.transform(BlockStressDefaults.setImpact(0.2))
.transform(BlockStressDefaults.setImpact(0.1))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))
@ -92,7 +92,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> BRONZE_COGWHEEL = REGISTRATE.block("bronze_cogwheel", MetalCogwheelBlock::small)
.initialProperties(SharedProperties::softMetal)
.transform(BlockStressDefaults.setImpact(0.3))
.transform(BlockStressDefaults.setImpact(0.2))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))
@ -102,7 +102,7 @@ public class SPBlocks {
public static final BlockEntry<MetalCogwheelBlock> BRONZE_LARGE_COGWHEEL = REGISTRATE.block("bronze_large_cogwheel", MetalCogwheelBlock::large)
.initialProperties(SharedProperties::softMetal)
.transform(BlockStressDefaults.setImpact(0.3))
.transform(BlockStressDefaults.setImpact(0.2))
.properties(p -> p.sound(SoundType.METAL))
.blockstate(BlockStateGen.axisBlockProvider(false))
.onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new))

View file

@ -4,7 +4,7 @@
"item.steampowered.pressurized_steam_container": "Pressurized Steam Container",
"block.steampowered.bronze_steam_engine": "Bronze Steam Engine",
"block.steampowered.cast_iron_steam_engine": "Cast Iron Steam Engine",
"block.steampowered.steel_steam_engine": "Cast Iron Steam Engine",
"block.steampowered.steel_steam_engine": "Steel Steam Engine",
"block.steampowered.bronze_flywheel": "Bronze Flywheel",
"block.steampowered.cast_iron_flywheel": "Cast Iron Flywheel",
"block.steampowered.steel_flywheel": "Steel Flywheel",
@ -22,6 +22,11 @@
"steampowered.ponder.steam_engine.text_2": "The provided Rotational Force has a very large stress capacity",
"steampowered.ponder.steam_engine.text_3": "Using Steam Engines made of Steel or Cast Iron will increase efficiency and generated capacity of the Flywheel",
"steampowered.ponder.flywheel.header": "Generating Rotational Force using the Flywheel",
"steampowered.ponder.flywheel.text_1": "Flywheels are required for generating rotational force with the Steam Engine",
"steampowered.ponder.flywheel.text_2": "The provided Rotational Force has a very large stress capacity",
"steampowered.ponder.flywheel.text_3": "Using Flywheels made of Steel or Cast Iron will increase efficiency and generated capacity of the Flywheel",
"steampowered.tooltip.energy.production": "Energy Generated:",
"item.steampowered.multimeter": "Multimeter",

View file

@ -2,7 +2,12 @@
"itemGroup.steampowered": "蒸汽动力",
"item.steampowered.pressurized_gas_container": "高压气体容器",
"item.steampowered.pressurized_steam_container": "高压蒸汽容器",
"block.steampowered.steam_engine": "蒸汽引擎",
"block.steampowered.bronze_steam_engine": "青铜蒸汽引擎",
"block.steampowered.cast_iron_steam_engine": "铸铁蒸汽引擎",
"block.steampowered.steel_steam_engine": "钢蒸汽引擎",
"block.steampowered.bronze_flywheel": "青铜飞轮",
"block.steampowered.cast_iron_flywheel": "铸铁飞轮",
"block.steampowered.steel_flywheel": "钢飞轮",
"block.steampowered.bronze_cogwheel": "青铜齿轮",
"block.steampowered.cast_iron_cogwheel": "铸铁齿轮",
"block.steampowered.steel_cogwheel": "钢齿轮",
@ -17,6 +22,11 @@
"steampowered.ponder.steam_engine.text_2": "如此产生的旋转力具有非常大的应力值",
"steampowered.ponder.steam_engine.text_3": "使用钢或者铸铁制作的的蒸汽引擎会使得飞轮效率和产能提升",
"steampowered.ponder.flywheel.header": "使用蒸汽飞轮生产旋转力",
"steampowered.ponder.flywheel.text_1": "蒸汽飞轮和蒸汽引擎必须配套使用,方可产生旋转力",
"steampowered.ponder.flywheel.text_2": "如此产生的旋转力具有非常大的应力值",
"steampowered.ponder.flywheel.text_3": "使用钢或者铸铁制作的的蒸汽飞轮会使得飞轮效率和产能提升",
"steampowered.tooltip.energy.production": "已产生的能量:",
"item.steampowered.multimeter": "万用表",