Fix fluid renderer min height

This commit is contained in:
raoulvdberge
2019-10-21 18:55:16 +02:00
parent e0bd3b6bfa
commit 139af22a67
2 changed files with 11 additions and 13 deletions

View File

@@ -12,29 +12,30 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nullable; import javax.annotation.Nonnull;
/** /**
* @link https://github.com/mezz/JustEnoughItems/blob/1.14/src/main/java/mezz/jei/plugins/vanilla/ingredients/fluid/FluidStackRenderer.java * @link https://github.com/mezz/JustEnoughItems/blob/1.14/src/main/java/mezz/jei/plugins/vanilla/ingredients/fluid/FluidStackRenderer.java
*/ */
public class FluidRenderer { public class FluidRenderer {
public static final FluidRenderer INSTANCE = new FluidRenderer(FluidAttributes.BUCKET_VOLUME, 16, 16); public static final FluidRenderer INSTANCE = new FluidRenderer(FluidAttributes.BUCKET_VOLUME, 16, 16, 16);
private static final int TEX_WIDTH = 16; private static final int TEX_WIDTH = 16;
private static final int TEX_HEIGHT = 16; private static final int TEX_HEIGHT = 16;
private static final int MIN_FLUID_HEIGHT = 1;
private final int capacityMb; private final int capacityMb;
private final int width; private final int width;
private final int height; private final int height;
private final int minHeight;
public FluidRenderer(int capacityMb, int width, int height) { public FluidRenderer(int capacityMb, int width, int height, int minHeight) {
this.capacityMb = capacityMb; this.capacityMb = capacityMb;
this.width = width; this.width = width;
this.height = height; this.height = height;
this.minHeight = minHeight;
} }
public void render(final int xPosition, final int yPosition, @Nullable FluidStack fluidStack) { public void render(final int xPosition, final int yPosition, @Nonnull FluidStack fluidStack) {
GlStateManager.enableBlend(); GlStateManager.enableBlend();
GlStateManager.enableAlphaTest(); GlStateManager.enableAlphaTest();
@@ -46,15 +47,12 @@ public class FluidRenderer {
GlStateManager.disableBlend(); GlStateManager.disableBlend();
} }
private void drawFluid(final int xPosition, final int yPosition, @Nullable FluidStack fluidStack) { private void drawFluid(final int xPosition, final int yPosition, @Nonnull FluidStack fluidStack) {
if (fluidStack == null) { if (fluidStack.isEmpty()) {
return; return;
} }
Fluid fluid = fluidStack.getFluid(); Fluid fluid = fluidStack.getFluid();
if (fluid == null) {
return;
}
TextureAtlasSprite fluidStillSprite = getStillFluidSprite(fluidStack); TextureAtlasSprite fluidStillSprite = getStillFluidSprite(fluidStack);
@@ -63,8 +61,8 @@ public class FluidRenderer {
int amount = fluidStack.getAmount(); int amount = fluidStack.getAmount();
int scaledAmount = (amount * height) / capacityMb; int scaledAmount = (amount * height) / capacityMb;
if (amount > 0 && scaledAmount < MIN_FLUID_HEIGHT) { if (amount > 0 && scaledAmount < minHeight) {
scaledAmount = MIN_FLUID_HEIGHT; scaledAmount = minHeight;
} }
if (scaledAmount > height) { if (scaledAmount > height) {
scaledAmount = height; scaledAmount = height;

View File

@@ -14,7 +14,7 @@ import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
public class FluidInterfaceScreen extends BaseScreen<FluidInterfaceContainer> { public class FluidInterfaceScreen extends BaseScreen<FluidInterfaceContainer> {
private static final FluidRenderer TANK_RENDERER = new FluidRenderer(FluidInterfaceNetworkNode.TANK_CAPACITY, 12, 47); private static final FluidRenderer TANK_RENDERER = new FluidRenderer(FluidInterfaceNetworkNode.TANK_CAPACITY, 12, 47, 1);
public FluidInterfaceScreen(FluidInterfaceContainer container, PlayerInventory inventory, ITextComponent title) { public FluidInterfaceScreen(FluidInterfaceContainer container, PlayerInventory inventory, ITextComponent title) {
super(container, 211, 204, inventory, title); super(container, 211, 204, inventory, title);