From 21434e8b98ee88cf0aa1cbaa38a692db09aefed7 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 19 Dec 2023 12:43:45 +0100 Subject: [PATCH] [Change] Disabled EMI and Trinkets support for now --- build.gradle | 4 +- gradle.properties | 2 +- .../java/org/betterx/betterend/BetterEnd.java | 9 +- .../betterend/client/BetterEndClient.java | 7 +- .../integration/emi/EMIBlastingRecipe.java | 76 ++--- .../integration/emi/EMIInfusionRecipe.java | 260 +++++++++--------- .../betterend/integration/emi/EMIPlugin.java | 76 ++--- .../integration/trinkets/Elytra.java | 168 +++++------ .../integration/trinkets/ElytraClient.java | 44 +-- src/main/resources/fabric.mod.json | 3 - 10 files changed, 323 insertions(+), 326 deletions(-) diff --git a/build.gradle b/build.gradle index f8f156ff..00cc82ff 100644 --- a/build.gradle +++ b/build.gradle @@ -93,8 +93,8 @@ 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}" diff --git a/gradle.properties b/gradle.properties index c892464f..ccbef103 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ archives_base_name=better-end # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api patchouli_version=1.19-73-FABRIC bclib_version=3.30.0 -rei_version=12.0.622 +rei_version=14.0.680 emi_version=1.0.3+1.20 trinkets_version=3.7.0 cca_version=5.2.1 diff --git a/src/main/java/org/betterx/betterend/BetterEnd.java b/src/main/java/org/betterx/betterend/BetterEnd.java index 2a1ba7e1..11977d30 100644 --- a/src/main/java/org/betterx/betterend/BetterEnd.java +++ b/src/main/java/org/betterx/betterend/BetterEnd.java @@ -9,7 +9,6 @@ import org.betterx.betterend.commands.CommandRegistry; import org.betterx.betterend.config.Configs; import org.betterx.betterend.effects.EndPotions; import org.betterx.betterend.integration.Integrations; -import org.betterx.betterend.integration.trinkets.Elytra; import org.betterx.betterend.network.RitualUpdate; import org.betterx.betterend.recipe.builders.InfusionRecipe; import org.betterx.betterend.registry.*; @@ -88,10 +87,10 @@ public class BetterEnd implements ModInitializer { DataExchangeAPI.registerDescriptors(List.of( RitualUpdate.DESCRIPTOR )); - - if (RUNS_TRINKETS) { - Elytra.register(); - } +//TODO: Trinkets +// if (RUNS_TRINKETS) { +// Elytra.register(); +// } } public static ResourceLocation makeID(String path) { diff --git a/src/main/java/org/betterx/betterend/client/BetterEndClient.java b/src/main/java/org/betterx/betterend/client/BetterEndClient.java index c711949b..2602ebf3 100644 --- a/src/main/java/org/betterx/betterend/client/BetterEndClient.java +++ b/src/main/java/org/betterx/betterend/client/BetterEndClient.java @@ -49,9 +49,10 @@ public class BetterEndClient implements ClientModInitializer { if (ClientOptions.isCustomSky()) { DimensionRenderingRegistry.registerSkyRenderer(Level.END, new BetterEndSkyRenderer()); } - if (BetterEnd.RUNS_TRINKETS) { - org.betterx.betterend.integration.trinkets.ElytraClient.register(); - } + //TODO: Trinkets +// if (BetterEnd.RUNS_TRINKETS) { +// org.betterx.betterend.integration.trinkets.ElytraClient.register(); +// } } public static void registerTooltips() { 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 3b0750cf..a6711684 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIInfusionRecipe.java @@ -1,132 +1,132 @@ 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.SlotWidget; -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 SlotWidget(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 SlotWidget( - 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)).large(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.SlotWidget; +//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 SlotWidget(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 SlotWidget( +// 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)).large(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 c06184f3..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/trinkets/Elytra.java b/src/main/java/org/betterx/betterend/integration/trinkets/Elytra.java index fb1597d4..f4b8217e 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..16e48099 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)); - } -} +//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)); +// } +//} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 8b1044c7..415de443 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -33,9 +33,6 @@ ], "rei_client": [ "org.betterx.betterend.integration.rei.REIPlugin" - ], - "emi": [ - "org.betterx.betterend.integration.emi.EMIPlugin" ] }, "accessWidener": "betterend.accesswidener",