1.1.0b update

This commit is contained in:
DrMangoTea
2025-09-21 23:16:59 +02:00
parent 00afd7b118
commit ac5db68f21
21 changed files with 90 additions and 23 deletions

View File

@@ -31,7 +31,7 @@ registrate_version = MC1.21-1.3.0+62
mod_id=tfmg
mod_name=Create: The Factory Must Grow
mod_license=MIT
mod_version=1.1.0
mod_version=1.1.0b
mod_group_id=com.drmangotea
mod_authors= DrMangoTea, Pepa, Luna
mod_description= Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod

View File

@@ -76,7 +76,7 @@ public class TFMG {
TFMGDataComponents.register(modEventBus);
TFMGMobEffects.register(modEventBus);
TFMGRecipeTypes.register(modEventBus);
TFMGArmorMaterials.register(modEventBus);
// TFMGArmorMaterials.register(modEventBus);
TFMGColoredFires.register(modEventBus);
TFMGFeatures.register(modEventBus);
TFMGMountedStorageTypes.register();

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.base.debug;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock;
import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity;
import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlockEntity;
import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.item.Item;
@@ -27,16 +28,19 @@ public class DebugCinderBlockItem extends Item {
BlockPos pos = context.getClickedPos();
Level level = context.getLevel();
if (level.getBlockEntity(pos) instanceof StatorBlockEntity be) {
be.updateRotor();
}
if (level.getBlockEntity(pos) instanceof SteelTankBlockEntity be) {
if(!context.getPlayer().isCrouching()) {
if (!context.getPlayer().isCrouching()) {
//SteelTankBlock.updateTowerState(be.getLevel(), be.getBlockPos(), true, false);
// be.updateTemperature();
TFMG.LOGGER.debug(String.valueOf(be.isDistillationTower));
//be.sendData();
//be.getControllerBE().sendData();
}else {
} else {
SteelTankBlock.updateTowerState(be.getLevel(), be.getBlockPos(), false, false);
TFMG.LOGGER.debug(String.valueOf(be.isDistillationTower));
}

View File

@@ -7,12 +7,12 @@ public class MachineConfig extends ConfigBase {
public final ConfigInt fireExtinguisherClearRadius = i(1, 0, "fireExtinguisherClearRadius", Comments.fireExtinguisherClearRadius);
public final ConfigFloat electricMotorInternalResistance = f(100, 0, "electricMotorInternalResistance", Comments.electricMotorInternalResistance);
public final ConfigFloat electricMotorInternalResistance = f(30, 0, "electricMotorInternalResistance", Comments.electricMotorInternalResistance);
public final ConfigInt cokeOvenMaxSize = i(5, 1, "cokeOvenMaxSize", Comments.cokeOvenMaxSize);
public final ConfigFloat FEtoWattTickConversionRate = f(1, 0, "FEtoWattTickConversionRate", Comments.FEtoWattTickConversionRate);
public final ConfigInt electrolysisMinimumCurrent = i(5, 1, "electrolysisMinimumCurrent", Comments.electrolysisMinimumCurrent);
public final ConfigInt electrolysisMinimumCurrent = i(10, 1, "electrolysisMinimumCurrent", Comments.electrolysisMinimumCurrent);
public final ConfigInt engineMaxLength = i(5, 1, "engineMaxLength", Comments.engineMaxLength);
public final ConfigInt surfaceScannerScanDepth = i(-64, -512, "surfaceScannerScanDepth", Comments.surfaceScannerScanDepth);
public final ConfigInt polarizerItemChargingRate = i(1000, 1, "polarizerItemChargingRate", Comments.polarizerItemChargingRate);

View File

@@ -27,7 +27,7 @@ import net.neoforged.neoforge.client.model.generators.ConfiguredModel;
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe;
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
@SuppressWarnings("removal")
public class TFMGPipeEntry {
private final TFMGPipes.PipeMaterial material;
private final TFMGRegistrate registrate;
@@ -95,7 +95,14 @@ public class TFMGPipeEntry {
.initialProperties(SharedProperties::copperMetal)
.transform(pickaxeOnly())
.blockstate(BlockStateGen.pipe())
.onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel))
.onRegister(CreateRegistrate.blockModel(()->
switch (this.material){
case BRASS -> TFMGPipeAttachmentModel::withAOBrass;
case STEEL -> TFMGPipeAttachmentModel::withAOSteel;
case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum;
case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron;
case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic;
}))
.item()
.transform(customItemModel())
.register();
@@ -134,7 +141,14 @@ public class TFMGPipeEntry {
.build();
}, BlockStateProperties.WATERLOGGED);
})
.onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel))
.onRegister(CreateRegistrate.blockModel(()->
switch (this.material){
case BRASS -> TFMGPipeAttachmentModel::withAOBrass;
case STEEL -> TFMGPipeAttachmentModel::withAOSteel;
case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum;
case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron;
case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic;
}))
.loot((p, b) -> p.dropOther(b, this.pipe.get()))
.register();
}
@@ -144,7 +158,14 @@ public class TFMGPipeEntry {
.initialProperties(SharedProperties::copperMetal)
.transform(pickaxeOnly())
.blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true))
.onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel))
.onRegister(CreateRegistrate.blockModel(()->
switch (this.material){
case BRASS -> TFMGPipeAttachmentModel::withAOBrass;
case STEEL -> TFMGPipeAttachmentModel::withAOSteel;
case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum;
case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron;
case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic;
}))
.transform(TFMGStress.setImpact(4.0))
.item()
.transform(customItemModel())
@@ -156,7 +177,14 @@ public class TFMGPipeEntry {
.initialProperties(SharedProperties::copperMetal)
.transform(pickaxeOnly())
.blockstate(new SmartFluidPipeGenerator()::generate)
.onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel))
.onRegister(CreateRegistrate.blockModel(()->
switch (this.material){
case BRASS -> TFMGPipeAttachmentModel::withAOBrass;
case STEEL -> TFMGPipeAttachmentModel::withAOSteel;
case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum;
case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron;
case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic;
}))
.item()
.transform(customItemModel())
.register();
@@ -170,7 +198,14 @@ public class TFMGPipeEntry {
.blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p,
(state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal",
state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed")))
.onRegister(CreateRegistrate.blockModel(() -> this.attachmentModel))
.onRegister(CreateRegistrate.blockModel(()->
switch (this.material){
case BRASS -> TFMGPipeAttachmentModel::withAOBrass;
case STEEL -> TFMGPipeAttachmentModel::withAOSteel;
case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum;
case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron;
case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic;
}))
.item()
.transform(customItemModel())
.register();

View File

@@ -43,15 +43,15 @@ public class TFMGPipes {
public static final Map<PipeMaterial, TFMGPipeEntry> PIPES = new HashMap<>();
static {
PIPES.put(PipeMaterial.BRASS, createEntry(PipeMaterial.BRASS, TFMGPipeAttachmentModel::withAOBrass, TFMGSpriteShifts.BRASS_FLUID_CASING));
PIPES.put(PipeMaterial.STEEL, createEntry(PipeMaterial.STEEL, TFMGPipeAttachmentModel::withAOSteel, TFMGSpriteShifts.STEEL_FLUID_CASING));
PIPES.put(PipeMaterial.ALUMINUM, createEntry(PipeMaterial.ALUMINUM, TFMGPipeAttachmentModel::withAOAluminum, TFMGSpriteShifts.ALUMINUM_FLUID_CASING));
PIPES.put(PipeMaterial.CAST_IRON, createEntry(PipeMaterial.CAST_IRON, TFMGPipeAttachmentModel::withAOCastIron, TFMGSpriteShifts.CAST_IRON_FLUID_CASING));
PIPES.put(PipeMaterial.PLASTIC, createEntry(PipeMaterial.PLASTIC, TFMGPipeAttachmentModel::withAOPlastic, TFMGSpriteShifts.PLASTIC_FLUID_CASING));
PIPES.put(PipeMaterial.BRASS, createEntry(PipeMaterial.BRASS, TFMGSpriteShifts.BRASS_FLUID_CASING));
PIPES.put(PipeMaterial.STEEL, createEntry(PipeMaterial.STEEL, TFMGSpriteShifts.STEEL_FLUID_CASING));
PIPES.put(PipeMaterial.ALUMINUM, createEntry(PipeMaterial.ALUMINUM, TFMGSpriteShifts.ALUMINUM_FLUID_CASING));
PIPES.put(PipeMaterial.CAST_IRON, createEntry(PipeMaterial.CAST_IRON, TFMGSpriteShifts.CAST_IRON_FLUID_CASING));
PIPES.put(PipeMaterial.PLASTIC, createEntry(PipeMaterial.PLASTIC, TFMGSpriteShifts.PLASTIC_FLUID_CASING));
}
private static TFMGPipeEntry createEntry(PipeMaterial material, NonNullFunction<BakedModel, ? extends BakedModel> attachmentModel, CTSpriteShiftEntry spriteShiftEntry) {
return new TFMGPipeEntry(material, registrate).attachmentModel(attachmentModel).encasedSpriteShift(spriteShiftEntry);
private static TFMGPipeEntry createEntry(PipeMaterial material, CTSpriteShiftEntry spriteShiftEntry) {
return new TFMGPipeEntry(material, registrate).encasedSpriteShift(spriteShiftEntry);
}
public static void init() {

View File

@@ -90,6 +90,12 @@ public class RotorBlockEntity extends KineticElectricBlockEntity {
return (int) Math.max(0, ((Math.abs(getSpeed()) - maxSpeed) * modifier));
}
@Override
public void onSpeedChanged(float previousSpeed) {
super.onSpeedChanged(previousSpeed);
updateNextTick();
}
@Override
public int powerGeneration() {
return (int) (generation() * 40*1.84563);

View File

@@ -5,6 +5,10 @@ import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB;
import java.util.Iterator;
import java.util.List;
public class StatorBlockEntity extends ElectricBlockEntity implements IHaveGoggleInformation {
@@ -31,6 +35,8 @@ public class StatorBlockEntity extends ElectricBlockEntity implements IHaveGoggl
}
@Override
public void tick() {
super.tick();
@@ -43,9 +49,23 @@ public class StatorBlockEntity extends ElectricBlockEntity implements IHaveGoggl
}
}
public void updateRotor(){
Iterable<BlockPos> blocksAround = BlockPos.betweenClosed(getBlockPos().below().north().west(),getBlockPos().above().east().east());
for (BlockPos blockPos : blocksAround) {
if(level.getBlockEntity(blockPos) instanceof RotorBlockEntity be) {
be.updateNextTick();
timer = 11;
}
}
}
@Override
public void onPlaced() {
super.onPlaced();
updateRotor();
if (rotor != null)
if (level.getBlockEntity(rotor) instanceof RotorBlockEntity be) {
timer =11;
@@ -56,6 +76,7 @@ public class StatorBlockEntity extends ElectricBlockEntity implements IHaveGoggl
@Override
public void destroy() {
super.destroy();
updateRotor();
if (rotor != null)
if (level.getBlockEntity(rotor) instanceof RotorBlockEntity be) {
be.updateNextTick();

View File

@@ -97,6 +97,7 @@ public class ElectricMotorBlockEntity extends KineticElectricBlockEntity {
public void onNetworkChanged(int oldVoltage, int oldPower) {
//if (oldPower != getPowerUsage() || oldVoltage != data.voltage) {
delayedUpdate = true;
updateNextTick();
notifyUpdate();
// }
}

View File

@@ -1048,7 +1048,7 @@ public class TFMGBlocks {
.transform(pickaxeOnly())
.properties(BlockBehaviour.Properties::noOcclusion)
.blockstate(new CreativeMotorGenerator()::generate)
.transform(TFMGStress.setCapacity(45.0))
.transform(TFMGStress.setCapacity(12))
.onRegister(BlockStressValues.setGeneratorSpeed(64, true))
.item()
.transform(customItemModel())

View File

@@ -14,7 +14,7 @@ public class TFMGElectrodes {
public static final ElectrodeEntry<Electrode> copper = REGISTRATE.electrode("copper", Electrode::new)
.properties((p) -> p
.resistance(100)
.resistance(10)
.item(TFMGItems.COPPER_ELECTRODE)
.operationId("tfmg:electrode")
)
@@ -22,7 +22,7 @@ public class TFMGElectrodes {
public static final ElectrodeEntry<Electrode> zinc = REGISTRATE.electrode("zinc", Electrode::new)
.properties((p) -> p
.resistance(100)
.resistance(10)
.item(TFMGItems.ZINC_ELECTRODE)
.operationId("tfmg:electrode")
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 511 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 B

After

Width:  |  Height:  |  Size: 512 B