diff --git a/src/main/java/ru/betterend/integration/rei/REIAlloyingCategory.java b/src/main/java/ru/betterend/integration/rei/REIAlloyingCategory.java index 1d915bc9..2a777fe2 100644 --- a/src/main/java/ru/betterend/integration/rei/REIAlloyingCategory.java +++ b/src/main/java/ru/betterend/integration/rei/REIAlloyingCategory.java @@ -5,19 +5,18 @@ import com.mojang.blaze3d.vertex.PoseStack; import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.api.client.gui.DisplayRenderer; -import me.shedaniel.rei.api.client.gui.SimpleDisplayRenderer; import me.shedaniel.rei.api.client.gui.widgets.Widget; import me.shedaniel.rei.api.client.gui.widgets.Widgets; import me.shedaniel.rei.api.client.registry.display.TransferDisplayCategory; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryStacks; import net.minecraft.client.gui.GuiComponent; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.world.item.Items; import org.jetbrains.annotations.NotNull; -import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.registry.EndBlocks; import java.text.DecimalFormat; @@ -37,7 +36,8 @@ public class REIAlloyingCategory implements TransferDisplayCategory recipe; private float xp; private double smeltTime; + + public REIAlloyingDisplay(AlloyingRecipe recipe) { + this(recipe, recipe.getExperience(), recipe.getSmeltTime()); + } + protected REIAlloyingDisplay(Recipe recipe, float xp, double smeltTime) { super( EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) ); this.recipe = recipe; - this.xp = recipe.getExperience(); - this.smeltTime = recipe.getSmeltTime(); + this.xp = xp; + this.smeltTime = smeltTime; } - - public REIAlloyingDisplay(BlastingRecipe recipe) { - super( - EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) - ); - this.recipe = recipe; - this.xp = recipe.getExperience(); - this.smeltTime = recipe.getCookingTime(); - } - + + public static List getFuel() { return fuel; } diff --git a/src/main/java/ru/betterend/integration/rei/REIAlloyingFuelDisplay.java b/src/main/java/ru/betterend/integration/rei/REIAlloyingFuelDisplay.java index c177c5fa..7e9d64e1 100644 --- a/src/main/java/ru/betterend/integration/rei/REIAlloyingFuelDisplay.java +++ b/src/main/java/ru/betterend/integration/rei/REIAlloyingFuelDisplay.java @@ -8,7 +8,7 @@ import net.minecraft.nbt.CompoundTag; import java.util.Collections; import java.util.List; -public class REIAlloyingFuelDisplay extends BasicDisplay { +public abstract class REIAlloyingFuelDisplay extends BasicDisplay { private final int fuelTime; public REIAlloyingFuelDisplay(List fuel, CompoundTag tag) { @@ -24,10 +24,10 @@ public class REIAlloyingFuelDisplay extends BasicDisplay { this.fuelTime = fuelTime; }*/ - @Override + /*@Override public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.ALLOYING_FUEL; - } + return REIPluginClient.ALLOYING_FUEL; + }*/ public int getFuelTime() { return fuelTime; diff --git a/src/main/java/ru/betterend/integration/rei/REIAnvilCategory.java b/src/main/java/ru/betterend/integration/rei/REIAnvilCategory.java index 479ef998..694376cc 100644 --- a/src/main/java/ru/betterend/integration/rei/REIAnvilCategory.java +++ b/src/main/java/ru/betterend/integration/rei/REIAnvilCategory.java @@ -11,17 +11,18 @@ import me.shedaniel.rei.api.client.registry.display.TransferDisplayCategory; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryStacks; import net.minecraft.client.gui.GuiComponent; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import org.jetbrains.annotations.NotNull; import ru.betterend.blocks.basis.EndAnvilBlock; import java.util.Arrays; -import java.util.Collection; import java.util.List; import java.util.stream.Collectors; @@ -39,11 +40,12 @@ public class REIAnvilCategory implements TransferDisplayCategory setupDisplay(REIAnvilDisplay display, Rectangle bounds) { Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); List widgets = Lists.newArrayList(); @@ -54,7 +56,7 @@ public class REIAnvilCategory implements TransferDisplayCategory inputEntries = display.getInputEntries(); EntryIngredient materials = inputEntries.get(1); int anvilLevel = display.getAnvilLevel(); - List anvils = Arrays.stream(REIPlugin.ANVILS).filter(anvil -> { + List anvils = Arrays.stream(REIPluginClient.ANVILS).filter(anvil -> { Block block = ((BlockItem) anvil.getValue()).getBlock(); if (block instanceof EndAnvilBlock) { return ((EndAnvilBlock) block).getCraftingLevel() >= anvilLevel; @@ -71,7 +73,7 @@ public class REIAnvilCategory implements TransferDisplayCategory widgets, Rectangle bounds, REIAnvilDisplay display, diff --git a/src/main/java/ru/betterend/integration/rei/REIBlastingDisplay.java b/src/main/java/ru/betterend/integration/rei/REIBlastingDisplay.java new file mode 100644 index 00000000..3dc0fc5d --- /dev/null +++ b/src/main/java/ru/betterend/integration/rei/REIBlastingDisplay.java @@ -0,0 +1,10 @@ +package ru.betterend.integration.rei; + +import net.minecraft.world.item.crafting.BlastingRecipe; +import ru.betterend.recipe.builders.AlloyingRecipe; + +public class REIBlastingDisplay extends REIAlloyingDisplay{ + public REIBlastingDisplay(BlastingRecipe recipe) { + super(recipe, recipe.getExperience(), recipe.getCookingTime()); + } +} diff --git a/src/main/java/ru/betterend/integration/rei/REIContainer.java b/src/main/java/ru/betterend/integration/rei/REIContainer.java index 47bfa4e8..3b9c7299 100644 --- a/src/main/java/ru/betterend/integration/rei/REIContainer.java +++ b/src/main/java/ru/betterend/integration/rei/REIContainer.java @@ -1,5 +1,8 @@ package ru.betterend.integration.rei; +import ru.betterend.client.gui.EndStoneSmelterScreenHandler; +import ru.betterend.recipe.builders.AlloyingRecipe; + public class REIContainer implements Runnable { @Override diff --git a/src/main/java/ru/betterend/integration/rei/REIInfusionCategory.java b/src/main/java/ru/betterend/integration/rei/REIInfusionCategory.java index eeb77143..92c4ed5f 100644 --- a/src/main/java/ru/betterend/integration/rei/REIInfusionCategory.java +++ b/src/main/java/ru/betterend/integration/rei/REIInfusionCategory.java @@ -11,9 +11,11 @@ import me.shedaniel.rei.api.client.registry.display.TransferDisplayCategory; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryStacks; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Items; import org.jetbrains.annotations.NotNull; import ru.betterend.BetterEnd; import ru.betterend.registry.EndBlocks; @@ -36,7 +38,8 @@ public class REIInfusionCategory implements TransferDisplayCategory) () -> this, PLUGIN_ID); - //} /*@Override public void registerRecipeDisplays(RecipeHelper recipeHelper) { @@ -64,6 +68,14 @@ public class REIPlugin implements me.shedaniel.rei.api.client.plugins.REIClientP } }); }*/ + + @Override + public void registerDisplays(DisplayRegistry registry) { + registry.registerRecipeFiller(AlloyingRecipe.class, AlloyingRecipe.TYPE, REIAlloyingDisplay::new); + registry.registerRecipeFiller(BlastingRecipe.class, RecipeType.BLASTING, REIBlastingDisplay::new); + registry.registerRecipeFiller(AnvilRecipe.class, AnvilRecipe.TYPE, REIAnvilDisplay::new); + registry.registerRecipeFiller(InfusionRecipe.class, InfusionRecipe.TYPE, REIInfusionDisplay::new); + } @Override public void registerCategories(CategoryRegistry registry) { @@ -74,24 +86,30 @@ public class REIPlugin implements me.shedaniel.rei.api.client.plugins.REIClientP new REIAnvilCategory() ); - registry.addWorkstations(ALLOYING_FUEL, END_STONE_SMELTER); - registry.addWorkstations(ALLOYING, END_STONE_SMELTER); - registry.addWorkstations(INFUSION, INFUSION_RITUAL); - registry.addWorkstations(SMITHING, ANVILS); + //registry.addWorkstations(ALLOYING_FUEL, END_STONE_SMELTER); + //registry.addWorkstations(ALLOYING, END_STONE_SMELTER); + //registry.addWorkstations(INFUSION, INFUSION_RITUAL); + //registry.addWorkstations(SMITHING, ANVILS); registry.removePlusButton(ALLOYING_FUEL); registry.removePlusButton(SMITHING); - registry.addWorkstations(DefaultPlugin.SMELTING, FURNACES); - registry.addWorkstations(DefaultPlugin.FUEL, FURNACES); - } + //registry.addWorkstations(DefaultPlugin.SMELTING, FURNACES); + //registry.addWorkstations(DefaultPlugin.FUEL, FURNACES); + } + static EntryType BLOCK = EntryType.deferred(new ResourceLocation("block")); static { - List anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks().stream() + //initialize static state + EndPortals.loadPortals(); + System.out.println(EndBlocks.END_STONE_SMELTER + " - " + EndBlocks.END_STONE_SMELTER.asItem()); + //END_STONE_SMELTER = EntryStacks.of(EndBlocks.END_STONE_SMELTER.asItem()); + /*List anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks().stream() .filter(EndAnvilBlock.class::isInstance).collect(Collectors.toList()))); anvils.add(0, EntryStacks.of(Blocks.ANVIL)); - ANVILS = anvils.toArray(new EntryStack[0]); - FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks().stream() + ANVILS = anvils.toArray(new EntryStack[0]);*/ + + /*FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks().stream() .filter(BaseFurnaceBlock.class::isInstance).collect(Collectors.toList()))) - .toArray(new EntryStack[0]); + .toArray(new EntryStack[0]);*/ } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 90a89ea6..4ca4089f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -31,11 +31,8 @@ "ru.betterend.client.BetterEndClient" ], "rei_plugins": [ - "ru.betterend.integration.rei.REIPlugin" - ], - "rei_containers": [ - "ru.betterend.integration.rei.REIContainer" - ] + "ru.betterend.integration.rei.REIPlugin" + ] }, "mixins": [ "betterend.mixins.common.json",