39 lines
1.7 KiB
Diff
39 lines
1.7 KiB
Diff
--- a/net/minecraft/fluid/Fluid.java
|
|
+++ b/net/minecraft/fluid/Fluid.java
|
|
@@ -18,7 +18,7 @@
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
|
|
-public abstract class Fluid {
|
|
+public abstract class Fluid extends net.minecraftforge.registries.ForgeRegistryEntry<Fluid> implements net.minecraftforge.common.extensions.IForgeFluid {
|
|
public static final ObjectIntIdentityMap<FluidState> field_207201_d = new ObjectIntIdentityMap<>();
|
|
protected final StateContainer<Fluid, FluidState> field_207202_e;
|
|
private FluidState field_207200_b;
|
|
@@ -98,4 +98,26 @@
|
|
}
|
|
|
|
public abstract VoxelShape func_215664_b(FluidState p_215664_1_, IBlockReader p_215664_2_, BlockPos p_215664_3_);
|
|
+
|
|
+ private final net.minecraftforge.common.util.ReverseTagWrapper<Fluid> reverseTags = new net.minecraftforge.common.util.ReverseTagWrapper<>(this, net.minecraft.tags.FluidTags::func_226157_a_);
|
|
+ @Override
|
|
+ public java.util.Set<net.minecraft.util.ResourceLocation> getTags() {
|
|
+ return reverseTags.getTagNames();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Creates the fluid attributes object, which will contain all the extended values for the fluid that aren't part of the vanilla system.
|
|
+ * Do not call this from outside. To retrieve the values use {@link Fluid#getAttributes()}
|
|
+ */
|
|
+ protected net.minecraftforge.fluids.FluidAttributes createAttributes()
|
|
+ {
|
|
+ return net.minecraftforge.common.ForgeHooks.createVanillaFluidAttributes(this);
|
|
+ }
|
|
+
|
|
+ private net.minecraftforge.fluids.FluidAttributes forgeFluidAttributes;
|
|
+ public final net.minecraftforge.fluids.FluidAttributes getAttributes() {
|
|
+ if (forgeFluidAttributes == null)
|
|
+ forgeFluidAttributes = createAttributes();
|
|
+ return forgeFluidAttributes;
|
|
+ }
|
|
}
|