Possibility to add NBT data for Anvil recipes output
This commit is contained in:
parent
3f225c59a1
commit
e28dcf1ee4
1 changed files with 12 additions and 0 deletions
|
@ -4,9 +4,12 @@ import java.util.Objects;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.core.NonNullList;
|
import net.minecraft.core.NonNullList;
|
||||||
|
import net.minecraft.nbt.CompoundTag;
|
||||||
|
import net.minecraft.nbt.TagParser;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.Tag;
|
import net.minecraft.tags.Tag;
|
||||||
|
@ -276,6 +279,15 @@ public class AnvilRecipe implements Recipe<Container>, BetterEndRecipe {
|
||||||
if (output == null) {
|
if (output == null) {
|
||||||
throw new IllegalStateException("Output item does not exists!");
|
throw new IllegalStateException("Output item does not exists!");
|
||||||
}
|
}
|
||||||
|
if (result.has("nbt")) {
|
||||||
|
try {
|
||||||
|
String nbtData = GsonHelper.getAsString(result, "nbt");
|
||||||
|
CompoundTag nbt = TagParser.parseTag(nbtData);
|
||||||
|
output.setTag(nbt);
|
||||||
|
} catch (CommandSyntaxException ex) {
|
||||||
|
BetterEnd.LOGGER.warning("Error parse nbt data for output.", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
int inputCount = GsonHelper.getAsInt(json, "inputCount", 1);
|
int inputCount = GsonHelper.getAsInt(json, "inputCount", 1);
|
||||||
int toolLevel = GsonHelper.getAsInt(json, "toolLevel", 1);
|
int toolLevel = GsonHelper.getAsInt(json, "toolLevel", 1);
|
||||||
int anvilLevel = GsonHelper.getAsInt(json, "anvilLevel", 1);
|
int anvilLevel = GsonHelper.getAsInt(json, "anvilLevel", 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue