mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2025-04-12 14:40:42 +08:00
Use Forge's official tag API
This commit is contained in:
parent
5843aa50e6
commit
59742162cb
@ -16,7 +16,7 @@ val minecraftVersion = "1.18.2"
|
||||
val nextMajorMinecraftVersion: String = minecraftVersion.split('.').let { (useless, major) ->
|
||||
"$useless.${major.toInt() + 1}"
|
||||
}
|
||||
val forgeVersion = "40.0.3"
|
||||
val forgeVersion = "40.0.18"
|
||||
|
||||
val apiClasspath = configurations.create("apiClasspath") {
|
||||
isCanBeResolved = true
|
||||
|
@ -19,27 +19,32 @@
|
||||
|
||||
package com.sk89q.worldedit.forge;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.sk89q.worldedit.world.block.BlockType;
|
||||
import com.sk89q.worldedit.world.registry.BlockCategoryRegistry;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.HolderSet;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.tags.ITagManager;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ForgeBlockCategoryRegistry implements BlockCategoryRegistry {
|
||||
// TODO clean this up once Forge adds a proper API for this
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Set<BlockType> getCategorisedByName(String category) {
|
||||
return Registry.BLOCK.getTag(TagKey.create(Registry.BLOCK_REGISTRY, new ResourceLocation(category)))
|
||||
ITagManager<Block> tags = Objects.requireNonNull(
|
||||
ForgeRegistries.BLOCKS.tags(), "no block tags registry"
|
||||
);
|
||||
return tags
|
||||
.getTag(TagKey.create(
|
||||
Registry.BLOCK_REGISTRY,
|
||||
new ResourceLocation(category)
|
||||
))
|
||||
.stream()
|
||||
.flatMap(HolderSet.Named::stream)
|
||||
.map(Holder::value)
|
||||
.map(ForgeAdapter::adapt)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(ImmutableSet.toImmutableSet());
|
||||
}
|
||||
}
|
||||
|
@ -19,27 +19,32 @@
|
||||
|
||||
package com.sk89q.worldedit.forge;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.sk89q.worldedit.world.item.ItemType;
|
||||
import com.sk89q.worldedit.world.registry.ItemCategoryRegistry;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.HolderSet;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.tags.ITagManager;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ForgeItemCategoryRegistry implements ItemCategoryRegistry {
|
||||
// TODO clean this up once Forge adds a proper API for this
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public Set<ItemType> getCategorisedByName(String category) {
|
||||
return Registry.ITEM.getTag(TagKey.create(Registry.ITEM_REGISTRY, new ResourceLocation(category)))
|
||||
ITagManager<Item> tags = Objects.requireNonNull(
|
||||
ForgeRegistries.ITEMS.tags(), "no item tags registry"
|
||||
);
|
||||
return tags
|
||||
.getTag(TagKey.create(
|
||||
Registry.ITEM_REGISTRY,
|
||||
new ResourceLocation(category)
|
||||
))
|
||||
.stream()
|
||||
.flatMap(HolderSet.Named::stream)
|
||||
.map(Holder::value)
|
||||
.map(ForgeAdapter::adapt)
|
||||
.collect(Collectors.toSet());
|
||||
.collect(ImmutableSet.toImmutableSet());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user