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/widget/SlotWidget.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/widget/SlotWidget.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java index f078e0b27..df7ece3ac 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java @@ -12,11 +12,14 @@ 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.renderers.FluidRenderer; import me.shedaniel.rei.gui.renderers.ItemStackRenderer; import net.minecraft.client.gui.Element; +import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.registry.Registry; import java.awt.*; import java.util.Collections; @@ -133,6 +136,11 @@ public class SlotWidget extends WidgetWithBounds { renderer.render(x + 8, y + 6, mouseX, mouseY, delta); if (!getCurrentItemStack().isEmpty() && highlighted && showToolTips) queueTooltip(getCurrentItemStack(), delta); + } else if (isCurrentRendererFluid()) { + renderer.setBlitOffset(200); + renderer.render(x + 8, y + 6, mouseX, mouseY, delta); + if (((FluidRenderer) renderer).getFluid() != null && highlighted && showToolTips) + queueTooltip(((FluidRenderer) renderer).getFluid(), delta); } else { renderer.setBlitOffset(200); renderer.render(x + 8, y + 6, mouseX, mouseY, delta); @@ -147,13 +155,34 @@ public class SlotWidget extends WidgetWithBounds { this.blitOffset = offset; } + 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)); + toolTip.addAll(getExtraFluidToolTips(fluid)); + if (RoughlyEnoughItemsCore.getConfigManager().getConfig().shouldAppendModNames()) { + final String modString = ClientHelper.getInstance().getFormattedModFromIdentifier(Registry.FLUID.getId(fluid)); + boolean alreadyHasMod = false; + for (String s : toolTip) + if (s.equalsIgnoreCase(modString)) { + alreadyHasMod = true; + break; + } + if (!alreadyHasMod) + toolTip.add(modString); + } + return toolTip; + } + protected void queueTooltip(ItemStack itemStack, float delta) { ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltip(itemStack))); } protected List<String> getTooltip(ItemStack itemStack) { - List<String> toolTip = Lists.newArrayList(ItemListOverlay.tryGetItemStackToolTip(itemStack, true)); - toolTip.addAll(getExtraToolTips(itemStack)); + List<String> toolTip = Lists.newArrayList(EntryListOverlay.tryGetItemStackToolTip(itemStack, true)); + toolTip.addAll(getExtraItemToolTips(itemStack)); if (RoughlyEnoughItemsCore.getConfigManager().getConfig().shouldAppendModNames()) { final String modString = ClientHelper.getInstance().getFormattedModFromItem(itemStack.getItem()); String s1 = ClientHelper.getInstance().getModFromItem(itemStack.getItem()).toLowerCase(Locale.ROOT); @@ -165,7 +194,11 @@ public class SlotWidget extends WidgetWithBounds { return toolTip; } - protected List<String> getExtraToolTips(ItemStack stack) { + protected List<String> getExtraItemToolTips(ItemStack stack) { + return Collections.emptyList(); + } + + protected List<String> getExtraFluidToolTips(Fluid fluid) { return Collections.emptyList(); } @@ -210,6 +243,10 @@ public class SlotWidget extends WidgetWithBounds { return getCurrentRenderer() instanceof ItemStackRenderer; } + public boolean isCurrentRendererFluid() { + return getCurrentRenderer() instanceof FluidRenderer; + } + @Override public boolean keyPressed(int int_1, int int_2, int int_3) { if (!clickToMoreRecipes) |
