diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-02-06 11:55:23 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-02-06 11:55:23 +0800 |
| commit | 3ab6f974fb63b9f9232f8507e156cfc53cdf0250 (patch) | |
| tree | f6625574308f0e5fd6e3e8f0120919ca4de4a0b1 | |
| parent | 129d287ddad825878af3b447f144ab38ccd1acf6 (diff) | |
| download | RoughlyEnoughItems-3ab6f974fb63b9f9232f8507e156cfc53cdf0250.tar.gz RoughlyEnoughItems-3ab6f974fb63b9f9232f8507e156cfc53cdf0250.tar.bz2 RoughlyEnoughItems-3ab6f974fb63b9f9232f8507e156cfc53cdf0250.zip | |
4.0-unstable
Signed-off-by: shedaniel <daniel@shedaniel.me>
47 files changed, 244 insertions, 613 deletions
@@ -4,7 +4,7 @@ pipeline { stage ('Build') { when { - expression { env.BRANCH_NAME == '3.x' } + expression { env.BRANCH_NAME == '3.x' || env.BRANCH_NAME == '4.x-unstable' } } steps { sh "rm -rf build/libs/" diff --git a/build.gradle b/build.gradle index a97a7ea77..64d1d2d5b 100755 --- a/build.gradle +++ b/build.gradle @@ -61,12 +61,12 @@ dependencies { modRuntime("io.github.prospector:modmenu:${modmenu_version}") { transitive = false } - modRuntime("com.lettuce.fudge:notenoughcrashes:1.1.5+1.15.1") { - transitive = false - } +// modRuntime("com.lettuce.fudge:notenoughcrashes:1.1.5+1.15.1") { +// transitive = false +// } if (includeDep) { afterEvaluate { - def listAdded = [] + def listAdded = new ArrayList(Arrays.asList((api_exculde as String).split(','))) def eachDep = { dep -> for (apiIncludeDepStr in (api_include as String).split(',')) { def apiIncludeGroup = apiIncludeDepStr.split(':')[0] @@ -111,15 +111,12 @@ curseforge { apiKey = project.getProperty('danielshe_curse_api_key') project { id = '310111' - releaseType = 'release' + releaseType = 'beta' changelogType = "html" def df = new SimpleDateFormat("yyyy-MM-dd HH:mm") df.setTimeZone(TimeZone.getTimeZone("UTC")) def time = df.format(new Date()) changelog = "<h2>REI v$project.version</h2>Updated at <b>$time</b>.<br><a href=\"https://gist.github.com/shedaniel/b7593e692319976f3349263208792922\">Click here for full changelog</a>" - addGameVersion '1.15' - addGameVersion '1.15.1' - addGameVersion '1.15.2' addGameVersion '1.15-Snapshot' addGameVersion 'Java 8' addGameVersion 'Fabric' @@ -129,7 +126,7 @@ curseforge { embeddedLibrary 'cloth-config' } mainArtifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}.jar")) { - displayName = "[Fabric 1.15.x] v$project.version" + displayName = "[Fabric 20w06a] v$project.version" } afterEvaluate { uploadTask.dependsOn("remapJar") diff --git a/gradle.properties b/gradle.properties index 52e342166..b1ad76978 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,12 @@ -mod_version=3.3.18 -minecraft_version=1.15.2 -yarn_version=1.15.2+build.1 -fabricloader_version=0.7.2+build.174 -cloth_events_version=1.1.0 -cloth_config_version=2.9.1 +mod_version=4.0.0-unstable +minecraft_version=20w06a +yarn_version=20w06a+build.3 +fabricloader_version=0.7.8+build.184 +cloth_events_version=1.2.0 +cloth_config_version=2.9.3 modmenu_version=1.8.5+build.23 -fabric_api=0.4.29+build.290-1.15 +fabric_api=0.4.30+build.294-1.16 autoconfig1u=1.2.4 api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations +api_exculde= #api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations,net.fabricmc.fabric-api:fabric-
\ No newline at end of file diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index c81beb237..f007f5008 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -22,7 +22,7 @@ import net.fabricmc.loader.api.ModContainer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.client.gui.screen.ingame.CraftingTableScreen; import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; import net.minecraft.client.gui.screen.ingame.InventoryScreen; @@ -90,9 +90,8 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { * * @param plugin the plugin instance * @return the plugin itself - * @deprecated Check REI wiki */ - @Deprecated + @ApiStatus.Internal public static REIPluginEntry registerPlugin(REIPluginEntry plugin) { plugins.put(plugin.getPluginIdentifier(), plugin); RoughlyEnoughItemsCore.LOGGER.debug("[REI] Registered plugin %s from %s", plugin.getPluginIdentifier().toString(), plugin.getClass().getSimpleName()); @@ -226,22 +225,21 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } } - @SuppressWarnings("deprecation") private void registerClothEvents() { final Identifier recipeButtonTex = new Identifier("textures/gui/recipe_button.png"); AtomicLong lastSync = new AtomicLong(-1); ClothClientHooks.SYNC_RECIPES.register((minecraftClient, recipeManager, synchronizeRecipesS2CPacket) -> syncRecipes(lastSync)); ClothClientHooks.SCREEN_ADD_BUTTON.register((minecraftClient, screen, abstractButtonWidget) -> { - if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof AbstractContainerScreen && abstractButtonWidget instanceof TexturedButtonWidget) + if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof ContainerScreen && abstractButtonWidget instanceof TexturedButtonWidget) if (((RecipeBookButtonWidgetHooks) abstractButtonWidget).rei_getTexture().equals(recipeButtonTex)) return ActionResult.FAIL; return ActionResult.PASS; }); ClothClientHooks.SCREEN_INIT_POST.register((minecraftClient, screen, screenHooks) -> { - if (screen instanceof AbstractContainerScreen) { + if (screen instanceof ContainerScreen) { if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory()) return; - ScreenHelper.setLastContainerScreen((AbstractContainerScreen<?>) screen); + ScreenHelper.setLastContainerScreen((ContainerScreen<?>) screen); boolean alreadyAdded = false; for (Element element : Lists.newArrayList(screenHooks.cloth_getInputListeners())) if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass())) @@ -254,11 +252,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } }); ClothClientHooks.SCREEN_RENDER_POST.register((minecraftClient, screen, i, i1, v) -> { - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) ScreenHelper.getLastOverlay().render(i, i1, v); }); ClothClientHooks.SCREEN_MOUSE_DRAGGED.register((minecraftClient, screen, v, v1, i, v2, v3) -> { - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseDragged(v, v1, i, v2, v3)) return ActionResult.SUCCESS; return ActionResult.PASS; @@ -274,13 +272,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return ActionResult.PASS; }); ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> { - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseScrolled(v, v1, v2)) return ActionResult.SUCCESS; return ActionResult.PASS; }); ClothClientHooks.SCREEN_CHAR_TYPED.register((minecraftClient, screen, character, keyCode) -> { - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) if (ScreenHelper.getLastOverlay().charTyped(character, keyCode)) return ActionResult.SUCCESS; return ActionResult.PASS; @@ -288,16 +286,16 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { ClothClientHooks.SCREEN_LATE_RENDER.register((minecraftClient, screen, i, i1, v) -> { if (!ScreenHelper.isOverlayVisible()) return; - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) ScreenHelper.getLastOverlay().lateRender(i, i1, v); }); ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> { if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookWidget && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField() != null && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField().isFocused())) return ActionResult.PASS; - if (screen instanceof AbstractContainerScreen) + if (screen instanceof ContainerScreen) if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2)) return ActionResult.SUCCESS; - if (screen instanceof AbstractContainerScreen && configManager.getConfig().doesDisableRecipeBook() && configManager.getConfig().doesFixTabCloseContainer()) + if (screen instanceof ContainerScreen && ConfigObject.getInstance().doesDisableRecipeBook() && ConfigObject.getInstance().doesFixTabCloseContainer()) if (i == 258 && minecraftClient.options.keyInventory.matchesKey(i, i1)) { minecraftClient.player.closeContainer(); return ActionResult.SUCCESS; diff --git a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java index e1477a6d4..19b863a38 100644 --- a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java +++ b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java @@ -10,7 +10,7 @@ import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.impl.ScreenHelper; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.container.Container; import java.util.function.Supplier; @@ -63,7 +63,7 @@ public interface AutoTransferHandler { } interface Context { - static Context create(boolean actuallyCrafting, AbstractContainerScreen<?> containerScreen, RecipeDisplay recipeDisplay) { + static Context create(boolean actuallyCrafting, ContainerScreen<?> containerScreen, RecipeDisplay recipeDisplay) { return new ContextImpl(actuallyCrafting, containerScreen, () -> recipeDisplay); } @@ -73,7 +73,7 @@ public interface AutoTransferHandler { boolean isActuallyCrafting(); - AbstractContainerScreen<?> getContainerScreen(); + ContainerScreen<?> getContainerScreen(); RecipeDisplay getRecipe(); @@ -139,10 +139,10 @@ public interface AutoTransferHandler { final class ContextImpl implements Context { boolean actuallyCrafting; - AbstractContainerScreen<?> containerScreen; + ContainerScreen<?> containerScreen; Supplier<RecipeDisplay> recipeDisplaySupplier; - private ContextImpl(boolean actuallyCrafting, AbstractContainerScreen<?> containerScreen, Supplier<RecipeDisplay> recipeDisplaySupplier) { + private ContextImpl(boolean actuallyCrafting, ContainerScreen<?> containerScreen, Supplier<RecipeDisplay> recipeDisplaySupplier) { this.actuallyCrafting = actuallyCrafting; this.containerScreen = containerScreen; this.recipeDisplaySupplier = recipeDisplaySupplier; @@ -154,7 +154,7 @@ public interface AutoTransferHandler { } @Override - public AbstractContainerScreen<?> getContainerScreen() { + public ContainerScreen<?> getContainerScreen() { return containerScreen; } diff --git a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java index 15d46e4de..1bd251725 100644 --- a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java +++ b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java @@ -5,14 +5,10 @@ package me.shedaniel.rei.api; -import com.google.common.collect.Lists; import me.shedaniel.math.api.Rectangle; -import me.shedaniel.rei.RoughlyEnoughItemsCore; import net.minecraft.client.gui.screen.Screen; -import org.jetbrains.annotations.ApiStatus; import java.util.List; -import java.util.function.Function; import java.util.function.Supplier; public interface BaseBoundsHandler extends DisplayHelper.DisplayBoundsHandler<Screen> { @@ -20,21 +16,12 @@ public interface BaseBoundsHandler extends DisplayHelper.DisplayBoundsHandler<Sc * Gets the exclusion zones by the screen class * * @param currentScreenClass the current screen class - * @param isOnRightSide whether the user has set the overlay to the right * @return the list of exclusion zones */ - @Deprecated - @ApiStatus.ScheduledForRemoval - default List<Rectangle> getCurrentExclusionZones(Class<?> currentScreenClass, boolean isOnRightSide) { + default List<Rectangle> getExclusionZones(Class<?> currentScreenClass) { return getExclusionZones(currentScreenClass, false); } - @Deprecated - @ApiStatus.ScheduledForRemoval - default List<Rectangle> getCurrentExclusionZones(Class<?> currentScreenClass, boolean isOnRightSide, boolean sort) { - return getExclusionZones(currentScreenClass, sort); - } - List<Rectangle> getExclusionZones(Class<?> currentScreenClass, boolean sort); int supplierSize(); @@ -43,24 +30,6 @@ public interface BaseBoundsHandler extends DisplayHelper.DisplayBoundsHandler<Sc * Register an exclusion zone * * @param screenClass the screen - * @param supplier the exclusion zone supplier, isOnRightSide -> the list of exclusion zones - * @see #registerExclusionZones(Class, Supplier) for non deprecated version - */ - @Deprecated - @ApiStatus.ScheduledForRemoval - default void registerExclusionZones(Class<?> screenClass, Function<Boolean, List<Rectangle>> supplier) { - RoughlyEnoughItemsCore.LOGGER.warn("[REI] Someone is registering exclusion zones with the deprecated method: " + supplier.getClass().getName()); - registerExclusionZones(screenClass, () -> { - List<Rectangle> zones = Lists.newArrayList(supplier.apply(false)); - zones.addAll(supplier.apply(true)); - return zones; - }); - } - - /** - * Register an exclusion zone - * - * @param screenClass the screen * @param supplier the exclusion zone supplier, returns the list of exclusion zones */ void registerExclusionZones(Class<?> screenClass, Supplier<List<Rectangle>> supplier); diff --git a/src/main/java/me/shedaniel/rei/api/ConfigManager.java b/src/main/java/me/shedaniel/rei/api/ConfigManager.java index c2b785571..3f0da4e93 100644 --- a/src/main/java/me/shedaniel/rei/api/ConfigManager.java +++ b/src/main/java/me/shedaniel/rei/api/ConfigManager.java @@ -8,13 +8,11 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.RoughlyEnoughItemsCore; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; -import org.jetbrains.annotations.ApiStatus; import java.util.List; public interface ConfigManager { - @SuppressWarnings("deprecation") static ConfigManager getInstance() { return RoughlyEnoughItemsCore.getConfigManager(); } @@ -27,16 +25,6 @@ public interface ConfigManager { void saveConfig(); /** - * Gets the config instance - * - * @return the config instance - * @deprecated Use {@link ConfigObject#getInstance()} - */ - @Deprecated - @ApiStatus.ScheduledForRemoval - ConfigObject getConfig(); - - /** * Gets if craftable only filter is enabled * * @return whether craftable only filter is enabled diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java index fb2ca2650..c45ae56c9 100644 --- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java +++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java @@ -9,8 +9,8 @@ import me.shedaniel.clothconfig2.api.ModifierKeyCode; import me.shedaniel.rei.gui.config.ItemListOrdering; import me.shedaniel.rei.gui.config.RecipeScreenType; import me.shedaniel.rei.gui.config.SearchFieldLocation; +import me.shedaniel.rei.impl.ConfigManagerImpl; import me.shedaniel.rei.impl.ConfigObjectImpl; -import net.minecraft.client.util.InputUtil; import org.jetbrains.annotations.ApiStatus; import java.lang.annotation.ElementType; @@ -20,15 +20,10 @@ import java.lang.annotation.Target; public interface ConfigObject { - @SuppressWarnings("deprecation") static ConfigObject getInstance() { - return ConfigManager.getInstance().getConfig(); + return ((ConfigManagerImpl) ConfigManager.getInstance()).getConfig(); } - @Deprecated - @ApiStatus.ScheduledForRemoval - boolean isLighterButtonHover(); - boolean isOverlayVisible(); void setOverlayVisible(boolean overlayVisible); @@ -45,11 +40,6 @@ public interface ConfigObject { boolean isToastDisplayedOnCopyIdentifier(); - @Deprecated - default boolean doesRenderEntryExtraOverlay() { - return doesRenderEntryEnchantmentGlint(); - } - boolean doesRenderEntryEnchantmentGlint(); boolean isEntryListWidgetScrolled(); @@ -104,11 +94,6 @@ public interface ConfigObject { boolean doSearchFavorites(); - @Deprecated - default InputUtil.KeyCode getFavoriteKeybind() { - return getFavoriteKeyCode().getKeyCode(); - } - ModifierKeyCode getFavoriteKeyCode(); ModifierKeyCode getRecipeKeybind(); diff --git a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java index 8df0c9c4f..2e1a174b1 100644 --- a/src/main/java/me/shedaniel/rei/api/DisplayHelper.java +++ b/src/main/java/me/shedaniel/rei/api/DisplayHelper.java @@ -17,7 +17,6 @@ import static net.minecraft.util.ActionResult.PASS; public interface DisplayHelper { - @SuppressWarnings("deprecation") static DisplayHelper getInstance() { return RoughlyEnoughItemsCore.getDisplayHelper(); } @@ -100,36 +99,6 @@ public interface DisplayHelper { } /** - * Checks if item slot can fit the screen - * - * @param isOnRightSide whether the user has set the overlay to the right - * @param left the left x coordinates of the stack - * @param top the top y coordinates for the stack - * @param screen the current screen - * @param fullBounds the current bounds - * @return whether the item slot can fit - * @deprecated use {@link #canItemSlotWidgetFit(int, int, Object, Rectangle)} - */ - @Deprecated - default ActionResult canItemSlotWidgetFit(boolean isOnRightSide, int left, int top, T screen, Rectangle fullBounds) { - return canItemSlotWidgetFit(left, top, screen, fullBounds); - } - - /** - * Checks if mouse is inside the overlay - * - * @param isOnRightSide whether the user has set the overlay to the right - * @param mouseX mouse's x coordinates - * @param mouseY mouse's y coordinates - * @return whether mouse is inside the overlay - * @deprecated use {@link #isInZone(double, double)} - */ - @Deprecated - default ActionResult isInZone(boolean isOnRightSide, double mouseX, double mouseY) { - return isInZone(mouseX, mouseY); - } - - /** * Checks if mouse is inside the overlay * * @param mouseX mouse's x coordinates diff --git a/src/main/java/me/shedaniel/rei/api/EntryRegistry.java b/src/main/java/me/shedaniel/rei/api/EntryRegistry.java index bff5aebb5..39af13fec 100644 --- a/src/main/java/me/shedaniel/rei/api/EntryRegistry.java +++ b/src/main/java/me/shedaniel/rei/api/EntryRegistry.java @@ -17,7 +17,6 @@ import java.util.List; public interface EntryRegistry { - @SuppressWarnings("deprecation") static EntryRegistry getInstance() { return RoughlyEnoughItemsCore.getEntryRegistry(); } @@ -59,6 +58,7 @@ public interface EntryRegistry { * @param afterEntry the stack to put after * @param stack |
