Fix fluid renderer min height
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user