diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-06-14 22:10:42 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-06-14 22:10:42 +0800 |
| commit | 69a531030df74768d86025cd5668e0418a3c1f07 (patch) | |
| tree | f128d5b07b0a8cfa8f02def50477ce8bfef4a50e /src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java | |
| parent | 5c29f7917d71dc0042ee2b71a1f7ba4f4c347fde (diff) | |
| download | RoughlyEnoughItems-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.java | 39 |
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; + } +} |
