[Change] Added back support for EMI

This commit is contained in:
Frank 2023-06-18 17:56:06 +02:00
parent 4d38b257af
commit 4b6e0a6b3e
6 changed files with 23 additions and 31 deletions

View file

@ -61,8 +61,8 @@ dependencies {
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modCompileOnly "com.terraformersmc:modmenu:${project.modmenu_version}"
modCompileOnly "dev.emi:emi:${emi_version}"
//modImplementation "dev.emi:emi:${emi_version}"
modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"
modLocalRuntime "dev.emi:emi-fabric:${emi_version}"
println "Using local WunderLib: ${local_wunderlib}"
if (local_wunderlib) {

View file

@ -17,5 +17,5 @@ maven_group=org.betterx.bclib
archives_base_name=bclib
# Dependencies
modmenu_version=6.1.0-rc.3
emi_version=0.7.3+1.19.4
emi_version=1.0.3+1.19.4
wunderlib_version=1.0.1

View file

@ -2,12 +2,12 @@ package org.betterx.bclib.integration.emi;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.Container;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.crafting.Recipe;
import dev.emi.emi.EmiPort;
import dev.emi.emi.api.recipe.EmiRecipe;
import dev.emi.emi.api.recipe.EmiRecipeCategory;
import dev.emi.emi.api.render.EmiTexture;
@ -82,12 +82,11 @@ public abstract class EMIAbstractAlloyingRecipe<C extends Container, T extends R
@Override
public void addWidgets(WidgetHolder widgets) {
// Add an arrow texture to indicate processing
widgets.addFillingArrow(24 + getXOffset(), 5, 50 * getSmeltTime()).tooltip((mx, my) -> {
return List.of(ClientTooltipComponent.create(EmiPort.ordered(EmiPort.translatable(
"emi.cooking.time",
new Object[]{(float) getSmeltTime() / 20.0F}
))));
});
widgets.addFillingArrow(24 + getXOffset(), 5, 50 * getSmeltTime())
.tooltip((mx, my) -> List.of(ClientTooltipComponent.create(Component.translatable(
"emi.cooking.time",
new Object[]{(float) getSmeltTime() / 20.0F}
).getVisualOrderText())));
if (this.infiniBurn) {
widgets.addTexture(EmiTexture.FULL_FLAME, 1, 24);
@ -100,14 +99,14 @@ public abstract class EMIAbstractAlloyingRecipe<C extends Container, T extends R
widgets.addSlot(input.get(0), 0, 4);
widgets.addSlot((input.size() > 1) ? input.get(1) : null, 20, 4);
widgets.addText(
EmiPort.ordered(EmiPort.translatable("emi.cooking.experience", getExperience())),
Component.translatable("emi.cooking.experience", getExperience()).getVisualOrderText(),
24 + getXOffset(), 28, 0xFFFFFFFF, true
);
// 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), 56 + getXOffset(), 0).output(true).recipeContext(this);
widgets.addSlot(output.get(0), 56 + getXOffset(), 0).large(true).recipeContext(this);
}
@Override

View file

@ -96,7 +96,7 @@ public class EMIAnvilRecipe implements EmiRecipe {
// 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
widgetHolder.addSlot(output.get(0), 78, 0).output(true).recipeContext(this);
widgetHolder.addSlot(output.get(0), 78, 0).large(true).recipeContext(this);
}
@Override

View file

@ -5,7 +5,6 @@ import org.betterx.bclib.util.RomanNumeral;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.Tesselator;
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
@ -14,8 +13,6 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FormattedCharSequence;
import com.google.common.collect.Lists;
import dev.emi.emi.EmiPort;
import dev.emi.emi.EmiUtil;
import dev.emi.emi.api.recipe.EmiRecipe;
import dev.emi.emi.api.recipe.EmiRecipeCategory;
import dev.emi.emi.api.render.EmiRenderable;
@ -168,24 +165,19 @@ public class EMIAnvilRecipeCategory extends EmiRecipeCategory {
bufferSource.endBatch();
}
@Override
public List<ClientTooltipComponent> getTooltip() {
List<ClientTooltipComponent> list = Lists.newArrayList();
if (titleLines.isEmpty()) {
list.add(ClientTooltipComponent.create(EmiPort.ordered(EmiPort.translatable(EmiUtil.translateId(
"emi.category.",
this.getId()
)))));
} else {
List<ClientTooltipComponent> list = super.getTooltip();
if (!titleLines.isEmpty()) {
List<ClientTooltipComponent> newList = Lists.newArrayList();
for (var line : titleLines)
list.add(ClientTooltipComponent.create(line));
newList.add(ClientTooltipComponent.create(line));
if (list.size() > 0) list.remove(0);
newList.addAll(list);
return newList;
}
list.add(ClientTooltipComponent.create(EmiPort.ordered(EmiPort.literal(
EmiUtil.getModName(this.getId()
.getNamespace()),
new ChatFormatting[]{ChatFormatting.BLUE, ChatFormatting.ITALIC}
))));
return list;
}
}

View file

@ -54,7 +54,8 @@
"wunderlib": "1.0.x"
},
"breaks": {
"wunderlib": "<1.0.1"
"wunderlib": "<1.0.1",
"emi": "<1.0.0"
},
"custom": {
"bclib": {