[1.18.x] Add Forge "bosses" tag (#9513)

This commit is contained in:
Dennis C authored and GitHub committed 2023-05-29 22:35:15 +00:00
1 parent 424f43868f
commit 92cc8fc679
4 files changed
+54

No files matched your search

@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:ender_dragon",
"minecraft:wither"
]
}
@@ -24,6 +24,7 @@ import net.minecraftforge.common.crafting.DifferenceIngredient;
import net.minecraftforge.common.crafting.IntersectionIngredient;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.common.data.ForgeBiomeTagsProvider;
import net.minecraftforge.common.data.ForgeEntityTypeTagsProvider;
import net.minecraftforge.common.data.ForgeFluidTagsProvider;
import net.minecraftforge.common.extensions.IForgeEntity;
import net.minecraftforge.common.extensions.IForgePlayer;
@@ -235,6 +236,7 @@ public class ForgeMod
gen.addProvider(new ForgeRecipeProvider(gen));
gen.addProvider(new ForgeLootTableProvider(gen));
gen.addProvider(new ForgeBiomeTagsProvider(gen, existingFileHelper));
gen.addProvider(new ForgeEntityTypeTagsProvider(gen, existingFileHelper));
}
}
@@ -12,6 +12,7 @@ import net.minecraft.tags.BlockTags;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.biome.Biome;
@@ -31,6 +32,7 @@ public class Tags
Items.init();
Fluids.init();
Biomes.init();
EntityTypes.init();
}
public static class Blocks
@@ -483,4 +485,16 @@ public class Tags
return TagKey.create(Registry.BIOME_REGISTRY, new ResourceLocation("forge", name));
}
}
public static class EntityTypes
{
private static void init() {}
public static final TagKey<EntityType<?>> BOSSES = tag("bosses");
private static TagKey<EntityType<?>> tag(String name)
{
return TagKey.create(Registry.ENTITY_TYPE_REGISTRY, new ResourceLocation("forge", name));
}
}
}
@@ -0,0 +1,31 @@
/*
* Copyright (c) Forge Development LLC and contributors
* SPDX-License-Identifier: LGPL-2.1-only
*/
package net.minecraftforge.common.data;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.tags.EntityTypeTagsProvider;
import net.minecraft.world.entity.EntityType;
import net.minecraftforge.common.Tags;
public final class ForgeEntityTypeTagsProvider extends EntityTypeTagsProvider
{
public ForgeEntityTypeTagsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper)
{
super(generator, "forge", existingFileHelper);
}
@Override
protected void addTags()
{
tag(Tags.EntityTypes.BOSSES).add(EntityType.ENDER_DRAGON, EntityType.WITHER);
}
@Override
public String getName()
{
return "Forge EntityType Tags";
}
}