diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-01-12 14:17:43 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-01-12 19:35:32 +0800 |
| commit | e266595bcd8645e98074b2bcecb62ae3cc3e52bc (patch) | |
| tree | f60a396a8e20386c22c0360e29681e874ba3f3d5 /api/src/main | |
| parent | 220d3e41a1d0a6443890b5624ec41a89c7a4cd45 (diff) | |
| download | RoughlyEnoughItems-e266595bcd8645e98074b2bcecb62ae3cc3e52bc.tar.gz RoughlyEnoughItems-e266595bcd8645e98074b2bcecb62ae3cc3e52bc.tar.bz2 RoughlyEnoughItems-e266595bcd8645e98074b2bcecb62ae3cc3e52bc.zip | |
Prevent against arbitrary modifications against DisplayRegistry with getAll or get, Close #700, Fix JEITweaker
Diffstat (limited to 'api/src/main')
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java | 2 | ||||
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java index 4e32def9e..fcda7a01d 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java @@ -26,6 +26,7 @@ package me.shedaniel.rei.api.client.registry.screen; import me.shedaniel.math.Rectangle; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import org.jetbrains.annotations.Nullable; @Environment(EnvType.CLIENT) public interface DisplayBoundsProvider<T> extends OverlayDecider { @@ -33,5 +34,6 @@ public interface DisplayBoundsProvider<T> extends OverlayDecider { * @param screen the screen * @return the boundary of the base container panel. */ + @Nullable Rectangle getScreenBounds(T screen); }
\ No newline at end of file diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java index d8f31b627..8fcb2c456 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java @@ -29,6 +29,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.screens.Screen; import net.minecraft.world.InteractionResult; +import org.jetbrains.annotations.ApiStatus; import static net.minecraft.world.InteractionResult.PASS; @@ -39,10 +40,16 @@ import static net.minecraft.world.InteractionResult.PASS; public interface OverlayDecider extends Comparable<OverlayDecider> { <R extends Screen> boolean isHandingScreen(Class<R> screen); + @ApiStatus.ScheduledForRemoval + @Deprecated default InteractionResult shouldScreenBeOverlaid(Class<?> screen) { return InteractionResult.PASS; } + default <R extends Screen> InteractionResult shouldScreenBeOverlaid(R screen) { + return shouldScreenBeOverlaid(screen.getClass()); + } + /** * Gets the priority of the handler, the higher it is, the earlier it is called. * |
