diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-03-16 22:44:45 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-03-16 22:44:45 +0800 |
| commit | c07281fac9bbd1b4af99680efe19ff9e2082cf14 (patch) | |
| tree | 135db510703e6dfaaf3e0843786b85d0898d4abb | |
| parent | f5c23d37adb57c4428a8a58e4cc892a6b2e83c30 (diff) | |
| download | RoughlyEnoughItems-c07281fac9bbd1b4af99680efe19ff9e2082cf14.tar.gz RoughlyEnoughItems-c07281fac9bbd1b4af99680efe19ff9e2082cf14.tar.bz2 RoughlyEnoughItems-c07281fac9bbd1b4af99680efe19ff9e2082cf14.zip | |
Wrap click areas, implement createTickTimer
Signed-off-by: shedaniel <daniel@shedaniel.me>
5 files changed, 9 insertions, 8 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/registry/screen/ScreenRegistry.java b/api/src/main/java/me/shedaniel/rei/api/registry/screen/ScreenRegistry.java index b0b8270e2..7284c01c3 100644 --- a/api/src/main/java/me/shedaniel/rei/api/registry/screen/ScreenRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/registry/screen/ScreenRegistry.java @@ -95,7 +95,7 @@ public interface ScreenRegistry extends Reloadable { * @param categories The categories of result. * @param <T> The screen type to be registered to. */ - default <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(Rectangle area, Class<T> screenClass, ResourceLocation... categories) { + default <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(Rectangle area, Class<? extends T> screenClass, ResourceLocation... categories) { registerContainerClickArea(screen -> area, screenClass, categories); } @@ -107,7 +107,7 @@ public interface ScreenRegistry extends Reloadable { * @param categories The categories of result. * @param <T> The screen type to be registered to. */ - <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(ScreenClickAreaProvider<T> provider, Class<T> screenClass, ResourceLocation... categories); + <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(ScreenClickAreaProvider<T> provider, Class<? extends T> screenClass, ResourceLocation... categories); /** * Registers a click area for a screen. @@ -117,7 +117,7 @@ public interface ScreenRegistry extends Reloadable { * @param categories The categories of result. * @param <T> The screen type to be registered to. */ - default <T extends Screen> void registerClickArea(ScreenClickAreaProvider<T> provider, Class<T> screenClass, ResourceLocation... categories) { + default <T extends Screen> void registerClickArea(ScreenClickAreaProvider<T> provider, Class<? extends T> screenClass, ResourceLocation... categories) { registerClickArea(screenClass, provider.toHandler(() -> categories)); } @@ -129,7 +129,7 @@ public interface ScreenRegistry extends Reloadable { * @param <T> The screen type to be registered to. * @see #registerClickArea(ScreenClickAreaProvider, Class, ResourceLocation...) for a simpler way to handle areas without custom categories. */ - <T extends Screen> void registerClickArea(Class<T> screenClass, ClickArea<T> area); + <T extends Screen> void registerClickArea(Class<? extends T> screenClass, ClickArea<T> area); @Nullable <T extends Screen> Set<ResourceLocation> handleClickArea(Class<T> screenClass, ClickArea.ClickAreaContext<T> context); } diff --git a/forge/build.gradle b/forge/build.gradle index e19ea7a63..338ecaa99 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -41,5 +41,6 @@ dependencies { modRuntime("curse.maven:chiselsbits-231095:3176033") modRuntime("curse.maven:jumbofurnace-390880:3120970") modRuntime("curse.maven:cyclic-239286:3221427") + modRuntime("curse.maven:mekanism-268560:3206392") modRuntime("appeng:appliedenergistics2:8.2.0") } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java index a2f933723..2c76b3876 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/ScreenRegistryImpl.java @@ -149,7 +149,7 @@ public class ScreenRegistryImpl implements ScreenRegistry { } @Override - public <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(ScreenClickAreaProvider<T> provider, Class<T> screenClass, ResourceLocation... categories) { + public <C extends AbstractContainerMenu, T extends AbstractContainerScreen<C>> void registerContainerClickArea(ScreenClickAreaProvider<T> provider, Class<? extends T> screenClass, ResourceLocation... categories) { registerClickArea(screen -> { Rectangle rectangle = provider.provide(screen).clone(); rectangle.translate(screen.leftPos, screen.topPos); @@ -158,7 +158,7 @@ public class ScreenRegistryImpl implements ScreenRegistry { } @Override - public <T extends Screen> void registerClickArea(Class<T> screenClass, ClickArea<T> area) { + public <T extends Screen> void registerClickArea(Class<? extends T> screenClass, ClickArea<T> area) { clickAreas.put(screenClass, area); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/registry/CategoryRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/registry/CategoryRegistryImpl.java index 4766a26b5..9dd07f1eb 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/registry/CategoryRegistryImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/registry/CategoryRegistryImpl.java @@ -69,7 +69,7 @@ public class CategoryRegistryImpl implements CategoryRegistry, Reloadable { @Override public <T extends Display> CategoryConfiguration<T> get(ResourceLocation category) { - return (CategoryConfiguration<T>) this.categories.get(category); + return (CategoryConfiguration<T>) Objects.requireNonNull(this.categories.get(category), category.toString()); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java index 10eaf6e58..e08ca7956 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java @@ -68,7 +68,7 @@ public final class ArrowWidget extends Arrow { Minecraft.getInstance().getTextureManager().bind(REIHelper.getInstance().getDefaultDisplayTexture()); blit(matrices, getX(), getY(), 106, 91, 24, 17); if (getAnimationDuration() > 0) { - int width = Mth.ceil((System.currentTimeMillis() / (animationDuration / 24) % 24d) / 1f); + int width = Mth.ceil((System.currentTimeMillis() / (animationDuration / 24) % 24d)); blit(matrices, getX(), getY(), 82, 91, width, 17); } } |
