Files
SuperNova/src/main/java/net/halbear/supernova/custom/fluid/SupernovaFluidAttributes.java
T
2026-05-17 00:47:05 +01:00

49 lines
1.5 KiB
Java

package net.halbear.supernova.custom.fluid;
import net.minecraft.fluid.Fluid;
import net.minecraft.util.ResourceLocation;
import java.util.function.BiFunction;
public class SupernovaFluidAttributes {
private final boolean flammable;
private final boolean ExpandsGas;
private final ResourceLocation OverlayTexture;
protected SupernovaFluidAttributes(SupernovaFluidBuilder ExtendedBuilder, Fluid fluid) {
this.flammable = ExtendedBuilder.flammable;
this.ExpandsGas = ExtendedBuilder.ExpandsGas;
this.OverlayTexture = ExtendedBuilder.OverlayTexture;
}
public static SupernovaFluidBuilder Supernovabuilder(ResourceLocation OVERLAY_TEXTURE) {
return new SupernovaFluidBuilder(OVERLAY_TEXTURE, SupernovaFluidAttributes::new);
}
public static class SupernovaFluidBuilder {
private ResourceLocation OverlayTexture;
private boolean flammable;
private boolean ExpandsGas;
private BiFunction<SupernovaFluidBuilder, Fluid, SupernovaFluidAttributes> factory;
protected SupernovaFluidBuilder(ResourceLocation OVERLAY_TEXTURE, BiFunction<SupernovaFluidBuilder, Fluid, SupernovaFluidAttributes> factory) {
this.factory = factory;
this.OverlayTexture = OVERLAY_TEXTURE;
}
public final SupernovaFluidBuilder Flammable() {
this.flammable = true;
return this;
}
public final SupernovaFluidBuilder GasExpands() {
this.ExpandsGas = true;
return this;
}
}
}