diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-08-09 20:47:52 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-08-09 20:47:52 +0800 |
| commit | 019aa13875ca639dda2f34c66e3160f72b923cfd (patch) | |
| tree | 71ba416e597b6eefe561209357f0c95252c3f4f5 /src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java | |
| parent | dd680c2cd41f11eccd294ca30c38b82565cd1633 (diff) | |
| download | RoughlyEnoughItems-019aa13875ca639dda2f34c66e3160f72b923cfd.tar.gz RoughlyEnoughItems-019aa13875ca639dda2f34c66e3160f72b923cfd.tar.bz2 RoughlyEnoughItems-019aa13875ca639dda2f34c66e3160f72b923cfd.zip | |
Fluid?
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java new file mode 100644 index 000000000..2a777afad --- /dev/null +++ b/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java @@ -0,0 +1,54 @@ +package me.shedaniel.rei.gui.renderers; + +import com.google.common.collect.Lists; +import me.shedaniel.rei.RoughlyEnoughItemsCore; +import me.shedaniel.rei.api.ClientHelper; +import me.shedaniel.rei.api.Renderer; +import me.shedaniel.rei.client.ScreenHelper; +import me.shedaniel.rei.gui.widget.EntryListOverlay; +import me.shedaniel.rei.gui.widget.QueuedTooltip; +import net.minecraft.fluid.Fluid; +import net.minecraft.util.registry.Registry; + +import java.util.Collections; +import java.util.List; + +public abstract class FluidRenderer extends Renderer { + public boolean drawTooltip = false; + + @Override + public void render(int x, int y, double mouseX, double mouseY, float delta) { + int l = x - 8, i1 = y - 6; + // TODO: Render Fluid + if (drawTooltip && mouseX >= x - 8 && mouseX <= x + 8 && mouseY >= y - 6 && mouseY <= y + 10) + queueTooltip(getFluid(), delta); + this.drawTooltip = false; + } + + protected void queueTooltip(Fluid fluid, float delta) { + ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltip(fluid))); + } + + private List<String> getTooltip(Fluid fluid) { + List<String> toolTip = Lists.newArrayList(EntryListOverlay.tryGetFluidName(fluid)); + if (RoughlyEnoughItemsCore.getConfigManager().getConfig().shouldAppendModNames()) { + final String modString = ClientHelper.getInstance().getFormattedModFromIdentifier(Registry.FLUID.getId(fluid)); + toolTip.addAll(getExtraToolTips(fluid)); + boolean alreadyHasMod = false; + for (String s : toolTip) + if (s.equalsIgnoreCase(modString)) { + alreadyHasMod = true; + break; + } + if (!alreadyHasMod) + toolTip.add(modString); + } + return toolTip; + } + + protected List<String> getExtraToolTips(Fluid stack) { + return Collections.emptyList(); + } + + public abstract Fluid getFluid(); +} |
