aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-02-21 22:12:48 +0800
committershedaniel <daniel@shedaniel.me>2020-02-21 22:13:05 +0800
commit490a2e3fdd124562ed09f048beec5178555a36a4 (patch)
tree35ae6c80dcde25fd829ef8c7ecbde71367947656 /src/main/java/me/shedaniel/rei/plugin
parent4987103190a8bea7c8954512c389f9e768b8d5b3 (diff)
downloadRoughlyEnoughItems-490a2e3fdd124562ed09f048beec5178555a36a4.tar.gz
RoughlyEnoughItems-490a2e3fdd124562ed09f048beec5178555a36a4.tar.bz2
RoughlyEnoughItems-490a2e3fdd124562ed09f048beec5178555a36a4.zip
4.0.4
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 111e391e4..027b6bcf6 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -57,6 +57,7 @@ import net.minecraft.item.*;
import net.minecraft.potion.PotionUtil;
import net.minecraft.recipe.*;
import net.minecraft.tag.BlockTags;
+import net.minecraft.util.ActionResult;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.registry.Registry;
@@ -267,15 +268,32 @@ public class DefaultPlugin implements REIPluginV0 {
if (!ConfigObject.getInstance().isLoadingDefaultPlugin()) {
return;
}
- displayHelper.getBaseBoundsHandler().registerExclusionZones(AbstractInventoryScreen.class, new DefaultPotionEffectExclusionZones());
- displayHelper.getBaseBoundsHandler().registerExclusionZones(RecipeBookProvider.class, new DefaultRecipeBookExclusionZones());
- displayHelper.getBaseBoundsHandler().registerExclusionZones(RecipeViewingScreen.class, () -> {
+ BaseBoundsHandler baseBoundsHandler = BaseBoundsHandler.getInstance();
+ baseBoundsHandler.registerExclusionZones(AbstractInventoryScreen.class, new DefaultPotionEffectExclusionZones());
+ baseBoundsHandler.registerExclusionZones(RecipeBookProvider.class, new DefaultRecipeBookExclusionZones());
+ baseBoundsHandler.registerExclusionZones(RecipeViewingScreen.class, () -> {
CategoryBaseWidget widget = ((RecipeViewingScreen) MinecraftClient.getInstance().currentScreen).getWorkingStationsBaseWidget();
if (widget == null)
return Collections.emptyList();
return Collections.singletonList(widget.getBounds().clone());
});
- displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler<ContainerScreen<?>>() {
+ displayHelper.registerHandler(new OverlayDecider() {
+ @Override
+ public boolean isHandingScreen(Class<?> screen) {
+ return InventoryScreen.class.isAssignableFrom(screen);
+ }
+
+ @Override
+ public ActionResult shouldScreenBeOverlayed(Class<?> screen) {
+ return isHandingScreen(screen) ? ActionResult.FAIL : ActionResult.PASS;
+ }
+
+ @Override
+ public float getPriority() {
+ return 10f;
+ }
+ });
+ displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<ContainerScreen<?>>() {
@Override
public Class<?> getBaseSupportedClass() {
return ContainerScreen.class;
@@ -297,7 +315,7 @@ public class DefaultPlugin implements REIPluginV0 {
return -1.0f;
}
});
- displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler<RecipeViewingScreen>() {
+ displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<RecipeViewingScreen>() {
@Override
public Class<?> getBaseSupportedClass() {
return RecipeViewingScreen.class;
@@ -319,7 +337,7 @@ public class DefaultPlugin implements REIPluginV0 {
return -1.0f;
}
});
- displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler<VillagerRecipeViewingScreen>() {
+ displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<VillagerRecipeViewingScreen>() {
@Override
public Class<?> getBaseSupportedClass() {
return VillagerRecipeViewingScreen.class;