Skip to content

Commit 855b3cc

Browse files
committed
Major code simplification!
1 parent 4e137c1 commit 855b3cc

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

src/main/java/ninja/genuine/tooltips/client/render/TooltipEvent.java

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.LinkedList;
44
import java.util.Objects;
5+
import java.util.Optional;
56

67
import ninja.genuine.tooltips.client.Tooltip;
78
import ninja.genuine.tooltips.client.config.Config;
@@ -24,34 +25,28 @@ public TooltipEvent() {}
2425
public void tick(ClientTickEvent event) {
2526
if (event.phase != Phase.START)
2627
return;
27-
EntityItem entity = null;
28-
try {
29-
entity = ModUtils.getMouseOver(Minecraft.getMinecraft().world, Minecraft.getMinecraft().player, 0).get();
30-
} catch (Exception e) {}
31-
synchronized (tooltips) {
32-
tooltips.removeIf(Objects::isNull);
33-
tooltips.removeIf(Tooltip::isDead);
34-
tooltips.forEach(Tooltip::tick);
28+
tooltips.removeIf(Objects::isNull);
29+
tooltips.removeIf(Tooltip::isDead);
30+
tooltips.forEach(Tooltip::tick);
31+
Optional<EntityItem> mouseOver = ModUtils.getMouseOver();
32+
if (mouseOver.isPresent()) {
3533
boolean createTooltip = true;
34+
EntityItem entity = mouseOver.get();
3635
for (Tooltip tooltip : tooltips)
37-
if (tooltip.getEntity() == entity) {
38-
createTooltip = false;
39-
tooltip.reset();
40-
}
41-
if (createTooltip && entity != null)
36+
if (tooltip.getEntity() == entity)
37+
createTooltip = !tooltip.reset();
38+
if (createTooltip)
4239
tooltips.addFirst(new Tooltip(Minecraft.getMinecraft().player, entity));
43-
for (int i = Config.getInstance().getMaxTooltips(); i < tooltips.size(); i++)
44-
tooltips.get(i).forceFade();
4540
}
41+
for (int i = Config.getInstance().getMaxTooltips(); i < tooltips.size(); i++)
42+
tooltips.get(i).forceFade();
4643
}
4744

4845
@SubscribeEvent
4946
public void render(RenderWorldLastEvent event) {
5047
if (!Config.getInstance().isEnabled() || Minecraft.getMinecraft().world == null)
5148
return;
52-
synchronized (tooltips) {
53-
for (Tooltip tooltip : tooltips)
54-
RenderHelper.renderTooltip(tooltip, event.getPartialTicks());
55-
}
49+
for (Tooltip tooltip : tooltips)
50+
RenderHelper.renderTooltip(tooltip, event.getPartialTicks());
5651
}
5752
}

src/main/java/ninja/genuine/utils/ModUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ public static String getModName(Item item) {
7878
return modName;
7979
}
8080

81+
public static Optional<EntityItem> getMouseOver() {
82+
return getMouseOver(Minecraft.getMinecraft().world, Minecraft.getMinecraft().player, 0);
83+
}
84+
8185
public static Optional<EntityItem> getMouseOver(World world, Entity player, float partialTicks) throws ConcurrentModificationException {
8286
if (world == null || player == null)
8387
return Optional.empty();

0 commit comments

Comments
 (0)