aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-06-14 22:10:42 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-06-14 22:10:42 +0800
commit69a531030df74768d86025cd5668e0418a3c1f07 (patch)
treef128d5b07b0a8cfa8f02def50477ce8bfef4a50e /src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
parent5c29f7917d71dc0042ee2b71a1f7ba4f4c347fde (diff)
downloadRoughlyEnoughItems-69a531030df74768d86025cd5668e0418a3c1f07.tar.gz
RoughlyEnoughItems-69a531030df74768d86025cd5668e0418a3c1f07.tar.bz2
RoughlyEnoughItems-69a531030df74768d86025cd5668e0418a3c1f07.zip
stuff
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
new file mode 100644
index 000000000..60df54dc0
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
@@ -0,0 +1,39 @@
+package me.shedaniel.rei.plugin;
+
+import com.google.common.collect.Ordering;
+import me.shedaniel.rei.api.BaseBoundsHandler;
+import me.shedaniel.rei.client.ScreenHelper;
+import me.shedaniel.rei.listeners.AbstractInventoryScreenHooks;
+import me.shedaniel.rei.listeners.ContainerScreenHooks;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
+import net.minecraft.entity.effect.StatusEffectInstance;
+
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+public class DefaultPotionEffectExclusionZones implements BaseBoundsHandler.ExclusionZoneSupplier {
+ @Override
+ public List<Rectangle> apply(boolean isOnRightSide) {
+ if (isOnRightSide || !(ScreenHelper.getLastContainerScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastContainerScreen()).rei_doesOffsetGuiForEffects())
+ return Collections.emptyList();
+ Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects();
+ if (activePotionEffects.isEmpty())
+ return Collections.emptyList();
+ ContainerScreenHooks hooks = ScreenHelper.getLastContainerScreenHooks();
+ List<Rectangle> list = new ArrayList<>();
+ int x = hooks.rei_getContainerLeft() - 124;
+ int y = hooks.rei_getContainerTop();
+ int height = 33;
+ if (activePotionEffects.size() > 5)
+ height = 132 / (activePotionEffects.size() - 1);
+ for(StatusEffectInstance instance : Ordering.natural().sortedCopy(activePotionEffects)) {
+ list.add(new Rectangle(x, y, 166, height));
+ y += height;
+ }
+ return list;
+ }
+}