Skip to content

Commit

Permalink
Remove TagBuilderMixin in favor of Forge's TagBuilder#replace
Browse files Browse the repository at this point in the history
  • Loading branch information
Su5eD committed Jul 10, 2023
1 parent b909fbe commit aa37ef0
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ private FabricTagBuilder(ProvidedTagBuilder<T> parent) {
* @return the {@link FabricTagBuilder} instance
*/
public FabricTagBuilder setReplace(boolean replace) {
((net.fabricmc.fabric.impl.datagen.FabricTagBuilder) builder).fabric_setReplace(replace);
replace(replace);
return this;
}

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,17 @@

package net.fabricmc.fabric.mixin.datagen;

import java.nio.file.Path;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Predicate;

import com.google.gson.JsonElement;
import net.minecraftforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

import net.minecraft.data.DataWriter;
import net.minecraft.data.server.tag.TagProvider;
import net.minecraft.registry.tag.TagBuilder;
import net.minecraft.registry.tag.TagEntry;
import net.minecraft.util.Identifier;

import net.fabricmc.fabric.impl.datagen.FabricTagBuilder;

@Mixin(TagProvider.class)
public class TagProviderMixin {
@Inject(method = { "m_254781_", "lambda$run$6" }, at = @At(value = "INVOKE", target = "Lnet/minecraft/data/DataProvider;writeToPath(Lnet/minecraft/data/DataWriter;Lcom/google/gson/JsonElement;Ljava/nio/file/Path;)Ljava/util/concurrent/CompletableFuture;"), locals = LocalCapture.CAPTURE_FAILHARD, require = 1)
public void addReplaced(Predicate<Identifier> predicate, Predicate<Identifier> predicate2, DataWriter dataWriter, Map.Entry<Identifier, TagBuilder> entry, CallbackInfoReturnable<CompletableFuture<?>> cir, Identifier identifier, TagBuilder builder, List<TagEntry> list, List<TagEntry> list2, JsonElement jsonElement, Path path) {
if (builder instanceof FabricTagBuilder fabricTagBuilder) {
jsonElement.getAsJsonObject().addProperty("replace", fabricTagBuilder.fabric_isReplaced());
}
}

@Redirect(method = "lambda$getOrCreateRawBuilder$9", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/common/data/ExistingFileHelper;trackGenerated(Lnet/minecraft/util/Identifier;Lnet/minecraftforge/common/data/ExistingFileHelper$IResourceType;)V"))
public void fixExistingFileHelperNPE(@Nullable ExistingFileHelper existingFileHelper, Identifier identifier, ExistingFileHelper.IResourceType resourceType) {
if (existingFileHelper != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
"loot.BlockLootTableGeneratorMixin",
"TagProviderMixin",
"ModelProviderMixin",
"TagBuilderMixin",
"DataGeneratorMixin"
],
"injectors": {
Expand Down

0 comments on commit aa37ef0

Please sign in to comment.