diff --git a/build.gradle b/build.gradle index ef91767f7..7daf8a78d 100644 --- a/build.gradle +++ b/build.gradle @@ -149,7 +149,7 @@ dependencies { //Jei compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}" compileOnly "mezz.jei:jei-${minecraft_version}-neoforge-api:${jei_version}" - runtimeOnly "mezz.jei:jei-${minecraft_version}-neoforge:${jei_version}" +// runtimeOnly "mezz.jei:jei-${minecraft_version}-neoforge:${jei_version}" //curios compileOnly "top.theillusivec4.curios:curios-neoforge:${curios_version}+${minecraft_version}:api" @@ -174,9 +174,7 @@ dependencies { // emi compileOnly "dev.emi:emi-neoforge:${emi_version}:api" - if(System.getenv("EMI") == "true") { - runtimeOnly "dev.emi:emi-neoforge:${emi_version}" - } + runtimeOnly "dev.emi:emi-neoforge:${emi_version}" //runtime only helper mods for dev env, placed in ./runtime-mods, example: Hwyla-forge-1.10.11-B78_1.16.2.jar //runtimeOnly "ignoredvalue:Hwyla:forge-1.10.11-B78_1.16.2" diff --git a/src/main/java/com/klikli_dev/occultism/client/gui/storage/StorageControllerGuiBase.java b/src/main/java/com/klikli_dev/occultism/client/gui/storage/StorageControllerGuiBase.java index 22841a4c0..4731eee52 100644 --- a/src/main/java/com/klikli_dev/occultism/client/gui/storage/StorageControllerGuiBase.java +++ b/src/main/java/com/klikli_dev/occultism/client/gui/storage/StorageControllerGuiBase.java @@ -35,9 +35,10 @@ import com.klikli_dev.occultism.client.gui.controls.MachineSlotWidget; import com.klikli_dev.occultism.client.gui.controls.SizedImageButton; import com.klikli_dev.occultism.common.container.storage.StorageControllerContainerBase; +import com.klikli_dev.occultism.integration.emi.OccultismEmiIntegration; import com.klikli_dev.occultism.integration.jei.JeiSettings; import com.klikli_dev.occultism.integration.jei.OccultismJeiIntegration; -import com.klikli_dev.occultism.network.*; +import com.klikli_dev.occultism.network.Networking; import com.klikli_dev.occultism.network.messages.*; import com.klikli_dev.occultism.util.InputUtil; import com.klikli_dev.occultism.util.TextUtil; @@ -83,11 +84,11 @@ public abstract class StorageControllerGuiBase stacks; public List linkedMachines; public IStorageControllerContainer storageControllerContainer; + public StorageControllerGuiMode guiMode = StorageControllerGuiMode.INVENTORY; protected int maxItemTypes; protected int usedItemTypes; protected long maxTotalItemCount; protected long usedTotalItemCount; - public StorageControllerGuiMode guiMode = StorageControllerGuiMode.INVENTORY; protected ItemStack stackUnderMouse = ItemStack.EMPTY; protected EditBox searchBar; protected List itemSlots = new ArrayList<>(); @@ -141,6 +142,15 @@ public StorageControllerGuiBase(T container, Inventory playerInventory, Componen Networking.sendToServer(new MessageRequestStacks()); } + public static void onScreenMouseClickedPre(ScreenEvent.MouseButtonPressed.Pre event) { + //JEI correctly consumes the mouseClicked event if we click in their search bar + //That leads to our search bar never getting unfocused + //so we use the pre-event to unfocus -> if the click was in the search bar then the mouseClicked of our gui will handle it + if (event.getScreen() instanceof StorageControllerGuiBase gui) { + gui.searchBar.setFocused(false); + } + } + //region Getter / Setter protected abstract boolean isGuiValid(); @@ -152,10 +162,10 @@ public StorageControllerGuiBase(T container, Inventory playerInventory, Componen public abstract SortType getSortType(); - public abstract void setSortType(SortType sortType); - //endregion Getter / Setter + public abstract void setSortType(SortType sortType); + @Override public Font getFontRenderer() { return this.font; @@ -219,7 +229,6 @@ public void markDirty() { this.init(); } - @Override public void setLinkedMachines(List machines) { this.linkedMachines = machines; @@ -256,7 +265,9 @@ public void init() { this.searchBar.setFocused(focus); this.searchBar.setValue(searchBarText); - if (JeiSettings.isJeiLoaded() && JeiSettings.isJeiSearchSynced()) { + if (OccultismEmiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { + this.searchBar.setValue(OccultismEmiIntegration.get().getFilterText()); + } else if (OccultismJeiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { this.searchBar.setValue(OccultismJeiIntegration.get().getFilterText()); } @@ -267,7 +278,7 @@ public void init() { -1, 2, 0x404040); this.storageSpaceLabel .addLine(I18n.get(TRANSLATION_KEY_BASE + ".space_info_label_new", - String.format("%.2f", (double)this.usedTotalItemCount / (double)this.maxTotalItemCount * 100) + String.format("%.2f", (double) this.usedTotalItemCount / (double) this.maxTotalItemCount * 100) ), false); this.addRenderableWidget(this.storageSpaceLabel); @@ -276,7 +287,7 @@ public void init() { new LabelWidget(this.leftPos + storageSpaceInfoLabelLeft - 7, this.topPos + storageSpaceInfoLabelTop + 40, true, -1, 2, 0x404040); this.storageTypesLabel - .addLine(I18n.get(TRANSLATION_KEY_BASE + ".space_info_label_types", String.format("%.0f", (double)this.usedItemTypes / (double)this.maxItemTypes * 100)), false); + .addLine(I18n.get(TRANSLATION_KEY_BASE + ".space_info_label_types", String.format("%.0f", (double) this.usedItemTypes / (double) this.maxItemTypes * 100)), false); this.addRenderableWidget(this.storageTypesLabel); this.initButtons(); } @@ -334,16 +345,6 @@ protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int mouseX, this.searchBar.render(guiGraphics, mouseX, mouseY, partialTicks); } - public static void onScreenMouseClickedPre(ScreenEvent.MouseButtonPressed.Pre event){ - //JEI correctly consumes the mouseClicked event if we click in their search bar - //That leads to our search bar never getting unfocused - //so we use the pre-event to unfocus -> if the click was in the search bar then the mouseClicked of our gui will handle it - if(event.getScreen() instanceof StorageControllerGuiBase gui){ - gui.searchBar.setFocused(false); - } - } - - @Override public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { super.mouseClicked(mouseX, mouseY, mouseButton); @@ -410,10 +411,12 @@ public boolean keyPressed(int keyCode, int scanCode, int modifiers) { } var nothandled = !this.searchBar.keyPressed(keyCode, scanCode, modifiers) && !this.searchBar.canConsumeInput(); - if(nothandled) + if (nothandled) return super.keyPressed(keyCode, scanCode, modifiers); - if (JeiSettings.isJeiLoaded() && JeiSettings.isJeiSearchSynced()) { + if (OccultismEmiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { + OccultismEmiIntegration.get().setFilterText(this.searchBar.getValue()); + } else if (OccultismJeiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { OccultismJeiIntegration.get().setFilterText(this.searchBar.getValue()); } return true; @@ -452,7 +455,9 @@ public boolean mouseScrolled(double pMouseX, double pMouseY, double pScrollX, do public boolean charTyped(char typedChar, int keyCode) { if (this.searchBar.isFocused() && this.searchBar.charTyped(typedChar, keyCode)) { Networking.sendToServer(new MessageRequestStacks()); - if (JeiSettings.isJeiLoaded() && JeiSettings.isJeiSearchSynced()) { + if (OccultismEmiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { + OccultismEmiIntegration.get().setFilterText(this.searchBar.getValue()); + } else if (OccultismJeiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { OccultismJeiIntegration.get().setFilterText(this.searchBar.getValue()); } } @@ -510,18 +515,18 @@ public void initButtons() { }); this.addRenderableWidget(this.sortDirectionButton); - int jeiSyncOffset = 140 + (JeiSettings.isJeiSearchSynced() ? 0 : 1) * 28; - this.jeiSyncButton = new SizedImageButton( - this.leftPos + clearTextButtonLeft + controlButtonSize + 3 + controlButtonSize + 3 + controlButtonSize + - 3, this.topPos + controlButtonTop, controlButtonSize, controlButtonSize, 0, jeiSyncOffset, 28, 28, 28, - 256, 256, BUTTONS, (button) -> { - JeiSettings.setJeiSearchSync(!JeiSettings.isJeiSearchSynced()); - this.init(); - }); + if (OccultismEmiIntegration.get().isLoaded() || OccultismJeiIntegration.get().isLoaded()){ + int jeiSyncOffset = 140 + (JeiSettings.isJeiSearchSynced() ? 0 : 1) * 28; + this.jeiSyncButton = new SizedImageButton( + this.leftPos + clearTextButtonLeft + controlButtonSize + 3 + controlButtonSize + 3 + controlButtonSize + + 3, this.topPos + controlButtonTop, controlButtonSize, controlButtonSize, 0, jeiSyncOffset, 28, 28, 28, + 256, 256, BUTTONS, (button) -> { + JeiSettings.setJeiSearchSync(!JeiSettings.isJeiSearchSynced()); + this.init(); + }); - if (JeiSettings.isJeiLoaded()) this.addRenderableWidget(this.jeiSyncButton); - + } int guiModeButtonTop = 112; int guiModeButtonLeft = 27; @@ -580,7 +585,7 @@ protected void drawItems(GuiGraphics guiGraphics, float partialTicks, int mouseX var changedStacks = this.lastStacksCount != this.stacks.size(); this.lastStacksCount = this.stacks.size(); - if(changedPage || changedStacksToDisplay || changedStacks){ + if (changedPage || changedStacksToDisplay || changedStacks) { this.sortItemStacks(stacksToDisplay); this.buildPage(stacksToDisplay); this.buildItemSlots(stacksToDisplay); @@ -771,7 +776,7 @@ public int compare(ItemStack a, ItemStack b) { }); } - protected void resetDisplayCaches(){ + protected void resetDisplayCaches() { this.lastStacksCount = 0; this.cachedStacksToDisplay = null; this.previousPage = -1; @@ -912,7 +917,9 @@ protected void drawMachineSlots(GuiGraphics guiGraphics, int mouseX, int mouseY) protected void clearSearch() { this.searchBar.setValue(""); - if (JeiSettings.isJeiLoaded() && JeiSettings.isJeiSearchSynced()) { + if (OccultismEmiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { + OccultismEmiIntegration.get().setFilterText(""); + } else if (OccultismJeiIntegration.get().isLoaded() && JeiSettings.isJeiSearchSynced()) { OccultismJeiIntegration.get().setFilterText(""); } } diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegration.java b/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegration.java new file mode 100644 index 000000000..87930e195 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegration.java @@ -0,0 +1,24 @@ +/* + * SPDX-FileCopyrightText: 2022 klikli-dev + * + * SPDX-License-Identifier: MIT + */ + +package com.klikli_dev.occultism.integration.emi; + +import com.klikli_dev.occultism.integration.emi.impl.OccultismEmiIntegrationImpl; + +public interface OccultismEmiIntegration { + + OccultismEmiIntegration instance = new OccultismEmiIntegrationImpl(); + + static OccultismEmiIntegration get() { + return instance; + } + + boolean isLoaded(); + + String getFilterText(); + + void setFilterText(String filter); +} diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegrationDummy.java b/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegrationDummy.java new file mode 100644 index 000000000..5a5bc1bd5 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiIntegrationDummy.java @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2024 klikli-dev +// +// SPDX-License-Identifier: MIT + +package com.klikli_dev.occultism.integration.emi; + +public class OccultismEmiIntegrationDummy implements OccultismEmiIntegration { + + @Override + public boolean isLoaded() { + return false; + } + + @Override + public String getFilterText() { + return ""; + } + + @Override + public void setFilterText(String filter) { + + } +} diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiIntegrationImpl.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiIntegrationImpl.java new file mode 100644 index 000000000..2401f6acb --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiIntegrationImpl.java @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: 2024 klikli-dev +// +// SPDX-License-Identifier: MIT + +package com.klikli_dev.occultism.integration.emi.impl; + +import com.klikli_dev.occultism.integration.emi.OccultismEmiIntegration; +import com.klikli_dev.occultism.integration.jei.impl.JeiPlugin; +import dev.emi.emi.api.EmiApi; +import mezz.jei.api.runtime.IJeiRuntime; +import net.neoforged.fml.ModList; + +public class OccultismEmiIntegrationImpl implements OccultismEmiIntegration { + public boolean isLoaded() { + return ModList.get().isLoaded("emi"); + } + + @Override + public String getFilterText() { + if (!this.isLoaded()) + return ""; + + return OccultismEmiHelper.getFilterText(); + } + + @Override + public void setFilterText(String filter) { + if (!this.isLoaded()) + return; + + OccultismEmiHelper.setFilterText(filter); + } + + public static class OccultismEmiHelper { + public static String getFilterText() { + return EmiApi.getSearchText(); + } + + public static void setFilterText(String filter) { + EmiApi.setSearchText(filter); + } + } + +} diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiPlugin.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiPlugin.java similarity index 92% rename from src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiPlugin.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiPlugin.java index b98b9b2d1..566f8c491 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/OccultismEmiPlugin.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/OccultismEmiPlugin.java @@ -1,4 +1,4 @@ -package com.klikli_dev.occultism.integration.emi; +package com.klikli_dev.occultism.integration.emi.impl; import com.klikli_dev.occultism.Occultism; import com.klikli_dev.occultism.common.entity.spirit.FoliotEntity; @@ -6,11 +6,11 @@ import com.klikli_dev.occultism.crafting.recipe.MinerRecipe; import com.klikli_dev.occultism.crafting.recipe.RitualRecipe; import com.klikli_dev.occultism.crafting.recipe.SpiritFireRecipe; -import com.klikli_dev.occultism.integration.emi.recipes.CrushingRecipeCategory; -import com.klikli_dev.occultism.integration.emi.recipes.MinerRecipeCategory; -import com.klikli_dev.occultism.integration.emi.recipes.RitualRecipeCategory; -import com.klikli_dev.occultism.integration.emi.recipes.SpiritFireRecipeCategory; -import com.klikli_dev.occultism.integration.emi.render.SpiritRenderable; +import com.klikli_dev.occultism.integration.emi.impl.recipes.CrushingRecipeCategory; +import com.klikli_dev.occultism.integration.emi.impl.recipes.MinerRecipeCategory; +import com.klikli_dev.occultism.integration.emi.impl.recipes.RitualRecipeCategory; +import com.klikli_dev.occultism.integration.emi.impl.recipes.SpiritFireRecipeCategory; +import com.klikli_dev.occultism.integration.emi.impl.render.SpiritRenderable; import com.klikli_dev.occultism.registry.*; import dev.emi.emi.api.EmiEntrypoint; import dev.emi.emi.api.EmiInitRegistry; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/CrushingRecipeCategory.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/CrushingRecipeCategory.java similarity index 88% rename from src/main/java/com/klikli_dev/occultism/integration/emi/recipes/CrushingRecipeCategory.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/CrushingRecipeCategory.java index baba01976..d9100513f 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/CrushingRecipeCategory.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/CrushingRecipeCategory.java @@ -1,19 +1,15 @@ -package com.klikli_dev.occultism.integration.emi.recipes; +package com.klikli_dev.occultism.integration.emi.impl.recipes; import com.klikli_dev.occultism.Occultism; -import com.klikli_dev.occultism.common.entity.spirit.FoliotEntity; import com.klikli_dev.occultism.crafting.recipe.CrushingRecipe; -import com.klikli_dev.occultism.crafting.recipe.SpiritFireRecipe; -import com.klikli_dev.occultism.integration.emi.OccultismEmiPlugin; -import com.klikli_dev.occultism.integration.emi.render.SpiritRenderable; -import com.klikli_dev.occultism.integration.emi.render.SpiritWidget; +import com.klikli_dev.occultism.integration.emi.impl.OccultismEmiPlugin; +import com.klikli_dev.occultism.integration.emi.impl.render.SpiritWidget; import com.klikli_dev.occultism.registry.OccultismEntities; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.render.EmiTexture; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; -import dev.emi.emi.api.widget.DrawableWidget; import dev.emi.emi.api.widget.WidgetHolder; import net.minecraft.client.Minecraft; import net.minecraft.core.registries.BuiltInRegistries; @@ -23,7 +19,6 @@ import net.minecraft.world.item.crafting.RecipeHolder; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; import java.util.List; public class CrushingRecipeCategory implements EmiRecipe { diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/MinerRecipeCategory.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/MinerRecipeCategory.java similarity index 95% rename from src/main/java/com/klikli_dev/occultism/integration/emi/recipes/MinerRecipeCategory.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/MinerRecipeCategory.java index d06ca2ac6..8379860e0 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/MinerRecipeCategory.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/MinerRecipeCategory.java @@ -1,7 +1,7 @@ -package com.klikli_dev.occultism.integration.emi.recipes; +package com.klikli_dev.occultism.integration.emi.impl.recipes; import com.klikli_dev.occultism.crafting.recipe.MinerRecipe; -import com.klikli_dev.occultism.integration.emi.OccultismEmiPlugin; +import com.klikli_dev.occultism.integration.emi.impl.OccultismEmiPlugin; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; import dev.emi.emi.api.render.EmiTexture; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/RitualRecipeCategory.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/RitualRecipeCategory.java similarity index 97% rename from src/main/java/com/klikli_dev/occultism/integration/emi/recipes/RitualRecipeCategory.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/RitualRecipeCategory.java index 20869d7e7..d6a863a49 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/RitualRecipeCategory.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/RitualRecipeCategory.java @@ -1,10 +1,9 @@ -package com.klikli_dev.occultism.integration.emi.recipes; +package com.klikli_dev.occultism.integration.emi.impl.recipes; import com.klikli_dev.modonomicon.api.ModonomiconAPI; -import com.klikli_dev.occultism.Occultism; import com.klikli_dev.occultism.crafting.recipe.RitualRecipe; -import com.klikli_dev.occultism.integration.emi.OccultismEmiPlugin; -import com.klikli_dev.occultism.integration.emi.render.ItemWidget; +import com.klikli_dev.occultism.integration.emi.impl.OccultismEmiPlugin; +import com.klikli_dev.occultism.integration.emi.impl.render.ItemWidget; import com.klikli_dev.occultism.registry.OccultismBlocks; import com.klikli_dev.occultism.registry.OccultismItems; import dev.emi.emi.api.recipe.EmiRecipe; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/SpiritFireRecipeCategory.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/SpiritFireRecipeCategory.java similarity index 92% rename from src/main/java/com/klikli_dev/occultism/integration/emi/recipes/SpiritFireRecipeCategory.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/SpiritFireRecipeCategory.java index 6eb561730..4c5bed055 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/recipes/SpiritFireRecipeCategory.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/recipes/SpiritFireRecipeCategory.java @@ -1,8 +1,7 @@ -package com.klikli_dev.occultism.integration.emi.recipes; +package com.klikli_dev.occultism.integration.emi.impl.recipes; -import com.klikli_dev.occultism.Occultism; import com.klikli_dev.occultism.crafting.recipe.SpiritFireRecipe; -import com.klikli_dev.occultism.integration.emi.OccultismEmiPlugin; +import com.klikli_dev.occultism.integration.emi.impl.OccultismEmiPlugin; import com.klikli_dev.occultism.registry.OccultismItems; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; @@ -12,7 +11,6 @@ import dev.emi.emi.api.widget.WidgetHolder; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeHolder; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/render/ItemWidget.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/ItemWidget.java similarity index 92% rename from src/main/java/com/klikli_dev/occultism/integration/emi/render/ItemWidget.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/ItemWidget.java index f7fa22ce5..0600c186a 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/render/ItemWidget.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/ItemWidget.java @@ -1,6 +1,5 @@ -package com.klikli_dev.occultism.integration.emi.render; +package com.klikli_dev.occultism.integration.emi.impl.render; -import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.api.widget.Bounds; import dev.emi.emi.api.widget.Widget; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritRenderable.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritRenderable.java similarity index 78% rename from src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritRenderable.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritRenderable.java index 45ba951ec..535cdcb7f 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritRenderable.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritRenderable.java @@ -1,11 +1,8 @@ -package com.klikli_dev.occultism.integration.emi.render; +package com.klikli_dev.occultism.integration.emi.impl.render; import com.klikli_dev.occultism.client.gui.spirit.SpiritGui; -import com.klikli_dev.occultism.common.entity.spirit.FoliotEntity; import com.klikli_dev.occultism.common.entity.spirit.SpiritEntity; -import com.klikli_dev.occultism.registry.OccultismEntities; import dev.emi.emi.api.render.EmiRenderable; -import dev.emi.emi.api.widget.DrawableWidget; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.world.entity.EntityType; diff --git a/src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritWidget.java b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritWidget.java similarity index 82% rename from src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritWidget.java rename to src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritWidget.java index 325cc0ef9..ceb239522 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/emi/render/SpiritWidget.java +++ b/src/main/java/com/klikli_dev/occultism/integration/emi/impl/render/SpiritWidget.java @@ -1,11 +1,8 @@ -package com.klikli_dev.occultism.integration.emi.render; +package com.klikli_dev.occultism.integration.emi.impl.render; import com.klikli_dev.occultism.client.gui.spirit.SpiritGui; -import com.klikli_dev.occultism.common.entity.spirit.FoliotEntity; import com.klikli_dev.occultism.common.entity.spirit.SpiritEntity; -import com.klikli_dev.occultism.registry.OccultismEntities; import dev.emi.emi.api.widget.Bounds; -import dev.emi.emi.api.widget.DrawableWidget; import dev.emi.emi.api.widget.Widget; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; diff --git a/src/main/java/com/klikli_dev/occultism/integration/jei/JeiSettings.java b/src/main/java/com/klikli_dev/occultism/integration/jei/JeiSettings.java index 4c4df53dc..39bd2fac5 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/jei/JeiSettings.java +++ b/src/main/java/com/klikli_dev/occultism/integration/jei/JeiSettings.java @@ -26,16 +26,6 @@ public class JeiSettings { - protected static boolean jeiLoaded = false; - - public static boolean isJeiLoaded() { - return jeiLoaded; - } - - public static void setJeiLoaded(boolean loaded) { - jeiLoaded = loaded; - } - public static boolean isJeiSearchSynced() { return Occultism.CLIENT_CONFIG.misc.syncJeiSearch.get(); } diff --git a/src/main/java/com/klikli_dev/occultism/integration/jei/OccultismJeiIntegration.java b/src/main/java/com/klikli_dev/occultism/integration/jei/OccultismJeiIntegration.java index 036024d3e..0b840a5a4 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/jei/OccultismJeiIntegration.java +++ b/src/main/java/com/klikli_dev/occultism/integration/jei/OccultismJeiIntegration.java @@ -6,9 +6,11 @@ package com.klikli_dev.occultism.integration.jei; +import com.klikli_dev.occultism.integration.jei.impl.OccultismJeiIntegrationImpl; + public interface OccultismJeiIntegration { - OccultismJeiIntegration instance = new OccultismJeiIntegrationDummy(); + OccultismJeiIntegration instance = new OccultismJeiIntegrationImpl(); static OccultismJeiIntegration get() { return instance; @@ -16,7 +18,6 @@ static OccultismJeiIntegration get() { boolean isLoaded(); - String getFilterText(); void setFilterText(String filter); diff --git a/src/main/java/com/klikli_dev/occultism/integration/jei/impl/JeiPlugin.java b/src/main/java/com/klikli_dev/occultism/integration/jei/impl/JeiPlugin.java index cd935eec7..68e350739 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/jei/impl/JeiPlugin.java +++ b/src/main/java/com/klikli_dev/occultism/integration/jei/impl/JeiPlugin.java @@ -137,7 +137,6 @@ public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { @Override public void onRuntimeAvailable(IJeiRuntime jeiRuntime) { JeiPlugin.runtime = jeiRuntime; - JeiSettings.setJeiLoaded(true); } public void registerIngredientInfo(IRecipeRegistration registration, ItemLike ingredient) { diff --git a/src/main/java/com/klikli_dev/occultism/integration/jei/impl/OccultismJeiIntegrationImpl.java b/src/main/java/com/klikli_dev/occultism/integration/jei/impl/OccultismJeiIntegrationImpl.java index 7a9271548..d7477521e 100644 --- a/src/main/java/com/klikli_dev/occultism/integration/jei/impl/OccultismJeiIntegrationImpl.java +++ b/src/main/java/com/klikli_dev/occultism/integration/jei/impl/OccultismJeiIntegrationImpl.java @@ -8,10 +8,11 @@ import com.klikli_dev.modonomicon.platform.Services; import com.klikli_dev.occultism.integration.jei.OccultismJeiIntegration; import mezz.jei.api.runtime.IJeiRuntime; +import net.neoforged.fml.ModList; public class OccultismJeiIntegrationImpl implements OccultismJeiIntegration { public boolean isLoaded() { - return Services.PLATFORM.isModLoaded("jei"); + return ModList.get().isLoaded("jei"); } @Override