NerolandCore 1.10.0 - Forge 26.2
Curse Maven Snippet
What's new
Additive public-API release for off-Earth content: a shared "where is space?" tag vocabulary and a cross-loader entity registration seam. Every existing API signature, tag, id, capability and config key is unchanged.
Added
Space tags (za.co.neroland.nerolandcore.worldgen.SpaceTags)
- The
neroland:space/*vocabulary — biome tagsspace/dark_biomes,space/moon_biomes,space/crystalline_biomes,space/asteroid_biomesand the umbrellaspace/planet_biomes, plus the dimension-type tagspace/dimensions. Core owns the ids; the mods that own the planets supply the members. - Base membership shipped in
data/neroland/tags/worldgen/biome/space/anddata/neroland/tags/dimension_type/space/, with every entry"required": false— Nerospace's biomes themed from their own JSON plusnerospace:gravity_*membership, and best-effort Ad Astra entries on the usual tag-mediated, no-hard-dependency footing.space/planet_biomesincludes the four themed tags by reference. - Helpers
isSpace(ServerLevel),biomeIn(Holder<Biome>, TagKey<Biome>)andbiomeIn(LevelReader, BlockPos, TagKey<Biome>). Empty tags are a supported state — consumers must read an empty tag as "no such place here", never as an error.
Entity registration seam (za.co.neroland.nerolandcore.entity.EntityRegistrationSupport)
- Declare a mob's default attributes and natural spawn placement once from common code:
get(modId).registerAttributes(typeSupplier, builderSupplier)andregisterSpawnPlacement(typeSupplier, placementType, heightmap, predicate). Both take suppliers so aRegistrationProvider.RegistryEntrycan be passed straight in on the deferred-register loaders. - Buffered in common and flushed by per-loader plumbing (a ServiceLoader seam,
EntityRegistrationSupport$Plumbing): NeoForgeEntityAttributeCreationEvent/RegisterSpawnPlacementsEvent, ForgeEntityAttributeCreationEvent/SpawnPlacementRegisterEvent, FabricFabricDefaultAttributeRegistryplus the vanillaSpawnPlacements.registerapplied immediately. - Requires no loader wiring downstream — Core installs the flush listeners during its own
bootstrap and the events reach every mod.
attach(loaderEventBus)is offered for parity withRegistrationProvider.attach(...)and is idempotent; every buffered entry is applied at most once, and a failing entry is logged (mod id only) rather than aborting the batch. - New docs page
docs/SPACE-TAGS-AND-ENTITIES.mdand wiki pagewiki/Space-Tags-and-Entities.md.
This mod has no additional files

