[Change] Automatically add Tools to vanilla Item-tags

This commit is contained in:
Frank 2023-06-09 00:32:20 +02:00
parent 55ec6e8f68
commit e1634d3152
2 changed files with 19 additions and 28 deletions

View file

@ -14,14 +14,13 @@ import org.betterx.bclib.interfaces.PostInitable;
import org.betterx.bclib.interfaces.RenderLayerProvider;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.bclib.interfaces.tools.*;
import org.betterx.bclib.items.tool.*;
import org.betterx.bclib.networking.VersionChecker;
import org.betterx.bclib.registry.BaseBlockEntities;
import org.betterx.worlds.together.tag.v3.CommonBlockTags;
import org.betterx.worlds.together.tag.v3.CommonItemTags;
import org.betterx.worlds.together.tag.v3.MineableTags;
import org.betterx.worlds.together.tag.v3.TagManager;
import org.betterx.worlds.together.tag.v3.*;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.dispenser.ShearsDispenseItemBehavior;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
@ -29,6 +28,7 @@ import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DispenserBlock;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@ -107,6 +107,21 @@ public class PostInitAPI {
itemTags.forEach(tag -> TagManager.ITEMS.add(tag, item));
itemTags.clear();
}
if (item instanceof BaseShovelItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SHOVELS, ItemTags.SHOVELS);
} else if (item instanceof BaseSwordItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SWORDS, ItemTags.SWORDS);
} else if (item instanceof BasePickaxeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_PICKAXES, ItemTags.PICKAXES);
} else if (item instanceof BaseAxeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_AXES, ItemTags.AXES);
} else if (item instanceof BaseHoeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_HOES, ItemTags.HOES);
} else if (item instanceof BaseShearsItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SHEARS, CommonItemTags.SHEARS);
DispenserBlock.registerBehavior(item.asItem(), new ShearsDispenseItemBehavior());
}
}
private static void processBlockCommon(Block block) {

View file

@ -5,21 +5,13 @@ import org.betterx.bclib.items.BaseDiscItem;
import org.betterx.bclib.items.BaseDrinkItem;
import org.betterx.bclib.items.BaseSpawnEggItem;
import org.betterx.bclib.items.ModelProviderItem;
import org.betterx.bclib.items.tool.BaseAxeItem;
import org.betterx.bclib.items.tool.BaseHoeItem;
import org.betterx.bclib.items.tool.BasePickaxeItem;
import org.betterx.bclib.items.tool.BaseShearsItem;
import org.betterx.bclib.models.RecordItemModelProvider;
import org.betterx.bclib.recipes.SmithingTemplates;
import org.betterx.worlds.together.tag.v3.CommonItemTags;
import org.betterx.worlds.together.tag.v3.TagManager;
import org.betterx.worlds.together.tag.v3.ToolTags;
import net.minecraft.core.BlockSource;
import net.minecraft.core.Direction;
import net.minecraft.core.Registry;
import net.minecraft.core.dispenser.DefaultDispenseItemBehavior;
import net.minecraft.core.dispenser.ShearsDispenseItemBehavior;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
@ -83,24 +75,8 @@ public class ItemRegistry extends BaseRegistry<Item> {
if (!config.getBoolean("tools", itemId.getPath(), true)) {
return item;
}
registerItem(itemId, item);
if (item instanceof ShovelItem) {
TagManager.ITEMS.add(ToolTags.FABRIC_SHOVELS, item);
} else if (item instanceof SwordItem) {
TagManager.ITEMS.add(ToolTags.FABRIC_SWORDS, item);
} else if (item instanceof BasePickaxeItem) {
TagManager.ITEMS.add(ToolTags.FABRIC_PICKAXES, item);
} else if (item instanceof BaseAxeItem) {
TagManager.ITEMS.add(ToolTags.FABRIC_AXES, item);
} else if (item instanceof BaseHoeItem) {
TagManager.ITEMS.add(ToolTags.FABRIC_HOES, item);
} else if (item instanceof BaseShearsItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SHEARS, CommonItemTags.SHEARS);
DispenserBlock.registerBehavior(item.asItem(), new ShearsDispenseItemBehavior());
}
return item;
}