mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-02-10 20:35:02 +01:00
feat: Allow changing the goggle overlay tooltip icon (#5900)
* feat: allow changing the goggle overlay tooltip icon * change method name
This commit is contained in:
parent
8ffc4ef96a
commit
c4098b31b2
2 changed files with 24 additions and 6 deletions
|
@ -91,11 +91,16 @@ public class GoggleOverlayRenderer {
|
||||||
boolean goggleAddedInformation = false;
|
boolean goggleAddedInformation = false;
|
||||||
boolean hoverAddedInformation = false;
|
boolean hoverAddedInformation = false;
|
||||||
|
|
||||||
|
ItemStack item = AllItems.GOGGLES.asStack();
|
||||||
|
|
||||||
List<Component> tooltip = new ArrayList<>();
|
List<Component> tooltip = new ArrayList<>();
|
||||||
|
|
||||||
if (hasGoggleInformation && wearingGoggles) {
|
if (hasGoggleInformation && wearingGoggles) {
|
||||||
|
boolean isShifting = mc.player.isShiftKeyDown();
|
||||||
|
|
||||||
IHaveGoggleInformation gte = (IHaveGoggleInformation) be;
|
IHaveGoggleInformation gte = (IHaveGoggleInformation) be;
|
||||||
goggleAddedInformation = gte.addToGoggleTooltip(tooltip, mc.player.isShiftKeyDown());
|
goggleAddedInformation = gte.addToGoggleTooltip(tooltip, isShifting);
|
||||||
|
item = gte.getIcon(isShifting);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasHoveringInformation) {
|
if (hasHoveringInformation) {
|
||||||
|
@ -203,7 +208,7 @@ public class GoggleOverlayRenderer {
|
||||||
RemovedGuiUtils.drawHoveringText(poseStack, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(),
|
RemovedGuiUtils.drawHoveringText(poseStack, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(),
|
||||||
colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font);
|
colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font);
|
||||||
|
|
||||||
ItemStack item = AllItems.GOGGLES.asStack();
|
|
||||||
GuiGameElement.of(item)
|
GuiGameElement.of(item)
|
||||||
.at(posX + 10, posY - 16, 450)
|
.at(posX + 10, posY - 16, 450)
|
||||||
.render(poseStack);
|
.render(poseStack);
|
||||||
|
|
|
@ -3,12 +3,14 @@ package com.simibubi.create.content.equipment.goggles;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.foundation.utility.Components;
|
import com.simibubi.create.foundation.utility.Components;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.LangBuilder;
|
import com.simibubi.create.foundation.utility.LangBuilder;
|
||||||
|
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.fluids.capability.IFluidHandler;
|
import net.minecraftforge.fluids.capability.IFluidHandler;
|
||||||
|
@ -40,6 +42,17 @@ public interface IHaveGoggleInformation {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this method will be called when looking at a BlockEntity that implemented this
|
||||||
|
* interface
|
||||||
|
* <p>
|
||||||
|
* return the item of your choosing after checking for any logic you wish, and the goggle on the goggle
|
||||||
|
* tooltip will be replaced with the item you have returned
|
||||||
|
*/
|
||||||
|
default ItemStack getIcon(boolean isPlayerSneaking) {
|
||||||
|
return AllItems.GOGGLES.asStack();
|
||||||
|
}
|
||||||
|
|
||||||
default boolean containedFluidTooltip(List<Component> tooltip, boolean isPlayerSneaking,
|
default boolean containedFluidTooltip(List<Component> tooltip, boolean isPlayerSneaking,
|
||||||
LazyOptional<IFluidHandler> handler) {
|
LazyOptional<IFluidHandler> handler) {
|
||||||
Optional<IFluidHandler> resolve = handler.resolve();
|
Optional<IFluidHandler> resolve = handler.resolve();
|
||||||
|
|
Loading…
Reference in a new issue