mirror of
https://github.com/architectury/architectury-api.git
synced 2026-03-30 13:05:25 -05:00
Implement hasTag onto BiomeContext (#272)
* Implement hasTag onto BiomeContext * Improve optional handling [norelease] to allow for version bumping and reformatting before release
This commit is contained in:
@@ -25,11 +25,15 @@ import dev.architectury.forge.ArchitecturyForge;
|
||||
import dev.architectury.hooks.level.biome.*;
|
||||
import dev.architectury.platform.forge.EventBuses;
|
||||
import dev.architectury.registry.level.biome.BiomeModifications.BiomeContext;
|
||||
import dev.architectury.utils.GameInstance;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.sounds.Music;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.MobCategory;
|
||||
import net.minecraft.world.level.biome.*;
|
||||
@@ -136,6 +140,21 @@ public class BiomeModificationsImpl {
|
||||
public BiomeProperties getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTag(TagKey<Biome> tag) {
|
||||
MinecraftServer server = GameInstance.getServer();
|
||||
if(server != null) {
|
||||
Optional<? extends Registry<Biome>> registry = server.registryAccess().registry(Registry.BIOME_REGISTRY);
|
||||
if(registry.isPresent()) {
|
||||
Optional<Holder<Biome>> holder = registry.get().getHolder(biomeResourceKey.get());
|
||||
if(holder.isPresent()) {
|
||||
return holder.get().is(tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user