Skip to content

Commit 28bff24

Browse files
authored
Port hazard and exhaust interfaces to trait system (#4584)
1 parent 44df8f4 commit 28bff24

24 files changed

+564
-604
lines changed

src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
import com.gregtechceu.gtceu.api.blockentity.BlockEntityCreationInfo;
55
import com.gregtechceu.gtceu.api.capability.recipe.*;
66
import com.gregtechceu.gtceu.api.gui.editor.EditableMachineUI;
7-
import com.gregtechceu.gtceu.api.machine.feature.IEnvironmentalHazardEmitter;
87
import com.gregtechceu.gtceu.api.machine.feature.IFancyUIMachine;
8+
import com.gregtechceu.gtceu.api.machine.trait.hazard.EnvironmentalHazardEmitterTrait;
99
import com.gregtechceu.gtceu.api.recipe.GTRecipe;
1010
import com.gregtechceu.gtceu.api.recipe.GTRecipeType;
1111
import com.gregtechceu.gtceu.api.recipe.content.ContentModifier;
1212
import com.gregtechceu.gtceu.api.recipe.modifier.ModifierFunction;
1313
import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic;
1414
import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier;
1515
import com.gregtechceu.gtceu.api.recipe.ui.GTRecipeTypeUI;
16+
import com.gregtechceu.gtceu.common.data.GTMedicalConditions;
1617

1718
import com.lowdragmc.lowdraglib.gui.widget.WidgetGroup;
1819
import com.lowdragmc.lowdraglib.utils.Position;
@@ -33,17 +34,18 @@
3334
import java.util.function.BiFunction;
3435

3536
public class SimpleGeneratorMachine extends WorkableTieredMachine
36-
implements IFancyUIMachine, IEnvironmentalHazardEmitter {
37+
implements IFancyUIMachine {
3738

3839
@Getter
39-
private final float hazardStrengthPerOperation;
40+
private final EnvironmentalHazardEmitterTrait hazardEmitter;
4041

4142
public SimpleGeneratorMachine(BlockEntityCreationInfo info, int tier,
4243
float hazardStrengthPerOperation, Int2IntFunction tankScalingFunction) {
4344
super(info, tier, tankScalingFunction);
4445

4546
energyContainer.setSideOutputCondition(side -> !hasFrontFacing() || side == getFrontFacing());
46-
this.hazardStrengthPerOperation = hazardStrengthPerOperation;
47+
this.hazardEmitter = new EnvironmentalHazardEmitterTrait(this, GTMedicalConditions.CARBON_MONOXIDE_POISONING,
48+
hazardStrengthPerOperation);
4749
}
4850

4951
public SimpleGeneratorMachine(BlockEntityCreationInfo info, int tier, Int2IntFunction tankScalingFunction) {
@@ -112,7 +114,7 @@ public boolean canVoidRecipeOutputs(RecipeCapability<?> capability) {
112114
@Override
113115
public void afterWorking() {
114116
super.afterWorking();
115-
spreadEnvironmentalHazard();
117+
hazardEmitter.emitHazard();
116118
}
117119

118120
@Override

src/main/java/com/gregtechceu/gtceu/api/machine/feature/IEnvironmentalHazardCleaner.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/com/gregtechceu/gtceu/api/machine/feature/IEnvironmentalHazardEmitter.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

src/main/java/com/gregtechceu/gtceu/api/machine/feature/IExhaustVentMachine.java

Lines changed: 0 additions & 184 deletions
This file was deleted.

src/main/java/com/gregtechceu/gtceu/api/machine/feature/ILocalizedHazardEmitter.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)