|
4 | 4 | import com.gregtechceu.gtceu.api.blockentity.BlockEntityCreationInfo; |
5 | 5 | import com.gregtechceu.gtceu.api.capability.recipe.*; |
6 | 6 | import com.gregtechceu.gtceu.api.gui.editor.EditableMachineUI; |
7 | | -import com.gregtechceu.gtceu.api.machine.feature.IEnvironmentalHazardEmitter; |
8 | 7 | import com.gregtechceu.gtceu.api.machine.feature.IFancyUIMachine; |
| 8 | +import com.gregtechceu.gtceu.api.machine.trait.hazard.EnvironmentalHazardEmitterTrait; |
9 | 9 | import com.gregtechceu.gtceu.api.recipe.GTRecipe; |
10 | 10 | import com.gregtechceu.gtceu.api.recipe.GTRecipeType; |
11 | 11 | import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; |
12 | 12 | import com.gregtechceu.gtceu.api.recipe.modifier.ModifierFunction; |
13 | 13 | import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic; |
14 | 14 | import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; |
15 | 15 | import com.gregtechceu.gtceu.api.recipe.ui.GTRecipeTypeUI; |
| 16 | +import com.gregtechceu.gtceu.common.data.GTMedicalConditions; |
16 | 17 |
|
17 | 18 | import com.lowdragmc.lowdraglib.gui.widget.WidgetGroup; |
18 | 19 | import com.lowdragmc.lowdraglib.utils.Position; |
|
33 | 34 | import java.util.function.BiFunction; |
34 | 35 |
|
35 | 36 | public class SimpleGeneratorMachine extends WorkableTieredMachine |
36 | | - implements IFancyUIMachine, IEnvironmentalHazardEmitter { |
| 37 | + implements IFancyUIMachine { |
37 | 38 |
|
38 | 39 | @Getter |
39 | | - private final float hazardStrengthPerOperation; |
| 40 | + private final EnvironmentalHazardEmitterTrait hazardEmitter; |
40 | 41 |
|
41 | 42 | public SimpleGeneratorMachine(BlockEntityCreationInfo info, int tier, |
42 | 43 | float hazardStrengthPerOperation, Int2IntFunction tankScalingFunction) { |
43 | 44 | super(info, tier, tankScalingFunction); |
44 | 45 |
|
45 | 46 | energyContainer.setSideOutputCondition(side -> !hasFrontFacing() || side == getFrontFacing()); |
46 | | - this.hazardStrengthPerOperation = hazardStrengthPerOperation; |
| 47 | + this.hazardEmitter = new EnvironmentalHazardEmitterTrait(this, GTMedicalConditions.CARBON_MONOXIDE_POISONING, |
| 48 | + hazardStrengthPerOperation); |
47 | 49 | } |
48 | 50 |
|
49 | 51 | public SimpleGeneratorMachine(BlockEntityCreationInfo info, int tier, Int2IntFunction tankScalingFunction) { |
@@ -112,7 +114,7 @@ public boolean canVoidRecipeOutputs(RecipeCapability<?> capability) { |
112 | 114 | @Override |
113 | 115 | public void afterWorking() { |
114 | 116 | super.afterWorking(); |
115 | | - spreadEnvironmentalHazard(); |
| 117 | + hazardEmitter.emitHazard(); |
116 | 118 | } |
117 | 119 |
|
118 | 120 | @Override |
|
0 commit comments