diff --git a/src/main/java/gregtech/api/capability/IPropertyFluidFilter.java b/src/main/java/gregtech/api/capability/IPropertyFluidFilter.java index 1b97a5a3e2a..a1f74ebf60e 100644 --- a/src/main/java/gregtech/api/capability/IPropertyFluidFilter.java +++ b/src/main/java/gregtech/api/capability/IPropertyFluidFilter.java @@ -25,7 +25,7 @@ * @see gregtech.api.fluids.attribute.FluidAttributes * @see AttributedFluid */ -public interface IPropertyFluidFilter extends IFilter { +public interface IPropertyFluidFilter extends IFilter { @Override default boolean test(@NotNull FluidStack stack) { @@ -79,7 +79,7 @@ default int getPriority() { * @param attribute the attribute to change containment status for * @param canContain whether the attribute can be contained */ - void setCanContain(@NotNull FluidAttribute attribute, boolean canContain); + R setCanContain(@NotNull FluidAttribute attribute, boolean canContain); @NotNull @UnmodifiableView diff --git a/src/main/java/gregtech/api/capability/impl/PropertyFluidFilter.java b/src/main/java/gregtech/api/capability/impl/PropertyFluidFilter.java index deb8e12d8d3..e61a395a312 100644 --- a/src/main/java/gregtech/api/capability/impl/PropertyFluidFilter.java +++ b/src/main/java/gregtech/api/capability/impl/PropertyFluidFilter.java @@ -12,7 +12,7 @@ import java.util.Collection; -public class PropertyFluidFilter implements IPropertyFluidFilter { +public class PropertyFluidFilter implements IPropertyFluidFilter { private final Object2BooleanMap containmentPredicate = new Object2BooleanOpenHashMap<>(); @@ -48,8 +48,9 @@ public boolean canContain(@NotNull FluidAttribute attribute) { } @Override - public void setCanContain(@NotNull FluidAttribute attribute, boolean canContain) { + public PropertyFluidFilter setCanContain(@NotNull FluidAttribute attribute, boolean canContain) { containmentPredicate.put(attribute, canContain); + return this; } @Override diff --git a/src/main/java/gregtech/api/unification/material/properties/BlastProperty.java b/src/main/java/gregtech/api/unification/material/properties/BlastProperty.java index 61670ea18f9..522743cda13 100644 --- a/src/main/java/gregtech/api/unification/material/properties/BlastProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/BlastProperty.java @@ -81,49 +81,55 @@ public int getBlastTemperature() { return blastTemperature; } - public void setBlastTemperature(int blastTemp) { + public BlastProperty setBlastTemperature(int blastTemp) { if (blastTemp <= 0) throw new IllegalArgumentException("Blast Temperature must be greater than zero!"); this.blastTemperature = blastTemp; + return this; } public GasTier getGasTier() { return gasTier; } - public void setGasTier(@NotNull GasTier tier) { + public BlastProperty setGasTier(@NotNull GasTier tier) { this.gasTier = tier; + return this; } public int getDurationOverride() { return durationOverride; } - public void setDurationOverride(int duration) { + public BlastProperty setDurationOverride(int duration) { this.durationOverride = duration; + return this; } public int getEUtOverride() { return eutOverride; } - public void setEutOverride(int eut) { + public BlastProperty setEutOverride(int eut) { this.eutOverride = eut; + return this; } public int getVacuumDurationOverride() { return vacuumDurationOverride; } - public void setVacuumDurationOverride(int duration) { + public BlastProperty setVacuumDurationOverride(int duration) { this.vacuumDurationOverride = duration; + return this; } public int getVacuumEUtOverride() { return vacuumEUtOverride; } - public void setVacuumEutOverride(int eut) { + public BlastProperty setVacuumEutOverride(int eut) { this.vacuumEUtOverride = eut; + return this; } @Override diff --git a/src/main/java/gregtech/api/unification/material/properties/DustProperty.java b/src/main/java/gregtech/api/unification/material/properties/DustProperty.java index 55f66933f2c..65c7c5f3974 100644 --- a/src/main/java/gregtech/api/unification/material/properties/DustProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/DustProperty.java @@ -29,18 +29,20 @@ public DustProperty() { this(2, 0); } - public void setHarvestLevel(int harvestLevel) { + public DustProperty setHarvestLevel(int harvestLevel) { if (harvestLevel <= 0) throw new IllegalArgumentException("Harvest Level must be greater than zero!"); this.harvestLevel = harvestLevel; + return this; } public int getHarvestLevel() { return this.harvestLevel; } - public void setBurnTime(int burnTime) { + public DustProperty setBurnTime(int burnTime) { if (burnTime < 0) throw new IllegalArgumentException("Burn Time cannot be negative!"); this.burnTime = burnTime; + return this; } public int getBurnTime() { diff --git a/src/main/java/gregtech/api/unification/material/properties/ExtraToolProperty.java b/src/main/java/gregtech/api/unification/material/properties/ExtraToolProperty.java index e9d406b8f70..86cd1fbee21 100644 --- a/src/main/java/gregtech/api/unification/material/properties/ExtraToolProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/ExtraToolProperty.java @@ -28,11 +28,11 @@ public OverrideToolProperty() { } // It does not make much sense to set these overrides: - public void setShouldIgnoreCraftingTools(boolean ignore) { + public OverrideToolProperty setShouldIgnoreCraftingTools(boolean ignore) { throw new UnsupportedOperationException(); } - public void setUnbreakable(boolean isUnbreakable) { + public OverrideToolProperty setUnbreakable(boolean isUnbreakable) { throw new UnsupportedOperationException(); } diff --git a/src/main/java/gregtech/api/unification/material/properties/FluidPipeProperties.java b/src/main/java/gregtech/api/unification/material/properties/FluidPipeProperties.java index 5bd1ce7e1ec..5e43430d93e 100644 --- a/src/main/java/gregtech/api/unification/material/properties/FluidPipeProperties.java +++ b/src/main/java/gregtech/api/unification/material/properties/FluidPipeProperties.java @@ -13,7 +13,7 @@ import java.util.Collection; import java.util.Objects; -public class FluidPipeProperties implements IMaterialProperty, IPropertyFluidFilter { +public class FluidPipeProperties implements IMaterialProperty, IPropertyFluidFilter { private final Object2BooleanMap containmentPredicate = new Object2BooleanOpenHashMap<>(); @@ -73,8 +73,9 @@ public int getThroughput() { return throughput; } - public void setThroughput(int throughput) { + public FluidPipeProperties setThroughput(int throughput) { this.throughput = throughput; + return this; } @Override @@ -82,8 +83,9 @@ public int getMaxFluidTemperature() { return maxFluidTemperature; } - public void setMaxFluidTemperature(int maxFluidTemperature) { + public FluidPipeProperties setMaxFluidTemperature(int maxFluidTemperature) { this.maxFluidTemperature = maxFluidTemperature; + return this; } @Override @@ -101,8 +103,9 @@ public boolean canContain(@NotNull FluidAttribute attribute) { } @Override - public void setCanContain(@NotNull FluidAttribute attribute, boolean canContain) { + public FluidPipeProperties setCanContain(@NotNull FluidAttribute attribute, boolean canContain) { this.containmentPredicate.put(attribute, canContain); + return this; } @Override @@ -114,8 +117,9 @@ public boolean isGasProof() { return gasProof; } - public void setGasProof(boolean gasProof) { + public FluidPipeProperties setGasProof(boolean gasProof) { this.gasProof = gasProof; + return this; } public boolean isAcidProof() { @@ -126,16 +130,18 @@ public boolean isCryoProof() { return cryoProof; } - public void setCryoProof(boolean cryoProof) { + public FluidPipeProperties setCryoProof(boolean cryoProof) { this.cryoProof = cryoProof; + return this; } public boolean isPlasmaProof() { return plasmaProof; } - public void setPlasmaProof(boolean plasmaProof) { + public FluidPipeProperties setPlasmaProof(boolean plasmaProof) { this.plasmaProof = plasmaProof; + return this; } @Override diff --git a/src/main/java/gregtech/api/unification/material/properties/FluidProperty.java b/src/main/java/gregtech/api/unification/material/properties/FluidProperty.java index 2d88d0241b0..f97df1d339e 100644 --- a/src/main/java/gregtech/api/unification/material/properties/FluidProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/FluidProperty.java @@ -81,8 +81,9 @@ public void store(@NotNull FluidStorageKey key, @NotNull Fluid fluid) { /** * @param primaryKey the key to use primarily */ - public void setPrimaryKey(@NotNull FluidStorageKey primaryKey) { + public FluidProperty setPrimaryKey(@NotNull FluidStorageKey primaryKey) { this.primaryKey = primaryKey; + return this; } @Override @@ -116,7 +117,8 @@ public FluidStack solidifiesFrom(int amount) { * @param solidifyingFluid The Fluid which solidifies into the material. If left null, it will be left as the * default value: the material's liquid. */ - public void setSolidifyingFluid(@Nullable Fluid solidifyingFluid) { + public FluidProperty setSolidifyingFluid(@Nullable Fluid solidifyingFluid) { this.solidifyingFluid = solidifyingFluid; + return this; } } diff --git a/src/main/java/gregtech/api/unification/material/properties/IngotProperty.java b/src/main/java/gregtech/api/unification/material/properties/IngotProperty.java index 79b5d09eb9e..5222f42b191 100644 --- a/src/main/java/gregtech/api/unification/material/properties/IngotProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/IngotProperty.java @@ -29,24 +29,27 @@ public class IngotProperty implements IMaterialProperty { @Nullable private Material magneticMaterial; - public void setSmeltingInto(Material smeltInto) { + public IngotProperty setSmeltingInto(Material smeltInto) { this.smeltInto = smeltInto; + return this; } public Material getSmeltingInto() { return this.smeltInto; } - public void setArcSmeltingInto(Material arcSmeltingInto) { + public IngotProperty setArcSmeltingInto(Material arcSmeltingInto) { this.arcSmeltInto = arcSmeltingInto; + return this; } public Material getArcSmeltInto() { return this.arcSmeltInto; } - public void setMagneticMaterial(@Nullable Material magneticMaterial) { + public IngotProperty setMagneticMaterial(@Nullable Material magneticMaterial) { this.magneticMaterial = magneticMaterial; + return this; } @Nullable @@ -54,8 +57,9 @@ public Material getMagneticMaterial() { return magneticMaterial; } - public void setMacerateInto(Material macerateInto) { + public IngotProperty setMacerateInto(Material macerateInto) { this.macerateInto = macerateInto; + return this; } public Material getMacerateInto() { diff --git a/src/main/java/gregtech/api/unification/material/properties/ItemPipeProperties.java b/src/main/java/gregtech/api/unification/material/properties/ItemPipeProperties.java index 8314d4a7c07..1d0590cfbd6 100644 --- a/src/main/java/gregtech/api/unification/material/properties/ItemPipeProperties.java +++ b/src/main/java/gregtech/api/unification/material/properties/ItemPipeProperties.java @@ -38,8 +38,9 @@ public int getPriority() { /** * Sets the Priority of the item pipe */ - public void setPriority(int priority) { + public ItemPipeProperties setPriority(int priority) { this.priority = priority; + return this; } /** @@ -56,8 +57,9 @@ public float getTransferRate() { * * @param transferRate The transfer rate */ - public void setTransferRate(float transferRate) { + public ItemPipeProperties setTransferRate(float transferRate) { this.transferRate = transferRate; + return this; } @Override diff --git a/src/main/java/gregtech/api/unification/material/properties/OreProperty.java b/src/main/java/gregtech/api/unification/material/properties/OreProperty.java index acac622967b..3fe487c5a2e 100644 --- a/src/main/java/gregtech/api/unification/material/properties/OreProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/OreProperty.java @@ -105,16 +105,18 @@ public OreProperty() { this(1, 1); } - public void setOreMultiplier(int multiplier) { + public OreProperty setOreMultiplier(int multiplier) { this.oreMultiplier = multiplier; + return this; } public int getOreMultiplier() { return this.oreMultiplier; } - public void setByProductMultiplier(int multiplier) { + public OreProperty setByProductMultiplier(int multiplier) { this.byProductMultiplier = multiplier; + return this; } public int getByProductMultiplier() { @@ -125,12 +127,14 @@ public boolean isEmissive() { return emissive; } - public void setEmissive(boolean emissive) { + public OreProperty setEmissive(boolean emissive) { this.emissive = emissive; + return this; } - public void setDirectSmeltResult(@Nullable Material m) { + public OreProperty setDirectSmeltResult(@Nullable Material m) { this.directSmeltResult = m; + return this; } @Nullable @@ -138,21 +142,24 @@ public Material getDirectSmeltResult() { return this.directSmeltResult; } - public void setWashedIn(@Nullable Material m) { + public OreProperty setWashedIn(@Nullable Material m) { this.washedIn = m; + return this; } - public void setWashedIn(@Nullable Material m, int washedAmount) { + public OreProperty setWashedIn(@Nullable Material m, int washedAmount) { this.washedIn = m; this.washedAmount = washedAmount; + return this; } public Pair getWashedIn() { return Pair.of(this.washedIn, this.washedAmount); } - public void setSeparatedInto(Material... materials) { + public OreProperty setSeparatedInto(Material... materials) { this.separatedInto.addAll(Arrays.asList(materials)); + return this; } @Nullable @@ -165,8 +172,9 @@ public List getSeparatedInto() { * * @param materials the materials to use as byproducts */ - public void setOreByProducts(@NotNull Material... materials) { + public OreProperty setOreByProducts(@NotNull Material... materials) { setOreByProducts(Arrays.asList(materials)); + return this; } /** @@ -174,9 +182,10 @@ public void setOreByProducts(@NotNull Material... materials) { * * @param materials the materials to use as byproducts */ - public void setOreByProducts(@NotNull Collection materials) { + public OreProperty setOreByProducts(@NotNull Collection materials) { this.oreByProducts.clear(); this.oreByProducts.addAll(materials); + return this; } /** @@ -184,8 +193,9 @@ public void setOreByProducts(@NotNull Collection materials) { * * @param materials the materials to add as byproducts */ - public void addOreByProducts(@NotNull Material... materials) { + public OreProperty addOreByProducts(@NotNull Material... materials) { this.oreByProducts.addAll(Arrays.asList(materials)); + return this; } public List getOreByProducts() { diff --git a/src/main/java/gregtech/api/unification/material/properties/RotorProperty.java b/src/main/java/gregtech/api/unification/material/properties/RotorProperty.java index 6864c810ca5..056d2f2637e 100644 --- a/src/main/java/gregtech/api/unification/material/properties/RotorProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/RotorProperty.java @@ -35,27 +35,30 @@ public float getSpeed() { return speed; } - public void setSpeed(float speed) { + public RotorProperty setSpeed(float speed) { if (speed <= 0) throw new IllegalArgumentException("Rotor Speed must be greater than zero!"); this.speed = speed; + return this; } public float getDamage() { return damage; } - public void setDamage(float damage) { + public RotorProperty setDamage(float damage) { if (damage <= 0) throw new IllegalArgumentException("Rotor Attack Damage must be greater than zero!"); this.damage = damage; + return this; } public int getDurability() { return durability; } - public void setDurability(int durability) { + public RotorProperty setDurability(int durability) { if (durability <= 0) throw new IllegalArgumentException("Rotor Durability must be greater than zero!"); this.durability = durability; + return this; } @Override diff --git a/src/main/java/gregtech/api/unification/material/properties/ToolProperty.java b/src/main/java/gregtech/api/unification/material/properties/ToolProperty.java index 7ed7f0fac8f..23e88a82a8f 100644 --- a/src/main/java/gregtech/api/unification/material/properties/ToolProperty.java +++ b/src/main/java/gregtech/api/unification/material/properties/ToolProperty.java @@ -107,80 +107,90 @@ public float getToolSpeed() { return harvestSpeed; } - public void setToolSpeed(float toolSpeed) { + public ToolProperty setToolSpeed(float toolSpeed) { this.harvestSpeed = toolSpeed; + return this; } public float getToolAttackDamage() { return attackDamage; } - public void setToolAttackDamage(float toolAttackDamage) { + public ToolProperty setToolAttackDamage(float toolAttackDamage) { this.attackDamage = toolAttackDamage; + return this; } public float getToolAttackSpeed() { return attackSpeed; } - public void setToolAttackSpeed(float toolAttackSpeed) { + public ToolProperty setToolAttackSpeed(float toolAttackSpeed) { this.attackSpeed = toolAttackSpeed; + return this; } public int getToolDurability() { return durability; } - public void setToolDurability(int toolDurability) { + public ToolProperty setToolDurability(int toolDurability) { this.durability = toolDurability; + return this; } public int getToolHarvestLevel() { return this.harvestLevel; } - public void setToolHarvestLevel(int toolHarvestLevel) { + public ToolProperty setToolHarvestLevel(int toolHarvestLevel) { this.harvestLevel = toolHarvestLevel; + return this; } public int getToolEnchantability() { return enchantability; } - public void setToolEnchantability(int toolEnchantability) { + public ToolProperty setToolEnchantability(int toolEnchantability) { this.enchantability = toolEnchantability; + return this; } public boolean getShouldIgnoreCraftingTools() { return ignoreCraftingTools; } - public void setShouldIgnoreCraftingTools(boolean ignore) { + public ToolProperty setShouldIgnoreCraftingTools(boolean ignore) { this.ignoreCraftingTools = ignore; + return this; } public boolean getUnbreakable() { return isUnbreakable; } - public void setUnbreakable(boolean isUnbreakable) { + public ToolProperty setUnbreakable(boolean isUnbreakable) { this.isUnbreakable = isUnbreakable; + return this; } public Object2ObjectMap getEnchantments() { return enchantments; } - public void setMagnetic(boolean isMagnetic) { + public ToolProperty setMagnetic(boolean isMagnetic) { this.isMagnetic = isMagnetic; + return this; } public boolean isMagnetic() { return isMagnetic; } - public void setDurabilityMultiplier(int multiplier) { + public ToolProperty setDurabilityMultiplier(int multiplier) { this.durabilityMultiplier = multiplier; + return this; } public int getDurabilityMultiplier() { diff --git a/src/main/java/gregtech/api/unification/material/properties/WireProperties.java b/src/main/java/gregtech/api/unification/material/properties/WireProperties.java index 7335be2e0c7..21f05947310 100644 --- a/src/main/java/gregtech/api/unification/material/properties/WireProperties.java +++ b/src/main/java/gregtech/api/unification/material/properties/WireProperties.java @@ -53,8 +53,9 @@ public int getVoltage() { * * @param voltage The new wire voltage */ - public void setVoltage(int voltage) { + public WireProperties setVoltage(int voltage) { this.voltage = voltage; + return this; } /** @@ -71,8 +72,9 @@ public int getAmperage() { * * @param amperage The new current wire amperage */ - public void setAmperage(int amperage) { + public WireProperties setAmperage(int amperage) { this.amperage = amperage; + return this; } /** @@ -89,8 +91,9 @@ public int getLossPerBlock() { * * @param lossPerBlock The new wire loss per block */ - public void setLossPerBlock(int lossPerBlock) { + public WireProperties setLossPerBlock(int lossPerBlock) { this.lossPerBlock = lossPerBlock; + return this; } /** @@ -107,8 +110,9 @@ public boolean isSuperconductor() { * * @param isSuperconductor The new wire superconductor status */ - public void setSuperconductor(boolean isSuperconductor) { + public WireProperties setSuperconductor(boolean isSuperconductor) { this.isSuperconductor = isSuperconductor; + return this; } /** @@ -126,8 +130,9 @@ public int getSuperconductorCriticalTemperature() { * * @param criticalTemperature The new critical temperature */ - public void setSuperconductorCriticalTemperature(int criticalTemperature) { + public WireProperties setSuperconductorCriticalTemperature(int criticalTemperature) { this.superconductorCriticalTemperature = this.isSuperconductor ? criticalTemperature : 0; + return this; } @Override