From 1ac25673a85f5c74768a899a0a52cc93cf3099c9 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 24 May 2023 19:07:12 +0200 Subject: [PATCH] Disabled emi, rei and trinkets for now --- build.gradle | 11 +- .../integration/emi/EMIBlastingRecipe.java | 76 +++--- .../integration/emi/EMIInfusionRecipe.java | 258 +++++++++--------- .../betterend/integration/emi/EMIPlugin.java | 76 +++--- .../emi/TransparentSlotWidget.java | 172 ++++++------ .../integration/rei/REIAlloyingCategory.java | 172 ++++++------ .../integration/rei/REIAlloyingDisplay.java | 214 +++++++-------- .../rei/REIAlloyingFuelCategory.java | 204 +++++++------- .../rei/REIAlloyingFuelDisplay.java | 50 ++-- .../integration/rei/REIAnvilCategory.java | 178 ++++++------ .../integration/rei/REIAnvilDisplay.java | 124 ++++----- .../integration/rei/REIBlastingDisplay.java | 14 +- .../integration/rei/REIInfusionCategory.java | 220 +++++++-------- .../integration/rei/REIInfusionDisplay.java | 126 ++++----- .../betterend/integration/rei/REIPlugin.java | 208 +++++++------- .../integration/trinkets/Elytra.java | 170 ++++++------ .../integration/trinkets/ElytraClient.java | 40 +-- 17 files changed, 1156 insertions(+), 1157 deletions(-) diff --git a/build.gradle b/build.gradle index a85f4311..754767c6 100644 --- a/build.gradle +++ b/build.gradle @@ -92,14 +92,13 @@ dependencies { } else { modImplementation "com.github.quiqueck:BCLib:${project.bclib_version}" } - modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" - modCompileOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}" +// modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" +// modCompileOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}" //needed for trinkets, otherwise BetterEnd would require users to install trinkets - modApi "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cca_version}" - modCompileOnly "dev.emi:trinkets:${project.trinkets_version}" - modCompileOnly "dev.emi:emi:${emi_version}" - //modRuntimeOnly "dev.emi:emi:${emi_version}" +// modApi "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cca_version}" +// modCompileOnly "dev.emi:trinkets:${project.trinkets_version}" +// modCompileOnly "dev.emi:emi:${emi_version}" if (local_wunderlib) { println "Using local WunderLib" diff --git a/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java b/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java index 2924544d..3624c5f6 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java @@ -1,40 +1,40 @@ package org.betterx.betterend.integration.emi; -import org.betterx.bclib.integration.emi.EMIAbstractAlloyingRecipe; -import org.betterx.bclib.integration.emi.EMIPlugin; -import org.betterx.betterend.BetterEnd; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.Container; -import net.minecraft.world.item.crafting.BlastingRecipe; -import net.minecraft.world.item.crafting.RecipeManager; -import net.minecraft.world.item.crafting.RecipeType; - -import dev.emi.emi.api.EmiRegistry; - -public class EMIBlastingRecipe extends EMIAbstractAlloyingRecipe { - public EMIBlastingRecipe(BlastingRecipe recipe) { - super(recipe, new ResourceLocation( - "emi", - recipe.getId().getNamespace() + "/" + recipe.getId().getPath() + "/allloying" - ), 1, false); - } - - @Override - protected int getSmeltTime() { - return recipe.getCookingTime(); - } - - @Override - protected float getExperience() { - return recipe.getExperience(); - } - - - static void addAllRecipes(EmiRegistry emiRegistry, RecipeManager manager) { - EMIPlugin.addAllRecipes( - emiRegistry, manager, BetterEnd.LOGGER, - RecipeType.BLASTING, EMIBlastingRecipe::new - ); - } -} +//import org.betterx.bclib.integration.emi.EMIAbstractAlloyingRecipe; +//import org.betterx.bclib.integration.emi.EMIPlugin; +//import org.betterx.betterend.BetterEnd; +// +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.world.Container; +//import net.minecraft.world.item.crafting.BlastingRecipe; +//import net.minecraft.world.item.crafting.RecipeManager; +//import net.minecraft.world.item.crafting.RecipeType; +// +//import dev.emi.emi.api.EmiRegistry; +// +//public class EMIBlastingRecipe extends EMIAbstractAlloyingRecipe { +// public EMIBlastingRecipe(BlastingRecipe recipe) { +// super(recipe, new ResourceLocation( +// "emi", +// recipe.getId().getNamespace() + "/" + recipe.getId().getPath() + "/allloying" +// ), 1, false); +// } +// +// @Override +// protected int getSmeltTime() { +// return recipe.getCookingTime(); +// } +// +// @Override +// protected float getExperience() { +// return recipe.getExperience(); +// } +// +// +// static void addAllRecipes(EmiRegistry emiRegistry, RecipeManager manager) { +// EMIPlugin.addAllRecipes( +// emiRegistry, manager, BetterEnd.LOGGER, +// RecipeType.BLASTING, EMIBlastingRecipe::new +// ); +// } +//} diff --git a/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java b/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java index d9e692f8..88a6b090 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java @@ -1,131 +1,131 @@ package org.betterx.betterend.integration.emi; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.recipe.builders.InfusionRecipe; -import org.betterx.ui.ColorUtil; - -import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.Style; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.FormattedCharSequence; -import net.minecraft.world.item.crafting.RecipeManager; - -import dev.emi.emi.api.EmiRegistry; -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.WidgetHolder; - -import java.util.List; -import org.jetbrains.annotations.Nullable; - -public class EMIInfusionRecipe implements EmiRecipe { - public final static EmiTexture BACKGROUND = new EmiTexture( - BetterEnd.makeID("textures/gui/infusion.png"), - 0, 0, - 84, 84, 84, 84, 84, 84 - ); - - public final Component[] ORIENTATIONS = { - Component.translatable("betterend.infusion.north").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.north_east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.south_east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.south").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.south_west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - Component.translatable("betterend.infusion.north_west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), - }; - private final ResourceLocation id; - private final List input; - private final List output; - - public EMIInfusionRecipe(InfusionRecipe recipe) { - this.id = recipe.getId(); - this.input = recipe.getIngredients().stream().map(i -> EmiIngredient.of(i)).toList(); - this.output = List.of(EmiStack.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))); - } - - static void addAllRecipes(EmiRegistry emiRegistry, RecipeManager manager) { - org.betterx.bclib.integration.emi.EMIPlugin.addAllRecipes( - emiRegistry, manager, BetterEnd.LOGGER, - InfusionRecipe.TYPE, EMIInfusionRecipe::new - ); - } - - - @Override - public EmiRecipeCategory getCategory() { - return EMIPlugin.INFUSION_CATEGORY; - } - - @Override - public @Nullable ResourceLocation getId() { - return id; - } - - @Override - public List getInputs() { - return input; - } - - @Override - public List getOutputs() { - return output; - } - - @Override - public int getDisplayWidth() { - return 4 + 10 + 84 + 68; - } - - @Override - public int getDisplayHeight() { - return 4 + 20 + 84; - } - - @Override - public void addWidgets(WidgetHolder widgets) { - final int radius = 36; - final int halfSize = 9; - final int left = 10; - final int top = 17; - - final int cx = left + 84 / 2; - final int cy = top + 84 / 2; - - final int right = left + 84; - final int bottom = top + 84; - widgets.addTexture(BACKGROUND, left, top); - // Add an arrow texture to indicate processing - widgets.addTexture(EmiTexture.EMPTY_ARROW, right + 10, cy - 8); - - // Adds an input slot on the left - widgets.add(new TransparentSlotWidget(input.get(0), cx - halfSize, cy - halfSize)); - - FormattedCharSequence str = FormattedCharSequence.forward("N", Style.EMPTY); - widgets.addText(str, cx - Minecraft.getInstance().font.width(str) / 2, 4, ColorUtil.WHITE, true); - double a = Math.PI; - for (int i = 1; i < input.size(); i++) { - widgets.add(new TransparentSlotWidget( - input.get(i), - cx - halfSize + (int) (Math.sin(a) * radius), - cy - halfSize + (int) (Math.cos(a) * radius) - )).appendTooltip(ORIENTATIONS[i - 1]); - a -= Math.PI / 4; - } - - // Adds an output slot on the right - // Note that output slots need to call `recipeContext` to inform EMI about their recipe context - // This includes being able to resolve recipe trees, favorite stacks with recipe context, and more - widgets.addSlot(output.get(0), right + 40, cy - (halfSize + 4)).output(true).recipeContext(this); - } - - @Override - public boolean supportsRecipeTree() { - return true; - } -} +//import org.betterx.betterend.BetterEnd; +//import org.betterx.betterend.recipe.builders.InfusionRecipe; +//import org.betterx.ui.ColorUtil; +// +//import net.minecraft.client.Minecraft; +//import net.minecraft.network.chat.Component; +//import net.minecraft.network.chat.Style; +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.util.FormattedCharSequence; +//import net.minecraft.world.item.crafting.RecipeManager; +// +//import dev.emi.emi.api.EmiRegistry; +//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.WidgetHolder; +// +//import java.util.List; +//import org.jetbrains.annotations.Nullable; +// +//public class EMIInfusionRecipe implements EmiRecipe { +// public final static EmiTexture BACKGROUND = new EmiTexture( +// BetterEnd.makeID("textures/gui/infusion.png"), +// 0, 0, +// 84, 84, 84, 84, 84, 84 +// ); +// +// public final Component[] ORIENTATIONS = { +// Component.translatable("betterend.infusion.north").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.north_east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.south_east").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.south").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.south_west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// Component.translatable("betterend.infusion.north_west").setStyle(Style.EMPTY.withColor(ColorUtil.GRAY)), +// }; +// private final ResourceLocation id; +// private final List input; +// private final List output; +// +// public EMIInfusionRecipe(InfusionRecipe recipe) { +// this.id = recipe.getId(); +// this.input = recipe.getIngredients().stream().map(i -> EmiIngredient.of(i)).toList(); +// this.output = List.of(EmiStack.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))); +// } +// +// static void addAllRecipes(EmiRegistry emiRegistry, RecipeManager manager) { +// org.betterx.bclib.integration.emi.EMIPlugin.addAllRecipes( +// emiRegistry, manager, BetterEnd.LOGGER, +// InfusionRecipe.TYPE, EMIInfusionRecipe::new +// ); +// } +// +// +// @Override +// public EmiRecipeCategory getCategory() { +// return EMIPlugin.INFUSION_CATEGORY; +// } +// +// @Override +// public @Nullable ResourceLocation getId() { +// return id; +// } +// +// @Override +// public List getInputs() { +// return input; +// } +// +// @Override +// public List getOutputs() { +// return output; +// } +// +// @Override +// public int getDisplayWidth() { +// return 4 + 10 + 84 + 68; +// } +// +// @Override +// public int getDisplayHeight() { +// return 4 + 20 + 84; +// } +// +// @Override +// public void addWidgets(WidgetHolder widgets) { +// final int radius = 36; +// final int halfSize = 9; +// final int left = 10; +// final int top = 17; +// +// final int cx = left + 84 / 2; +// final int cy = top + 84 / 2; +// +// final int right = left + 84; +// final int bottom = top + 84; +// widgets.addTexture(BACKGROUND, left, top); +// // Add an arrow texture to indicate processing +// widgets.addTexture(EmiTexture.EMPTY_ARROW, right + 10, cy - 8); +// +// // Adds an input slot on the left +// widgets.add(new TransparentSlotWidget(input.get(0), cx - halfSize, cy - halfSize)); +// +// FormattedCharSequence str = FormattedCharSequence.forward("N", Style.EMPTY); +// widgets.addText(str, cx - Minecraft.getInstance().font.width(str) / 2, 4, ColorUtil.WHITE, true); +// double a = Math.PI; +// for (int i = 1; i < input.size(); i++) { +// widgets.add(new TransparentSlotWidget( +// input.get(i), +// cx - halfSize + (int) (Math.sin(a) * radius), +// cy - halfSize + (int) (Math.cos(a) * radius) +// )).appendTooltip(ORIENTATIONS[i - 1]); +// a -= Math.PI / 4; +// } +// +// // Adds an output slot on the right +// // Note that output slots need to call `recipeContext` to inform EMI about their recipe context +// // This includes being able to resolve recipe trees, favorite stacks with recipe context, and more +// widgets.addSlot(output.get(0), right + 40, cy - (halfSize + 4)).output(true).recipeContext(this); +// } +// +// @Override +// public boolean supportsRecipeTree() { +// return true; +// } +//} diff --git a/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java b/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java index e995ddd6..f35d59f5 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java @@ -1,40 +1,40 @@ package org.betterx.betterend.integration.emi; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBlocks; - -import net.minecraft.world.item.crafting.RecipeManager; - -import dev.emi.emi.api.EmiRegistry; -import dev.emi.emi.api.recipe.EmiRecipeCategory; -import dev.emi.emi.api.recipe.VanillaEmiRecipeCategories; -import dev.emi.emi.api.stack.EmiStack; - -public class EMIPlugin implements dev.emi.emi.api.EmiPlugin { - public static final EmiStack INFUSION_WORKSTATION = EmiStack.of(EndBlocks.INFUSION_PEDESTAL); - public static final EmiStack AZURE_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.AZURE_JADESTONE.furnace); - public static final EmiStack SANDY_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.SANDY_JADESTONE.furnace); - public static final EmiStack VIRID_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.VIRID_JADESTONE.furnace); - - public static final EmiRecipeCategory INFUSION_CATEGORY = new EmiRecipeCategory( - BetterEnd.makeID("infusion"), - INFUSION_WORKSTATION, - org.betterx.bclib.integration.emi.EMIPlugin.getSprite(0, 16) - ); - - @Override - public void register(EmiRegistry emiRegistry) { - final RecipeManager manager = emiRegistry.getRecipeManager(); - emiRegistry.addCategory(INFUSION_CATEGORY); - emiRegistry.addWorkstation(INFUSION_CATEGORY, INFUSION_WORKSTATION); - - EMIInfusionRecipe.addAllRecipes(emiRegistry, manager); - if (org.betterx.bclib.integration.emi.EMIPlugin.END_ALLOYING_CATEGORY != null) { - EMIBlastingRecipe.addAllRecipes(emiRegistry, manager); - } - - emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, AZURE_JADESTONE_FURNACE_WORKSTATION); - emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, SANDY_JADESTONE_FURNACE_WORKSTATION); - emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, VIRID_JADESTONE_FURNACE_WORKSTATION); - } -} +//import org.betterx.betterend.BetterEnd; +//import org.betterx.betterend.registry.EndBlocks; +// +//import net.minecraft.world.item.crafting.RecipeManager; +// +//import dev.emi.emi.api.EmiRegistry; +//import dev.emi.emi.api.recipe.EmiRecipeCategory; +//import dev.emi.emi.api.recipe.VanillaEmiRecipeCategories; +//import dev.emi.emi.api.stack.EmiStack; +// +//public class EMIPlugin implements dev.emi.emi.api.EmiPlugin { +// public static final EmiStack INFUSION_WORKSTATION = EmiStack.of(EndBlocks.INFUSION_PEDESTAL); +// public static final EmiStack AZURE_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.AZURE_JADESTONE.furnace); +// public static final EmiStack SANDY_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.SANDY_JADESTONE.furnace); +// public static final EmiStack VIRID_JADESTONE_FURNACE_WORKSTATION = EmiStack.of(EndBlocks.VIRID_JADESTONE.furnace); +// +// public static final EmiRecipeCategory INFUSION_CATEGORY = new EmiRecipeCategory( +// BetterEnd.makeID("infusion"), +// INFUSION_WORKSTATION, +// org.betterx.bclib.integration.emi.EMIPlugin.getSprite(0, 16) +// ); +// +// @Override +// public void register(EmiRegistry emiRegistry) { +// final RecipeManager manager = emiRegistry.getRecipeManager(); +// emiRegistry.addCategory(INFUSION_CATEGORY); +// emiRegistry.addWorkstation(INFUSION_CATEGORY, INFUSION_WORKSTATION); +// +// EMIInfusionRecipe.addAllRecipes(emiRegistry, manager); +// if (org.betterx.bclib.integration.emi.EMIPlugin.END_ALLOYING_CATEGORY != null) { +// EMIBlastingRecipe.addAllRecipes(emiRegistry, manager); +// } +// +// emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, AZURE_JADESTONE_FURNACE_WORKSTATION); +// emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, SANDY_JADESTONE_FURNACE_WORKSTATION); +// emiRegistry.addWorkstation(VanillaEmiRecipeCategories.SMELTING, VIRID_JADESTONE_FURNACE_WORKSTATION); +// } +//} diff --git a/src/main/java/org/betterx/betterend/integration/emi/TransparentSlotWidget.java b/src/main/java/org/betterx/betterend/integration/emi/TransparentSlotWidget.java index 4edd600d..f7b250bb 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/TransparentSlotWidget.java +++ b/src/main/java/org/betterx/betterend/integration/emi/TransparentSlotWidget.java @@ -1,91 +1,91 @@ package org.betterx.betterend.integration.emi; -import de.ambertation.wunderlib.ui.layout.components.render.RenderHelper; - -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.gui.GuiComponent; - -import dev.emi.emi.EmiPort; -import dev.emi.emi.EmiRenderHelper; -import dev.emi.emi.api.render.EmiRender; -import dev.emi.emi.api.stack.EmiIngredient; -import dev.emi.emi.api.widget.Bounds; -import dev.emi.emi.api.widget.SlotWidget; -import dev.emi.emi.config.EmiConfig; - -public class TransparentSlotWidget extends SlotWidget { - - public TransparentSlotWidget(EmiIngredient stack, int x, int y) { - super(stack, x, y); - } - - - @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - Bounds bounds = this.getBounds(); - EmiPort.setPositionTexShader(); - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - int width = bounds.width(); - int height = bounds.height(); - if (this.drawBack) { - if (this.textureId != null) { - RenderSystem.setShaderTexture(0, this.textureId); - GuiComponent.blit( - matrices, - bounds.x(), bounds.y(), width, height, - this.u, this.v, width, height, 256, 256 - ); - } else { - renderSlot(matrices); - } - } - -// if (this.getRecipe() == null -// && EmiClient.availableForCrafting.containsKey(this.getStack()) -// && !this.getStack().isEmpty() -// && !(Boolean) EmiClient.availableForCrafting.get(this.getStack())) { -// GuiComponent.fill( +//import de.ambertation.wunderlib.ui.layout.components.render.RenderHelper; +// +//import com.mojang.blaze3d.systems.RenderSystem; +//import com.mojang.blaze3d.vertex.PoseStack; +//import net.minecraft.client.gui.GuiComponent; +// +//import dev.emi.emi.EmiPort; +//import dev.emi.emi.EmiRenderHelper; +//import dev.emi.emi.api.render.EmiRender; +//import dev.emi.emi.api.stack.EmiIngredient; +//import dev.emi.emi.api.widget.Bounds; +//import dev.emi.emi.api.widget.SlotWidget; +//import dev.emi.emi.config.EmiConfig; +// +//public class TransparentSlotWidget extends SlotWidget { +// +// public TransparentSlotWidget(EmiIngredient stack, int x, int y) { +// super(stack, x, y); +// } +// +// +// @Override +// public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { +// Bounds bounds = this.getBounds(); +// EmiPort.setPositionTexShader(); +// RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); +// int width = bounds.width(); +// int height = bounds.height(); +// if (this.drawBack) { +// if (this.textureId != null) { +// RenderSystem.setShaderTexture(0, this.textureId); +// GuiComponent.blit( +// matrices, +// bounds.x(), bounds.y(), width, height, +// this.u, this.v, width, height, 256, 256 +// ); +// } else { +// renderSlot(matrices); +// } +// } +// +//// if (this.getRecipe() == null +//// && EmiClient.availableForCrafting.containsKey(this.getStack()) +//// && !this.getStack().isEmpty() +//// && !(Boolean) EmiClient.availableForCrafting.get(this.getStack())) { +//// GuiComponent.fill( +//// matrices, +//// bounds.x(), bounds.y(), +//// bounds.x() + bounds.width(), bounds.y() + bounds.height(), +//// 0x44FF0000 +//// ); +//// } +// +// int xOff = (width - 16) / 2; +// int yOff = (height - 16) / 2; +// this.getStack().render(matrices, bounds.x() + xOff, bounds.y() + yOff, delta); +// if (this.catalyst) { +// EmiRender.renderCatalystIcon(this.getStack(), matrices, this.x + xOff, this.y + yOff); +// } +// +// if (EmiConfig.showHoverOverlay && bounds.contains(mouseX, mouseY)) { +// EmiRenderHelper.drawSlotHightlight( // matrices, -// bounds.x(), bounds.y(), -// bounds.x() + bounds.width(), bounds.y() + bounds.height(), -// 0x44FF0000 +// bounds.x() + 1, bounds.y() + 1, +// bounds.width() - 2, bounds.height() - 2 // ); // } - - int xOff = (width - 16) / 2; - int yOff = (height - 16) / 2; - this.getStack().render(matrices, bounds.x() + xOff, bounds.y() + yOff, delta); - if (this.catalyst) { - EmiRender.renderCatalystIcon(this.getStack(), matrices, this.x + xOff, this.y + yOff); - } - - if (EmiConfig.showHoverOverlay && bounds.contains(mouseX, mouseY)) { - EmiRenderHelper.drawSlotHightlight( - matrices, - bounds.x() + 1, bounds.y() + 1, - bounds.width() - 2, bounds.height() - 2 - ); - } - - } - - public void renderSlot(PoseStack matrices) { - Bounds bounds = this.getBounds(); - int width = bounds.width(); - int height = bounds.height(); - - GuiComponent.fill(matrices, bounds.x(), bounds.y(), bounds.x() + width, bounds.y() + height, 0xB08b8b8b); - RenderHelper.outline( - matrices, - bounds.x(), - bounds.y(), - bounds.x() + width, - bounds.y() + height, - 0xFA373737, - 0xFAFFFFFF - ); - RenderHelper.vLine(matrices, bounds.x() + width - 1, bounds.y(), bounds.y(), 0xFA8B8B8B); - RenderHelper.hLine(matrices, bounds.x(), bounds.x(), bounds.y() + bounds.height() - 1, 0xFA8B8B8B); - } -} +// +// } +// +// public void renderSlot(PoseStack matrices) { +// Bounds bounds = this.getBounds(); +// int width = bounds.width(); +// int height = bounds.height(); +// +// GuiComponent.fill(matrices, bounds.x(), bounds.y(), bounds.x() + width, bounds.y() + height, 0xB08b8b8b); +// RenderHelper.outline( +// matrices, +// bounds.x(), +// bounds.y(), +// bounds.x() + width, +// bounds.y() + height, +// 0xFA373737, +// 0xFAFFFFFF +// ); +// RenderHelper.vLine(matrices, bounds.x() + width - 1, bounds.y(), bounds.y(), 0xFA8B8B8B); +// RenderHelper.hLine(matrices, bounds.x(), bounds.x(), bounds.y() + bounds.height() - 1, 0xFA8B8B8B); +// } +//} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java index d96b5a37..d1ff0854 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java @@ -1,88 +1,88 @@ package org.betterx.betterend.integration.rei; - -import org.betterx.betterend.registry.EndBlocks; - -import net.minecraft.network.chat.Component; - -import com.google.common.collect.Lists; -import me.shedaniel.math.Point; -import me.shedaniel.math.Rectangle; -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.DisplayCategory; -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 java.text.DecimalFormat; -import java.util.List; -import org.jetbrains.annotations.NotNull; - -public class REIAlloyingCategory implements DisplayCategory { - private final EntryStack ICON; - - REIAlloyingCategory(EntryStack icon) { - ICON = icon; - } - - @Override - public @NotNull CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.ALLOYING; - } - - @Override - public @NotNull Component getTitle() { - return Component.translatable(EndBlocks.END_STONE_SMELTER.getDescriptionId()); - } - - @Override - public @NotNull EntryStack getIcon() { - return ICON; - } - - @Override - public @NotNull List setupDisplay(REIAlloyingDisplay display, Rectangle bounds) { - Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); - double smeltTime = display.getSmeltTime(); - DecimalFormat df = new DecimalFormat("###.##"); - List widgets = Lists.newArrayList(); - widgets.add(Widgets.createRecipeBase(bounds)); - widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); - widgets.add(Widgets.createBurningFire(new Point(startPoint.x - 9, startPoint.y + 20)) - .animationDurationMS(10000)); - widgets.add(Widgets.createLabel( - new Point(bounds.x + bounds.width - 5, bounds.y + 5), - Component.translatable( - "category.rei.cooking.time&xp", - df.format(display.getXp()), - df.format(smeltTime / 20D) - ) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); - widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) - .animationDurationTicks(smeltTime)); - List inputEntries = display.getInputEntries(); - widgets.add(Widgets.createSlot(new Point(startPoint.x - 20, startPoint.y + 1)) - .entries(inputEntries.get(0)) - .markInput()); - if (inputEntries.size() > 1) { - widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) - .entries(inputEntries.get(1)) - .markInput()); - } else { - widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) - .entries(Lists.newArrayList()) - .markInput()); - } - widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)) - .entries(display.getOutputEntries().get(0)) - .disableBackground() - .markOutput()); - return widgets; - } - - @Override - public int getDisplayHeight() { - return 49; - } -} \ No newline at end of file +// +//import org.betterx.betterend.registry.EndBlocks; +// +//import net.minecraft.network.chat.Component; +// +//import com.google.common.collect.Lists; +//import me.shedaniel.math.Point; +//import me.shedaniel.math.Rectangle; +//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.DisplayCategory; +//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 java.text.DecimalFormat; +//import java.util.List; +//import org.jetbrains.annotations.NotNull; +// +//public class REIAlloyingCategory implements DisplayCategory { +// private final EntryStack ICON; +// +// REIAlloyingCategory(EntryStack icon) { +// ICON = icon; +// } +// +// @Override +// public @NotNull CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.ALLOYING; +// } +// +// @Override +// public @NotNull Component getTitle() { +// return Component.translatable(EndBlocks.END_STONE_SMELTER.getDescriptionId()); +// } +// +// @Override +// public @NotNull EntryStack getIcon() { +// return ICON; +// } +// +// @Override +// public @NotNull List setupDisplay(REIAlloyingDisplay display, Rectangle bounds) { +// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); +// double smeltTime = display.getSmeltTime(); +// DecimalFormat df = new DecimalFormat("###.##"); +// List widgets = Lists.newArrayList(); +// widgets.add(Widgets.createRecipeBase(bounds)); +// widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); +// widgets.add(Widgets.createBurningFire(new Point(startPoint.x - 9, startPoint.y + 20)) +// .animationDurationMS(10000)); +// widgets.add(Widgets.createLabel( +// new Point(bounds.x + bounds.width - 5, bounds.y + 5), +// Component.translatable( +// "category.rei.cooking.time&xp", +// df.format(display.getXp()), +// df.format(smeltTime / 20D) +// ) +// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); +// widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) +// .animationDurationTicks(smeltTime)); +// List inputEntries = display.getInputEntries(); +// widgets.add(Widgets.createSlot(new Point(startPoint.x - 20, startPoint.y + 1)) +// .entries(inputEntries.get(0)) +// .markInput()); +// if (inputEntries.size() > 1) { +// widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) +// .entries(inputEntries.get(1)) +// .markInput()); +// } else { +// widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) +// .entries(Lists.newArrayList()) +// .markInput()); +// } +// widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)) +// .entries(display.getOutputEntries().get(0)) +// .disableBackground() +// .markOutput()); +// return widgets; +// } +// +// @Override +// public int getDisplayHeight() { +// return 49; +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java index 3829e4ad..20187575 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java @@ -1,109 +1,109 @@ package org.betterx.betterend.integration.rei; -import org.betterx.bclib.recipes.AlloyingRecipe; -import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; - -import net.minecraft.ChatFormatting; -import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.crafting.Recipe; - -import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.api.common.util.EntryIngredients; -import me.shedaniel.rei.api.common.util.EntryStacks; - -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; -import org.jetbrains.annotations.NotNull; - -public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDisplay { - - private static final List fuel; - - private final Recipe recipe; - private final float xp; - private final 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(Minecraft.getInstance().level.registryAccess()))) - ); - this.recipe = recipe; - this.xp = xp; - this.smeltTime = smeltTime; - } - - - public static List getFuel() { - return fuel; - } - - @Override - public @NotNull Optional getDisplayLocation() { - return Optional.ofNullable(recipe).map(Recipe::getId); - } - - @Override - public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.ALLOYING; - } - - // @Override - // public @NotNull List> getRequiredEntries() { - // return this.input; - // } - - public float getXp() { - return this.xp; - } - - public double getSmeltTime() { - return this.smeltTime; - } - - public Optional> getOptionalRecipe() { - return Optional.ofNullable(recipe); - } - - @Override - public int getWidth() { - return 2; - } - - @Override - public int getHeight() { - return 1; - } - - // @Override - // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { - // return this.input; - // } - - static { - fuel = EndStoneSmelterBlockEntity.availableFuels() - .keySet() - .stream() - .map(Item::getDefaultInstance) - .map(EntryStacks::of) - .map(e -> e.setting( - EntryStack.Settings.TOOLTIP_APPEND_EXTRA, - stack -> Collections.singletonList(Component.translatable( - "category.rei.smelting.fuel").withStyle(ChatFormatting.YELLOW)) - )) - .collect(Collectors.toList()); - } -} \ No newline at end of file +//import org.betterx.bclib.recipes.AlloyingRecipe; +//import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; +// +//import net.minecraft.ChatFormatting; +//import net.minecraft.client.Minecraft; +//import net.minecraft.network.chat.Component; +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.world.item.Item; +//import net.minecraft.world.item.crafting.Recipe; +// +//import me.shedaniel.rei.api.common.category.CategoryIdentifier; +//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +//import me.shedaniel.rei.api.common.entry.EntryStack; +//import me.shedaniel.rei.api.common.util.EntryIngredients; +//import me.shedaniel.rei.api.common.util.EntryStacks; +// +//import java.util.Collections; +//import java.util.List; +//import java.util.Optional; +//import java.util.stream.Collectors; +//import org.jetbrains.annotations.NotNull; +// +//public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDisplay { +// +// private static final List fuel; +// +// private final Recipe recipe; +// private final float xp; +// private final 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(Minecraft.getInstance().level.registryAccess()))) +// ); +// this.recipe = recipe; +// this.xp = xp; +// this.smeltTime = smeltTime; +// } +// +// +// public static List getFuel() { +// return fuel; +// } +// +// @Override +// public @NotNull Optional getDisplayLocation() { +// return Optional.ofNullable(recipe).map(Recipe::getId); +// } +// +// @Override +// public CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.ALLOYING; +// } +// +// // @Override +// // public @NotNull List> getRequiredEntries() { +// // return this.input; +// // } +// +// public float getXp() { +// return this.xp; +// } +// +// public double getSmeltTime() { +// return this.smeltTime; +// } +// +// public Optional> getOptionalRecipe() { +// return Optional.ofNullable(recipe); +// } +// +// @Override +// public int getWidth() { +// return 2; +// } +// +// @Override +// public int getHeight() { +// return 1; +// } +// +// // @Override +// // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { +// // return this.input; +// // } +// +// static { +// fuel = EndStoneSmelterBlockEntity.availableFuels() +// .keySet() +// .stream() +// .map(Item::getDefaultInstance) +// .map(EntryStacks::of) +// .map(e -> e.setting( +// EntryStack.Settings.TOOLTIP_APPEND_EXTRA, +// stack -> Collections.singletonList(Component.translatable( +// "category.rei.smelting.fuel").withStyle(ChatFormatting.YELLOW)) +// )) +// .collect(Collectors.toList()); +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java index 19cacf77..7802ecc3 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java @@ -1,104 +1,104 @@ package org.betterx.betterend.integration.rei; -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.Items; - -import com.google.common.collect.Lists; -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.widgets.*; -import me.shedaniel.rei.api.client.registry.display.DisplayCategory; -import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.api.common.util.EntryStacks; - -import java.text.DecimalFormat; -import java.util.List; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -public class REIAlloyingFuelCategory implements DisplayCategory { - private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#.##"); - - @Override - public @NotNull CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.ALLOYING_FUEL; - } - - @Override - public @NotNull Component getTitle() { - return Component.translatable("category.rei.fuel"); - } - - @Override - public int getDisplayHeight() { - return 49; - } - - @Override - public @NotNull EntryStack getIcon() { - return EntryStacks.of(Items.LAVA_BUCKET); - } - - @Override - public List setupDisplay(REIAlloyingFuelDisplay recipeDisplay, Rectangle bounds) { - Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 17); - String burnTime = DECIMAL_FORMAT.format(recipeDisplay.getFuelTime()); - List widgets = Lists.newArrayList(); - widgets.add(Widgets.createRecipeBase(bounds)); - widgets.add(Widgets.createLabel( - new Point(bounds.x + 26, bounds.getMaxY() - 15), - Component.translatable("category.rei.fuel.time", burnTime) - ).color(0xFF404040, 0xFFBBBBBB).noShadow().leftAligned()); - widgets.add(Widgets.createBurningFire(new Point(bounds.x + 6, startPoint.y + 1)) - .animationDurationTicks(recipeDisplay.getFuelTime())); - widgets.add(Widgets.createSlot(new Point(bounds.x + 6, startPoint.y + 18)) - .entries(recipeDisplay.getInputEntries().get(0)) - .markInput()); - return widgets; - } - - @Override - public DisplayRenderer getDisplayRenderer(REIAlloyingFuelDisplay recipe) { - Slot slot = Widgets.createSlot(new Point(0, 0)) - .entries(recipe.getInputEntries().get(0)) - .disableBackground() - .disableHighlight(); - String burnItems = DECIMAL_FORMAT.format(recipe.getFuelTime() / 200d); - return new DisplayRenderer() { - private final Component text = Component.translatable( - "category.rei.fuel.time_short.items", - burnItems - ); - - @Override - public int getHeight() { - return 22; - } - - @Nullable - @Override - public Tooltip getTooltip(TooltipContext ctx) { - if (slot.containsMouse(ctx.getPoint())) return slot.getCurrentTooltip(ctx); - return null; - } - - @Override - public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { - slot.setZ(getZ() + 50); - slot.getBounds().setLocation(bounds.x + 4, bounds.y + 2); - slot.render(matrices, mouseX, mouseY, delta); - Minecraft.getInstance().font.drawShadow( - matrices, - text.getVisualOrderText(), - bounds.x + 25, - bounds.y + 8, - -1 - ); - } - }; - } -} \ No newline at end of file +//import com.mojang.blaze3d.vertex.PoseStack; +//import net.minecraft.client.Minecraft; +//import net.minecraft.network.chat.Component; +//import net.minecraft.world.item.Items; +// +//import com.google.common.collect.Lists; +//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.widgets.*; +//import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +//import me.shedaniel.rei.api.common.category.CategoryIdentifier; +//import me.shedaniel.rei.api.common.entry.EntryStack; +//import me.shedaniel.rei.api.common.util.EntryStacks; +// +//import java.text.DecimalFormat; +//import java.util.List; +//import org.jetbrains.annotations.NotNull; +//import org.jetbrains.annotations.Nullable; +// +//public class REIAlloyingFuelCategory implements DisplayCategory { +// private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#.##"); +// +// @Override +// public @NotNull CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.ALLOYING_FUEL; +// } +// +// @Override +// public @NotNull Component getTitle() { +// return Component.translatable("category.rei.fuel"); +// } +// +// @Override +// public int getDisplayHeight() { +// return 49; +// } +// +// @Override +// public @NotNull EntryStack getIcon() { +// return EntryStacks.of(Items.LAVA_BUCKET); +// } +// +// @Override +// public List setupDisplay(REIAlloyingFuelDisplay recipeDisplay, Rectangle bounds) { +// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 17); +// String burnTime = DECIMAL_FORMAT.format(recipeDisplay.getFuelTime()); +// List widgets = Lists.newArrayList(); +// widgets.add(Widgets.createRecipeBase(bounds)); +// widgets.add(Widgets.createLabel( +// new Point(bounds.x + 26, bounds.getMaxY() - 15), +// Component.translatable("category.rei.fuel.time", burnTime) +// ).color(0xFF404040, 0xFFBBBBBB).noShadow().leftAligned()); +// widgets.add(Widgets.createBurningFire(new Point(bounds.x + 6, startPoint.y + 1)) +// .animationDurationTicks(recipeDisplay.getFuelTime())); +// widgets.add(Widgets.createSlot(new Point(bounds.x + 6, startPoint.y + 18)) +// .entries(recipeDisplay.getInputEntries().get(0)) +// .markInput()); +// return widgets; +// } +// +// @Override +// public DisplayRenderer getDisplayRenderer(REIAlloyingFuelDisplay recipe) { +// Slot slot = Widgets.createSlot(new Point(0, 0)) +// .entries(recipe.getInputEntries().get(0)) +// .disableBackground() +// .disableHighlight(); +// String burnItems = DECIMAL_FORMAT.format(recipe.getFuelTime() / 200d); +// return new DisplayRenderer() { +// private final Component text = Component.translatable( +// "category.rei.fuel.time_short.items", +// burnItems +// ); +// +// @Override +// public int getHeight() { +// return 22; +// } +// +// @Nullable +// @Override +// public Tooltip getTooltip(TooltipContext ctx) { +// if (slot.containsMouse(ctx.getPoint())) return slot.getCurrentTooltip(ctx); +// return null; +// } +// +// @Override +// public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { +// slot.setZ(getZ() + 50); +// slot.getBounds().setLocation(bounds.x + 4, bounds.y + 2); +// slot.render(matrices, mouseX, mouseY, delta); +// Minecraft.getInstance().font.drawShadow( +// matrices, +// text.getVisualOrderText(), +// bounds.x + 25, +// bounds.y + 8, +// -1 +// ); +// } +// }; +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java index 02f974d8..a13df30e 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java @@ -1,27 +1,27 @@ package org.betterx.betterend.integration.rei; -import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -import me.shedaniel.rei.api.common.entry.EntryIngredient; - -import java.util.Collections; -import java.util.List; - -public class REIAlloyingFuelDisplay extends BasicDisplay { - private final int fuelTime; - - public REIAlloyingFuelDisplay(List fuel, int fuelTime) { - super(fuel, Collections.emptyList()); - this.fuelTime = fuelTime; - } - - @Override - public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.ALLOYING_FUEL; - } - - public int getFuelTime() { - return fuelTime; - } - -} +//import me.shedaniel.rei.api.common.category.CategoryIdentifier; +//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +//import me.shedaniel.rei.api.common.entry.EntryIngredient; +// +//import java.util.Collections; +//import java.util.List; +// +//public class REIAlloyingFuelDisplay extends BasicDisplay { +// private final int fuelTime; +// +// public REIAlloyingFuelDisplay(List fuel, int fuelTime) { +// super(fuel, Collections.emptyList()); +// this.fuelTime = fuelTime; +// } +// +// @Override +// public CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.ALLOYING_FUEL; +// } +// +// public int getFuelTime() { +// return fuelTime; +// } +// +//} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java index 80fbfaf5..6f6fd32d 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java @@ -1,91 +1,91 @@ package org.betterx.betterend.integration.rei; -import org.betterx.betterend.blocks.basis.EndAnvilBlock; - -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; - -import com.google.common.collect.Lists; -import me.shedaniel.math.Point; -import me.shedaniel.math.Rectangle; -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.DisplayCategory; -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 java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; -import org.jetbrains.annotations.NotNull; - -public class REIAnvilCategory implements DisplayCategory { - private final EntryStack[] ANVILS; - - REIAnvilCategory(EntryStack[] anvils) { - ANVILS = anvils; - } - - @Override - public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.SMITHING; - } - - @Override - public @NotNull Component getTitle() { - return Component.translatable(Blocks.ANVIL.getDescriptionId()); - } - - @Override - public @NotNull EntryStack getIcon() { - return ANVILS[0]; - } - - - @Override - public @NotNull List setupDisplay(REIAnvilDisplay display, Rectangle bounds) { - Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); - List widgets = Lists.newArrayList(); - widgets.add(Widgets.createRecipeBase(bounds)); - int x = startPoint.x + 10; - int y = startPoint.y; - widgets.add(Widgets.createResultSlotBackground(new Point(x + 61, y + 5))); - List inputEntries = display.getInputEntries(); - EntryIngredient materials = inputEntries.get(1); - int anvilLevel = display.getAnvilLevel(); - List> anvils = Arrays.stream(ANVILS).filter(anvil -> { - Object value = anvil.getValue(); - if (value instanceof ItemStack) { - value = ((ItemStack) value).getItem(); - } - Block block = ((BlockItem) value).getBlock(); - if (block instanceof EndAnvilBlock) { - return ((EndAnvilBlock) block).getCraftingLevel() >= anvilLevel; - } - return anvilLevel == 1; - }).collect(Collectors.toList()); - widgets.add(Widgets.createArrow(new Point(x + 24, y + 4))); - widgets.add(Widgets.createLabel( - new Point(bounds.x + bounds.width - 7, bounds.y + bounds.height - 15), - Component.translatable("category.rei.damage.amount&dmg", display.getDamage()) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); - widgets.add(Widgets.createSlot(new Point(x - 20, y + 4)).entries(materials).markInput()); - widgets.add(Widgets.createSlot(new Point(x + 1, y + 4)).entries(inputEntries.get(0)).markInput()); - widgets.add(Widgets.createSlot(new Point(x + 61, y + 5)) - .entries(display.getOutputEntries().get(0)) - .disableBackground() - .markOutput()); - widgets.add(Widgets.createSlot(new Point(x - 9, y + 25)).entries(anvils)); - - return widgets; - } - - @Override - public int getDisplayHeight() { - return 60; - } -} \ No newline at end of file +//import org.betterx.betterend.blocks.basis.EndAnvilBlock; +// +//import net.minecraft.network.chat.Component; +//import net.minecraft.world.item.BlockItem; +//import net.minecraft.world.item.ItemStack; +//import net.minecraft.world.level.block.Block; +//import net.minecraft.world.level.block.Blocks; +// +//import com.google.common.collect.Lists; +//import me.shedaniel.math.Point; +//import me.shedaniel.math.Rectangle; +//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.DisplayCategory; +//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 java.util.Arrays; +//import java.util.List; +//import java.util.stream.Collectors; +//import org.jetbrains.annotations.NotNull; +// +//public class REIAnvilCategory implements DisplayCategory { +// private final EntryStack[] ANVILS; +// +// REIAnvilCategory(EntryStack[] anvils) { +// ANVILS = anvils; +// } +// +// @Override +// public CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.SMITHING; +// } +// +// @Override +// public @NotNull Component getTitle() { +// return Component.translatable(Blocks.ANVIL.getDescriptionId()); +// } +// +// @Override +// public @NotNull EntryStack getIcon() { +// return ANVILS[0]; +// } +// +// +// @Override +// public @NotNull List setupDisplay(REIAnvilDisplay display, Rectangle bounds) { +// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); +// List widgets = Lists.newArrayList(); +// widgets.add(Widgets.createRecipeBase(bounds)); +// int x = startPoint.x + 10; +// int y = startPoint.y; +// widgets.add(Widgets.createResultSlotBackground(new Point(x + 61, y + 5))); +// List inputEntries = display.getInputEntries(); +// EntryIngredient materials = inputEntries.get(1); +// int anvilLevel = display.getAnvilLevel(); +// List> anvils = Arrays.stream(ANVILS).filter(anvil -> { +// Object value = anvil.getValue(); +// if (value instanceof ItemStack) { +// value = ((ItemStack) value).getItem(); +// } +// Block block = ((BlockItem) value).getBlock(); +// if (block instanceof EndAnvilBlock) { +// return ((EndAnvilBlock) block).getCraftingLevel() >= anvilLevel; +// } +// return anvilLevel == 1; +// }).collect(Collectors.toList()); +// widgets.add(Widgets.createArrow(new Point(x + 24, y + 4))); +// widgets.add(Widgets.createLabel( +// new Point(bounds.x + bounds.width - 7, bounds.y + bounds.height - 15), +// Component.translatable("category.rei.damage.amount&dmg", display.getDamage()) +// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); +// widgets.add(Widgets.createSlot(new Point(x - 20, y + 4)).entries(materials).markInput()); +// widgets.add(Widgets.createSlot(new Point(x + 1, y + 4)).entries(inputEntries.get(0)).markInput()); +// widgets.add(Widgets.createSlot(new Point(x + 61, y + 5)) +// .entries(display.getOutputEntries().get(0)) +// .disableBackground() +// .markOutput()); +// widgets.add(Widgets.createSlot(new Point(x - 9, y + 25)).entries(anvils)); +// +// return widgets; +// } +// +// @Override +// public int getDisplayHeight() { +// return 60; +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java index f130503e..a10d0ea5 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java @@ -1,65 +1,65 @@ package org.betterx.betterend.integration.rei; -import org.betterx.bclib.recipes.AnvilRecipe; - -import net.minecraft.client.Minecraft; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Recipe; - -import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -import me.shedaniel.rei.api.common.util.EntryIngredients; - -import java.util.Collections; -import java.util.Optional; -import org.jetbrains.annotations.NotNull; - -public class REIAnvilDisplay extends BasicDisplay implements SimpleGridMenuDisplay { - - private final AnvilRecipe recipe; - - public REIAnvilDisplay(AnvilRecipe recipe) { - super( - EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))) - ); - this.recipe = recipe; - - inputs.get(1).forEach(entryStack -> { - if (entryStack.getValue() instanceof ItemStack itemStack) { - itemStack.setCount(recipe.getInputCount()); - } - }); - } - - public int getDamage() { - return recipe.getDamage(); - } - - public int getAnvilLevel() { - return recipe.getAnvilLevel(); - } - - @Override - public @NotNull Optional getDisplayLocation() { - return Optional.ofNullable(recipe).map(Recipe::getId); - } - - @Override - public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.SMITHING; - } - - @Override - public int getWidth() { - return 2; - } - - @Override - public int getHeight() { - return 1; - } -} +//import org.betterx.bclib.recipes.AnvilRecipe; +// +//import net.minecraft.client.Minecraft; +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.world.item.ItemStack; +//import net.minecraft.world.item.crafting.Recipe; +// +//import me.shedaniel.rei.api.common.category.CategoryIdentifier; +//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +//import me.shedaniel.rei.api.common.util.EntryIngredients; +// +//import java.util.Collections; +//import java.util.Optional; +//import org.jetbrains.annotations.NotNull; +// +//public class REIAnvilDisplay extends BasicDisplay implements SimpleGridMenuDisplay { +// +// private final AnvilRecipe recipe; +// +// public REIAnvilDisplay(AnvilRecipe recipe) { +// super( +// EntryIngredients.ofIngredients(recipe.getIngredients()), +// Collections.singletonList(EntryIngredients.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))) +// ); +// this.recipe = recipe; +// +// inputs.get(1).forEach(entryStack -> { +// if (entryStack.getValue() instanceof ItemStack itemStack) { +// itemStack.setCount(recipe.getInputCount()); +// } +// }); +// } +// +// public int getDamage() { +// return recipe.getDamage(); +// } +// +// public int getAnvilLevel() { +// return recipe.getAnvilLevel(); +// } +// +// @Override +// public @NotNull Optional getDisplayLocation() { +// return Optional.ofNullable(recipe).map(Recipe::getId); +// } +// +// @Override +// public CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.SMITHING; +// } +// +// @Override +// public int getWidth() { +// return 2; +// } +// +// @Override +// public int getHeight() { +// return 1; +// } +//} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java index 2d752276..a4469cdd 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java @@ -1,9 +1,9 @@ package org.betterx.betterend.integration.rei; -import net.minecraft.world.item.crafting.BlastingRecipe; - -public class REIBlastingDisplay extends REIAlloyingDisplay { - public REIBlastingDisplay(BlastingRecipe recipe) { - super(recipe, recipe.getExperience(), recipe.getCookingTime()); - } -} \ No newline at end of file +//import net.minecraft.world.item.crafting.BlastingRecipe; +// +//public class REIBlastingDisplay extends REIAlloyingDisplay { +// public REIBlastingDisplay(BlastingRecipe recipe) { +// super(recipe, recipe.getExperience(), recipe.getCookingTime()); +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java index 8b49ed6b..218722cc 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java @@ -1,112 +1,112 @@ package org.betterx.betterend.integration.rei; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBlocks; - -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; - -import com.google.common.collect.Lists; -import me.shedaniel.math.Point; -import me.shedaniel.math.Rectangle; -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.DisplayCategory; -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 java.util.ArrayList; -import java.util.List; -import org.jetbrains.annotations.NotNull; - -public class REIInfusionCategory implements DisplayCategory { - - private final static ResourceLocation BACKGROUND = BetterEnd.makeID("textures/gui/rei_infusion.png"); - private final EntryStack ICON; - - REIInfusionCategory(EntryStack icon) { - ICON = icon; - } - - @Override - public @NotNull CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.INFUSION; - } - - @Override - public @NotNull Component getTitle() { - return Component.translatable(EndBlocks.INFUSION_PEDESTAL.getDescriptionId()); - } - - @Override - public @NotNull EntryStack getIcon() { - return ICON; - } - - @Override - public @NotNull List setupDisplay(REIInfusionDisplay display, Rectangle bounds) { - Point centerPoint = new Point(bounds.getCenterX() - 34, bounds.getCenterY() - 2); - List widgets = Lists.newArrayList(); - widgets.add(Widgets.createRecipeBase(bounds)); - List inputEntries = display.getInputEntries(); - List outputEntries = display.getOutputEntries(); - if (inputEntries.size() < 9) { - List newList = new ArrayList(9); - newList.addAll(inputEntries); - for (int i = inputEntries.size(); i < 9; i++) { - newList.add(EntryIngredient.empty()); - } - inputEntries = newList; - } - widgets.add(Widgets.createTexturedWidget(BACKGROUND, bounds.x, bounds.y, 0, 0, 150, 104, 150, 104)); - widgets.add(Widgets.createSlot(centerPoint).entries(inputEntries.get(0)).disableBackground().markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y - 28)) - .entries(inputEntries.get(1)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x + 28, centerPoint.y)) - .entries(inputEntries.get(3)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y + 28)) - .entries(inputEntries.get(5)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x - 28, centerPoint.y)) - .entries(inputEntries.get(7)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y - 24)) - .entries(inputEntries.get(2)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y + 24)) - .entries(inputEntries.get(4)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y + 24)) - .entries(inputEntries.get(6)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y - 24)) - .entries(inputEntries.get(8)) - .disableBackground() - .markInput()); - widgets.add(Widgets.createSlot(new Point(centerPoint.x + 80, centerPoint.y)) - .entries(outputEntries.get(0)) - .disableBackground() - .markOutput()); - widgets.add(Widgets.createLabel( - new Point(bounds.getMaxX() - 5, bounds.y + 6), - Component.translatable("category.rei.infusion.time&val", display.getInfusionTime()) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); - return widgets; - } - - @Override - public int getDisplayHeight() { - return 104; - } -} - +//import org.betterx.betterend.BetterEnd; +//import org.betterx.betterend.registry.EndBlocks; +// +//import net.minecraft.network.chat.Component; +//import net.minecraft.resources.ResourceLocation; +// +//import com.google.common.collect.Lists; +//import me.shedaniel.math.Point; +//import me.shedaniel.math.Rectangle; +//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.DisplayCategory; +//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 java.util.ArrayList; +//import java.util.List; +//import org.jetbrains.annotations.NotNull; +// +//public class REIInfusionCategory implements DisplayCategory { +// +// private final static ResourceLocation BACKGROUND = BetterEnd.makeID("textures/gui/rei_infusion.png"); +// private final EntryStack ICON; +// +// REIInfusionCategory(EntryStack icon) { +// ICON = icon; +// } +// +// @Override +// public @NotNull CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.INFUSION; +// } +// +// @Override +// public @NotNull Component getTitle() { +// return Component.translatable(EndBlocks.INFUSION_PEDESTAL.getDescriptionId()); +// } +// +// @Override +// public @NotNull EntryStack getIcon() { +// return ICON; +// } +// +// @Override +// public @NotNull List setupDisplay(REIInfusionDisplay display, Rectangle bounds) { +// Point centerPoint = new Point(bounds.getCenterX() - 34, bounds.getCenterY() - 2); +// List widgets = Lists.newArrayList(); +// widgets.add(Widgets.createRecipeBase(bounds)); +// List inputEntries = display.getInputEntries(); +// List outputEntries = display.getOutputEntries(); +// if (inputEntries.size() < 9) { +// List newList = new ArrayList(9); +// newList.addAll(inputEntries); +// for (int i = inputEntries.size(); i < 9; i++) { +// newList.add(EntryIngredient.empty()); +// } +// inputEntries = newList; +// } +// widgets.add(Widgets.createTexturedWidget(BACKGROUND, bounds.x, bounds.y, 0, 0, 150, 104, 150, 104)); +// widgets.add(Widgets.createSlot(centerPoint).entries(inputEntries.get(0)).disableBackground().markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y - 28)) +// .entries(inputEntries.get(1)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 28, centerPoint.y)) +// .entries(inputEntries.get(3)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y + 28)) +// .entries(inputEntries.get(5)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 28, centerPoint.y)) +// .entries(inputEntries.get(7)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y - 24)) +// .entries(inputEntries.get(2)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y + 24)) +// .entries(inputEntries.get(4)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y + 24)) +// .entries(inputEntries.get(6)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y - 24)) +// .entries(inputEntries.get(8)) +// .disableBackground() +// .markInput()); +// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 80, centerPoint.y)) +// .entries(outputEntries.get(0)) +// .disableBackground() +// .markOutput()); +// widgets.add(Widgets.createLabel( +// new Point(bounds.getMaxX() - 5, bounds.y + 6), +// Component.translatable("category.rei.infusion.time&val", display.getInfusionTime()) +// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); +// return widgets; +// } +// +// @Override +// public int getDisplayHeight() { +// return 104; +// } +//} +// diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java index 07b28ad5..8c8bb202 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java @@ -1,65 +1,65 @@ package org.betterx.betterend.integration.rei; -import org.betterx.betterend.recipe.builders.InfusionRecipe; - -import net.minecraft.client.Minecraft; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.crafting.Recipe; - -import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -import me.shedaniel.rei.api.common.util.EntryIngredients; - -import java.util.Collections; -import java.util.Optional; -import org.jetbrains.annotations.NotNull; - -public class REIInfusionDisplay extends BasicDisplay implements SimpleGridMenuDisplay { - - private final InfusionRecipe recipe; - private final int time; - - public REIInfusionDisplay(InfusionRecipe recipe) { - super( - EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))) - ); - this.recipe = recipe; - this.time = recipe.getInfusionTime(); - } - - public int getInfusionTime() { - return this.time; - } - - @Override - public @NotNull Optional getDisplayLocation() { - return Optional.ofNullable(recipe).map(Recipe::getId); - } - - @Override - public CategoryIdentifier getCategoryIdentifier() { - return REIPlugin.INFUSION; - } - - // @Override - // public @NotNull List> getRequiredEntries() { - // return this.input; - // } - - @Override - public int getWidth() { - return 0; - } - - @Override - public int getHeight() { - return 0; - } - - // @Override - // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { - // return this.input; - //} -} +//import org.betterx.betterend.recipe.builders.InfusionRecipe; +// +//import net.minecraft.client.Minecraft; +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.world.item.crafting.Recipe; +// +//import me.shedaniel.rei.api.common.category.CategoryIdentifier; +//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +//import me.shedaniel.rei.api.common.util.EntryIngredients; +// +//import java.util.Collections; +//import java.util.Optional; +//import org.jetbrains.annotations.NotNull; +// +//public class REIInfusionDisplay extends BasicDisplay implements SimpleGridMenuDisplay { +// +// private final InfusionRecipe recipe; +// private final int time; +// +// public REIInfusionDisplay(InfusionRecipe recipe) { +// super( +// EntryIngredients.ofIngredients(recipe.getIngredients()), +// Collections.singletonList(EntryIngredients.of(recipe.getResultItem(Minecraft.getInstance().level.registryAccess()))) +// ); +// this.recipe = recipe; +// this.time = recipe.getInfusionTime(); +// } +// +// public int getInfusionTime() { +// return this.time; +// } +// +// @Override +// public @NotNull Optional getDisplayLocation() { +// return Optional.ofNullable(recipe).map(Recipe::getId); +// } +// +// @Override +// public CategoryIdentifier getCategoryIdentifier() { +// return REIPlugin.INFUSION; +// } +// +// // @Override +// // public @NotNull List> getRequiredEntries() { +// // return this.input; +// // } +// +// @Override +// public int getWidth() { +// return 0; +// } +// +// @Override +// public int getHeight() { +// return 0; +// } +// +// // @Override +// // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { +// // return this.input; +// //} +//} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java index 3b87f9fd..13254a43 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java @@ -1,106 +1,106 @@ package org.betterx.betterend.integration.rei; -import org.betterx.bclib.blocks.BaseFurnaceBlock; -import org.betterx.bclib.recipes.AlloyingRecipe; -import org.betterx.bclib.recipes.AnvilRecipe; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.basis.EndAnvilBlock; -import org.betterx.betterend.recipe.builders.InfusionRecipe; -import org.betterx.betterend.registry.EndBlocks; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.BlastingRecipe; -import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.level.block.Blocks; - -import net.fabricmc.fabric.api.registry.FuelRegistry; -import net.fabricmc.fabric.impl.content.registry.FuelRegistryImpl; - -import com.google.common.collect.Lists; -import me.shedaniel.rei.api.client.plugins.REIClientPlugin; -import me.shedaniel.rei.api.client.registry.category.CategoryRegistry; -import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; -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.EntryIngredients; -import me.shedaniel.rei.api.common.util.EntryStacks; -import me.shedaniel.rei.plugin.common.BuiltinPlugin; - -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - - -//https://github.com/shedaniel/RoughlyEnoughItems/blob/6.x-1.17/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java -public class REIPlugin implements REIClientPlugin { - public final static ResourceLocation PLUGIN_ID = BetterEnd.makeID("rei_plugin"); - public final static CategoryIdentifier ALLOYING_FUEL = CategoryIdentifier.of( - BetterEnd.MOD_ID, - "alloying_fuel" - ); - public final static CategoryIdentifier ALLOYING = CategoryIdentifier.of( - BetterEnd.MOD_ID, - AlloyingRecipe.GROUP - ); - public final static CategoryIdentifier SMITHING = CategoryIdentifier.of( - BetterEnd.MOD_ID, - AnvilRecipe.ID.getPath() - ); - public final static CategoryIdentifier INFUSION = CategoryIdentifier.of( - BetterEnd.MOD_ID, - InfusionRecipe.GROUP - ); - - @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); - - if (FuelRegistry.INSTANCE instanceof FuelRegistryImpl fabricImpl) { - fabricImpl.getFuelTimes().forEach((item, time) -> { - if (time >= 2000) { - final List list = Collections.singletonList(EntryIngredients.of(item)); - registry.add(new REIAlloyingFuelDisplay(list, time)); - } - }); - } - } - - @Override - public void registerCategories(CategoryRegistry registry) { - EntryStack endStoneSmelter = EntryStacks.of(EndBlocks.END_STONE_SMELTER); - EntryStack infusionRitual = EntryStacks.of(EndBlocks.INFUSION_PEDESTAL); - List> anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() - .stream() - .filter(EndAnvilBlock.class::isInstance) - .collect(Collectors.toList()))); - anvils.add(0, EntryStacks.of(Blocks.ANVIL)); - List> ITEM_FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() - .stream() - .filter(BaseFurnaceBlock.class::isInstance) - .collect(Collectors.toList()))); - EntryStack[] anvilsArray = anvils.toArray(new EntryStack[0]); - EntryStack[] ITEM_FURNACESArray = ITEM_FURNACES.toArray(new EntryStack[0]); - - registry.add( - new REIAlloyingFuelCategory(), - new REIAlloyingCategory(endStoneSmelter), - new REIInfusionCategory(infusionRitual), - new REIAnvilCategory(anvilsArray) - ); - - registry.addWorkstations(ALLOYING_FUEL, endStoneSmelter); - registry.addWorkstations(ALLOYING, endStoneSmelter); - registry.addWorkstations(INFUSION, infusionRitual); - registry.addWorkstations(SMITHING, anvilsArray); - registry.removePlusButton(ALLOYING_FUEL); - registry.removePlusButton(SMITHING); - - registry.addWorkstations(BuiltinPlugin.SMELTING, ITEM_FURNACESArray); - registry.addWorkstations(BuiltinPlugin.FUEL, ITEM_FURNACESArray); - } -} \ No newline at end of file +//import org.betterx.bclib.blocks.BaseFurnaceBlock; +//import org.betterx.bclib.recipes.AlloyingRecipe; +//import org.betterx.bclib.recipes.AnvilRecipe; +//import org.betterx.betterend.BetterEnd; +//import org.betterx.betterend.blocks.basis.EndAnvilBlock; +//import org.betterx.betterend.recipe.builders.InfusionRecipe; +//import org.betterx.betterend.registry.EndBlocks; +// +//import net.minecraft.resources.ResourceLocation; +//import net.minecraft.world.item.ItemStack; +//import net.minecraft.world.item.crafting.BlastingRecipe; +//import net.minecraft.world.item.crafting.RecipeType; +//import net.minecraft.world.level.block.Blocks; +// +//import net.fabricmc.fabric.api.registry.FuelRegistry; +//import net.fabricmc.fabric.impl.content.registry.FuelRegistryImpl; +// +//import com.google.common.collect.Lists; +//import me.shedaniel.rei.api.client.plugins.REIClientPlugin; +//import me.shedaniel.rei.api.client.registry.category.CategoryRegistry; +//import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; +//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.EntryIngredients; +//import me.shedaniel.rei.api.common.util.EntryStacks; +//import me.shedaniel.rei.plugin.common.BuiltinPlugin; +// +//import java.util.Collections; +//import java.util.List; +//import java.util.stream.Collectors; +// +// +////https://github.com/shedaniel/RoughlyEnoughItems/blob/6.x-1.17/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +//public class REIPlugin implements REIClientPlugin { +// public final static ResourceLocation PLUGIN_ID = BetterEnd.makeID("rei_plugin"); +// public final static CategoryIdentifier ALLOYING_FUEL = CategoryIdentifier.of( +// BetterEnd.MOD_ID, +// "alloying_fuel" +// ); +// public final static CategoryIdentifier ALLOYING = CategoryIdentifier.of( +// BetterEnd.MOD_ID, +// AlloyingRecipe.GROUP +// ); +// public final static CategoryIdentifier SMITHING = CategoryIdentifier.of( +// BetterEnd.MOD_ID, +// AnvilRecipe.ID.getPath() +// ); +// public final static CategoryIdentifier INFUSION = CategoryIdentifier.of( +// BetterEnd.MOD_ID, +// InfusionRecipe.GROUP +// ); +// +// @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); +// +// if (FuelRegistry.INSTANCE instanceof FuelRegistryImpl fabricImpl) { +// fabricImpl.getFuelTimes().forEach((item, time) -> { +// if (time >= 2000) { +// final List list = Collections.singletonList(EntryIngredients.of(item)); +// registry.add(new REIAlloyingFuelDisplay(list, time)); +// } +// }); +// } +// } +// +// @Override +// public void registerCategories(CategoryRegistry registry) { +// EntryStack endStoneSmelter = EntryStacks.of(EndBlocks.END_STONE_SMELTER); +// EntryStack infusionRitual = EntryStacks.of(EndBlocks.INFUSION_PEDESTAL); +// List> anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() +// .stream() +// .filter(EndAnvilBlock.class::isInstance) +// .collect(Collectors.toList()))); +// anvils.add(0, EntryStacks.of(Blocks.ANVIL)); +// List> ITEM_FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() +// .stream() +// .filter(BaseFurnaceBlock.class::isInstance) +// .collect(Collectors.toList()))); +// EntryStack[] anvilsArray = anvils.toArray(new EntryStack[0]); +// EntryStack[] ITEM_FURNACESArray = ITEM_FURNACES.toArray(new EntryStack[0]); +// +// registry.add( +// new REIAlloyingFuelCategory(), +// new REIAlloyingCategory(endStoneSmelter), +// new REIInfusionCategory(infusionRitual), +// new REIAnvilCategory(anvilsArray) +// ); +// +// registry.addWorkstations(ALLOYING_FUEL, endStoneSmelter); +// registry.addWorkstations(ALLOYING, endStoneSmelter); +// registry.addWorkstations(INFUSION, infusionRitual); +// registry.addWorkstations(SMITHING, anvilsArray); +// registry.removePlusButton(ALLOYING_FUEL); +// registry.removePlusButton(SMITHING); +// +// registry.addWorkstations(BuiltinPlugin.SMELTING, ITEM_FURNACESArray); +// registry.addWorkstations(BuiltinPlugin.FUEL, ITEM_FURNACESArray); +// } +//} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/trinkets/Elytra.java b/src/main/java/org/betterx/betterend/integration/trinkets/Elytra.java index fb1597d4..8d27ff41 100644 --- a/src/main/java/org/betterx/betterend/integration/trinkets/Elytra.java +++ b/src/main/java/org/betterx/betterend/integration/trinkets/Elytra.java @@ -1,88 +1,88 @@ package org.betterx.betterend.integration.trinkets; -import org.betterx.bclib.items.elytra.BCLElytraItem; -import org.betterx.bclib.items.elytra.BCLElytraUtils; - -import net.minecraft.util.Tuple; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ElytraItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; - -import net.fabricmc.fabric.api.entity.event.v1.EntityElytraEvents; -import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; - -import dev.emi.trinkets.api.SlotReference; -import dev.emi.trinkets.api.TrinketComponent; -import dev.emi.trinkets.api.TrinketsApi; - -import java.util.List; -import java.util.Optional; - -public class Elytra { - private static boolean isElytra(ItemStack stack) { - return stack.getItem() instanceof ElytraItem - || stack.getItem() instanceof FabricElytraItem; - } - - public static void register() { - BCLElytraUtils.slotProvider = (entity, slotGetter) -> { - ItemStack itemStack = slotGetter.apply(EquipmentSlot.CHEST); - if (isElytra(itemStack)) return itemStack; - - Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); - if (oTrinketComponent.isPresent()) { - List> equipped = - oTrinketComponent.get().getEquipped(Elytra::isElytra); - - if (!equipped.isEmpty()) return equipped.get(0).getB(); - } - return null; - }; - - BCLElytraUtils.onBreak = (entity, chestStack) -> { - Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); - if (oTrinketComponent.isPresent()) { - List> equipped = - oTrinketComponent.get().getEquipped(Elytra::isElytra); - - for (Tuple slot : equipped) { - ItemStack slotStack = slot.getB(); - if (slotStack == chestStack) { - TrinketsApi.onTrinketBroken(slotStack, slot.getA(), entity); - } - } - } - }; - - EntityElytraEvents.CUSTOM.register(Elytra::useElytraTrinket); - } - - private static boolean useElytraTrinket(LivingEntity entity, boolean tickElytra) { - Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); - if (oTrinketComponent.isPresent()) { - List> equipped = - oTrinketComponent.get().getEquipped(Elytra::isElytra); - - for (Tuple slot : equipped) { - ItemStack stack = slot.getB(); - Item item = stack.getItem(); - - if (item instanceof ElytraItem) { - if (ElytraItem.isFlyEnabled(stack)) { - BCLElytraItem.vanillaElytraTick(entity, stack); - return true; - } - } else if (item instanceof FabricElytraItem fabricElytraItem) { - if (fabricElytraItem.useCustomElytra(entity, stack, tickElytra)) { - return true; - } - } - } - } - return false; - } -} - +//import org.betterx.bclib.items.elytra.BCLElytraItem; +//import org.betterx.bclib.items.elytra.BCLElytraUtils; +// +//import net.minecraft.util.Tuple; +//import net.minecraft.world.entity.EquipmentSlot; +//import net.minecraft.world.entity.LivingEntity; +//import net.minecraft.world.item.ElytraItem; +//import net.minecraft.world.item.Item; +//import net.minecraft.world.item.ItemStack; +// +//import net.fabricmc.fabric.api.entity.event.v1.EntityElytraEvents; +//import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; +// +//import dev.emi.trinkets.api.SlotReference; +//import dev.emi.trinkets.api.TrinketComponent; +//import dev.emi.trinkets.api.TrinketsApi; +// +//import java.util.List; +//import java.util.Optional; +// +//public class Elytra { +// private static boolean isElytra(ItemStack stack) { +// return stack.getItem() instanceof ElytraItem +// || stack.getItem() instanceof FabricElytraItem; +// } +// +// public static void register() { +// BCLElytraUtils.slotProvider = (entity, slotGetter) -> { +// ItemStack itemStack = slotGetter.apply(EquipmentSlot.CHEST); +// if (isElytra(itemStack)) return itemStack; +// +// Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); +// if (oTrinketComponent.isPresent()) { +// List> equipped = +// oTrinketComponent.get().getEquipped(Elytra::isElytra); +// +// if (!equipped.isEmpty()) return equipped.get(0).getB(); +// } +// return null; +// }; +// +// BCLElytraUtils.onBreak = (entity, chestStack) -> { +// Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); +// if (oTrinketComponent.isPresent()) { +// List> equipped = +// oTrinketComponent.get().getEquipped(Elytra::isElytra); +// +// for (Tuple slot : equipped) { +// ItemStack slotStack = slot.getB(); +// if (slotStack == chestStack) { +// TrinketsApi.onTrinketBroken(slotStack, slot.getA(), entity); +// } +// } +// } +// }; +// +// EntityElytraEvents.CUSTOM.register(Elytra::useElytraTrinket); +// } +// +// private static boolean useElytraTrinket(LivingEntity entity, boolean tickElytra) { +// Optional oTrinketComponent = TrinketsApi.getTrinketComponent(entity); +// if (oTrinketComponent.isPresent()) { +// List> equipped = +// oTrinketComponent.get().getEquipped(Elytra::isElytra); +// +// for (Tuple slot : equipped) { +// ItemStack stack = slot.getB(); +// Item item = stack.getItem(); +// +// if (item instanceof ElytraItem) { +// if (ElytraItem.isFlyEnabled(stack)) { +// BCLElytraItem.vanillaElytraTick(entity, stack); +// return true; +// } +// } else if (item instanceof FabricElytraItem fabricElytraItem) { +// if (fabricElytraItem.useCustomElytra(entity, stack, tickElytra)) { +// return true; +// } +// } +// } +// } +// return false; +// } +//} +// diff --git a/src/main/java/org/betterx/betterend/integration/trinkets/ElytraClient.java b/src/main/java/org/betterx/betterend/integration/trinkets/ElytraClient.java index 2cacb7d8..4e9c4835 100644 --- a/src/main/java/org/betterx/betterend/integration/trinkets/ElytraClient.java +++ b/src/main/java/org/betterx/betterend/integration/trinkets/ElytraClient.java @@ -1,22 +1,22 @@ package org.betterx.betterend.integration.trinkets; -import net.minecraft.world.item.ElytraItem; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRenderEvents; -import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; - -import dev.emi.trinkets.api.TrinketsApi; - -@Environment(EnvType.CLIENT) -public class ElytraClient { - public static void register() { - LivingEntityFeatureRenderEvents.ALLOW_CAPE_RENDER.register((player) -> TrinketsApi - .getTrinketComponent(player) - .map(trinketComponent -> trinketComponent.getEquipped( - stack -> stack.getItem() instanceof ElytraItem || - stack.getItem() instanceof FabricElytraItem - ).size() == 0).orElse(true)); - } -} +//import net.minecraft.world.item.ElytraItem; +// +//import net.fabricmc.api.EnvType; +//import net.fabricmc.api.Environment; +//import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRenderEvents; +//import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; +// +//import dev.emi.trinkets.api.TrinketsApi; +// +//@Environment(EnvType.CLIENT) +//public class ElytraClient { +// public static void register() { +// LivingEntityFeatureRenderEvents.ALLOW_CAPE_RENDER.register((player) -> TrinketsApi +// .getTrinketComponent(player) +// .map(trinketComponent -> trinketComponent.getEquipped( +// stack -> stack.getItem() instanceof ElytraItem || +// stack.getItem() instanceof FabricElytraItem +// ).size() == 0).orElse(true)); +// } +//}