diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml index 8e18c03..2526c26 100644 --- a/.github/workflows/auto-build.yml +++ b/.github/workflows/auto-build.yml @@ -65,7 +65,7 @@ jobs: name: '${{ github.ref_name }}-${{ steps.ver.outputs.version}} SNAPSHOT ${{ env.VERSION_SUFFIX }}' prerelease: true body: | - The latest build of GTMoreMachine for Minecraft ${{ github.ref_name }}. - Please report any [issues](https://github.com/ModularMCLib/Registrate/issues). + The latest build of RegistrateLib for Minecraft ${{ github.ref_name }}. + Please report any [issues](https://github.com/ModularMCLib/RegistrateLib/issues). ${{ steps.changelog.outputs.changelog }} files: build/libs/*.jar diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7e5bf0a..c822ec7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -103,9 +103,9 @@ jobs: # modrinth-id: aADDBrNC # modrinth-token: ${{ secrets.MODRINTH_TOKEN }} # files: | -# ./gtmoremachine-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar -# ./!(gtmoremachine-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar) -# name: 'GTMoreMachine ${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' +# ./registrate-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar +# ./!(registrate-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar) +# name: 'RegistrateLib ${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' # version: 'mc${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' # version-type: ${{ env.VERSION_TYPE }} # changelog: ${{ inputs.release-body }} @@ -136,9 +136,9 @@ jobs: # curseforge-id: 1397216 # curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} # files: | -# ./gtmoremachine-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar -# ./!(gtmoremachine-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar) -# name: 'GTMoreMachine ${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' +# ./registrate-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar +# ./!(registrate-${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}.jar) +# name: 'RegistrateLib ${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' # version: 'mc${{ env.MC_VERSION }}-${{ needs.build.outputs.ver }}' # version-type: ${{ env.VERSION_TYPE }} # changelog: ${{ inputs.release-body }} diff --git a/README.md b/README.md index fd71cdd..733176c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Registrate [![Build Status](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fci.tterrag.com%2Fjob%2FRegistrate%2Fjob%2F1.21%2F)](https://ci.tterrag.com/job/Registrate/job/1.21) [![License](https://img.shields.io/github/license/tterrag1098/Registrate?cacheSeconds=36000)](https://www.tldrlegal.com/l/mpl-2.0) [![Maven Version](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.tterrag.com%2Fcom%2Ftterrag%2Fregistrate%2FRegistrate%2Fmaven-metadata.xml)](https://maven.tterrag.com/com/tterrag/registrate/Registrate) ![Minecraft Version](https://img.shields.io/badge/minecraft-1.21.8-blue) [![Discord](https://img.shields.io/discord/175740881389879296?label=discord&logo=discord&color=7289da)](https://discord.gg/gZqYcEj) +# RegistrateLib [![Build Status](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fci.tterrag.com%2Fjob%2FRegistrate%2Fjob%2F1.21%2F)](https://ci.tterrag.com/job/Registrate/job/1.21) [![License](https://img.shields.io/github/license/ModularMCLib/RegistrateLib?cacheSeconds=36000)](https://www.tldrlegal.com/l/mpl-2.0) [![Maven Version](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.tterrag.com%2Fcom%2Ftterrag%2Fregistrate%2FRegistrate%2Fmaven-metadata.xml)](https://maven.tterrag.com/com/tterrag/registrate/Registrate) ![Minecraft Version](https://img.shields.io/badge/minecraft-26.1.1-blue) [![Discord](https://img.shields.io/discord/175740881389879296?label=discord&logo=discord&color=7289da)](https://discord.gg/gZqYcEj) A powerful wrapper for creating and registering objects in your mod. @@ -91,25 +91,25 @@ public static final RegistryEntry MY_STAIRS = REGISTRATE.block("m This customized version will create a BlockItem (with its own default model and lang entry), add the block to a tag, configure the blockstate for stair properties, and add a custom localization. -To get an overview of the different APIs and methods, check out the [Javadocs](https://ci.tterrag.com/job/Registrate/job/1.21/javadoc/). For more advanced usage, read the [wiki](https://github.com/tterrag1098/Registrate/wiki) (WIP). +To get an overview of the different APIs and methods, check out the [Javadocs](https://ci.tterrag.com/job/Registrate/job/1.21/javadoc/). For more advanced usage, read the [wiki](https://github.com/ModularMCLib/RegistrateLib/wiki) (WIP). ## Project Setup -For this `26.1` fork, the preferred integration model is to depend on Registrate as a normal NeoForge library mod and declare it as a required dependency in your own metadata. Bundling remains possible for tightly controlled distributions, but standalone dependency loading is the default posture for this branch. +For this `26.1` fork, the preferred integration model is to depend on RegistrateLib as a normal NeoForge library mod and declare it as a required dependency in your own metadata. Bundling remains possible for tightly controlled distributions, but standalone dependency loading is the default posture for this branch. Add the library to your Gradle dependencies: ```groovy dependencies { - implementation "com.modularmc.registrate:registrate:${registrate_version}" + implementation "com.modularmc.registrate:registratelib:${registratelib_version}" } ``` -Then declare `registrate` as a required dependency in your `neoforge.mods.toml`: +Then declare `registratelib` as a required dependency in your `neoforge.mods.toml`: ```toml [[dependencies.yourmodid]] -modId="registrate" +modId="registratelib" type="required" versionRange="[2.0.0,)" ordering="AFTER" diff --git a/gradle.properties b/gradle.properties index 548db01..fdc9242 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,11 +5,11 @@ org.gradle.caching = true # Mod Info -mod_id = registrate -mod_name = Registrate +mod_id = registratelib +mod_name = RegistrateLib mod_version = 2.0.0 mod_description = mod_license = Mozilla Public License Version 2.0 -mod_url = https://github.com/ModularMCLib/Registrate/ -mod_issue_tracker = https://github.com/ModularMCLib/Registrate/issues/ +mod_url = https://github.com/ModularMCLib/RegistrateLib/ +mod_issue_tracker = https://github.com/ModularMCLib/RegistrateLib/issues/ maven_group = com.modularmc.registrate diff --git a/src/main/java/com/modularmc/registrate/AbstractRegistrate.java b/src/main/java/com/modularmc/registrate/AbstractRegistrate.java index cfe8824..733cf03 100644 --- a/src/main/java/com/modularmc/registrate/AbstractRegistrate.java +++ b/src/main/java/com/modularmc/registrate/AbstractRegistrate.java @@ -10,6 +10,7 @@ import com.modularmc.registrate.internal.event.OneTimeEventReceiver; import com.modularmc.registrate.internal.lifecycle.RegistrateLifecycle; import com.modularmc.registrate.internal.util.DebugMarkers; +import com.modularmc.registrate.internal.util.RegistrateLogger; import com.modularmc.registrate.providers.*; import com.modularmc.registrate.providers.core.*; import com.modularmc.registrate.util.CreativeModeTabModifier; @@ -49,9 +50,9 @@ import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.Message; import org.jspecify.annotations.Nullable; @@ -86,9 +87,11 @@ * * For specifics as to building different registry entries, read the documentation on their respective builders. */ -@Log4j2 public abstract class AbstractRegistrate> { + private static final Logger LOGGER = RegistrateLogger.core(); + private static final Logger DATAGEN_LOGGER = RegistrateLogger.datagen(); + /** * Checks if Minecraft is running from a dev environment. Enables certain debug logging. * @@ -173,7 +176,7 @@ public void onData(GatherDataEvent event) { */ protected AbstractRegistrate(String modid) { this.modid = modid; - this.registrationTracker = new RegistrationTracker(modid, log); + this.registrationTracker = new RegistrationTracker(modid); this.lifecycle = new RegistrateLifecycle(this, new LifecycleHooks()); } @@ -657,12 +660,23 @@ public void genData(GeneratorType type, T gen) { } datagens.get(type).forEach(cons -> { Optional>>> entry = Optional.empty(); - if (log.isEnabled(Level.DEBUG, DebugMarkers.DATA)) { + if (DATAGEN_LOGGER.isEnabled(Level.DEBUG, DebugMarkers.DATA)) { entry = getEntryForGenerator(type, cons); if (entry.isPresent()) { - log.debug(DebugMarkers.DATA, "Generating data of type {} for entry {} [{}]", RegistrateDataProvider.getTypeName(type), entry.get().getLeft(), entry.get().getRight().identifier()); + DATAGEN_LOGGER.debug( + DebugMarkers.DATA, + RegistrateLogger.modMessage("Generating data of type {} for entry {} [{}]"), + modid, + RegistrateDataProvider.getTypeName(type), + entry.get().getLeft(), + entry.get().getRight().identifier()); } else { - log.debug(DebugMarkers.DATA, "Generating unassociated data of type {} ({})", RegistrateDataProvider.getTypeName(type), type); + DATAGEN_LOGGER.debug( + DebugMarkers.DATA, + RegistrateLogger.modMessage("Generating unassociated data of type {} ({})"), + modid, + RegistrateDataProvider.getTypeName(type), + type); } } try { @@ -673,12 +687,21 @@ public void genData(GeneratorType type, T gen) { } Message err; if (entry.isPresent()) { - err = log.getMessageFactory().newMessage("Unexpected error while running data generator of type {} for entry {} [{}]", RegistrateDataProvider.getTypeName(type), entry.get().getLeft(), entry.get().getRight().identifier()); + err = DATAGEN_LOGGER.getMessageFactory().newMessage( + RegistrateLogger.modMessage("Unexpected error while running data generator of type {} for entry {} [{}]"), + modid, + RegistrateDataProvider.getTypeName(type), + entry.get().getLeft(), + entry.get().getRight().identifier()); } else { - err = log.getMessageFactory().newMessage("Unexpected error while running unassociated data generator of type {} ({})", RegistrateDataProvider.getTypeName(type), type); + err = DATAGEN_LOGGER.getMessageFactory().newMessage( + RegistrateLogger.modMessage("Unexpected error while running unassociated data generator of type {} ({})"), + modid, + RegistrateDataProvider.getTypeName(type), + type); } if (skipErrors) { - log.error(err); + DATAGEN_LOGGER.error(err); } else { throw new RuntimeException(err.getFormattedMessage(), e); } @@ -698,7 +721,9 @@ public void genData(GeneratorType type, T gen) { */ public S skipErrors(boolean skipErrors) { if (skipErrors && !isDevEnvironment()) { - log.error("Ignoring skipErrors(true) as this is not a development environment!"); + LOGGER.warn( + RegistrateLogger.modMessage("Ignoring skipErrors(true) because the runtime is not a development environment"), + modid); } else { this.skipErrors = skipErrors; } @@ -806,7 +831,7 @@ public > S2 transform(NonNull /** * Create a builder for a new entry. This is typically not needed, unless you are implementing a - * custom builder type. + * custom builder type. *

* Uses the currently set name (via {@link #object(String)}) as the name for the new entry, and passes it to the * factory as the first parameter. @@ -829,7 +854,7 @@ public > S2 entry(NonNullBiFu /** * Create a builder for a new entry. This is typically not needed, unless you are implementing a - * custom builder type. + * custom builder type. * * @param * Registry type diff --git a/src/main/java/com/modularmc/registrate/Registrate.java b/src/main/java/com/modularmc/registrate/Registrate.java index dec91f2..9e8d07d 100644 --- a/src/main/java/com/modularmc/registrate/Registrate.java +++ b/src/main/java/com/modularmc/registrate/Registrate.java @@ -1,16 +1,19 @@ package com.modularmc.registrate; +import com.modularmc.registrate.internal.util.RegistrateLogger; + import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; import net.neoforged.fml.ModList; -import lombok.extern.log4j.Log4j2; +import org.apache.logging.log4j.Logger; import java.util.Optional; -@Log4j2 public class Registrate extends AbstractRegistrate { + private static final Logger LOGGER = RegistrateLogger.core(); + /** * Create a new {@link Registrate} and register event listeners for registration and data generation. Used in lieu * of adding side-effects to constructor, so that alternate initialization @@ -26,15 +29,10 @@ public static Registrate create(String modid) { Optional modEventBus = ModList.get().getModContainerById(modid) .map(ModContainer::getEventBus); - modEventBus.ifPresentOrElse(ret::registerEventListeners, () -> { - String message = "# [Registrate] Failed to register eventListeners for mod " + modid + ", This should be reported to this mod's dev #"; - - StringBuilder hashtags = new StringBuilder().append("#".repeat(message.length())); - - log.fatal(hashtags.toString()); - log.fatal(message); - log.fatal(hashtags.toString()); - }); + modEventBus.ifPresentOrElse(ret::registerEventListeners, () -> LOGGER.fatal( + RegistrateLogger.modMessage( + "Failed to locate the mod event bus during Registrate.create; registration listeners were not attached"), + modid)); return ret; } diff --git a/src/main/java/com/modularmc/registrate/RegistrateLib.java b/src/main/java/com/modularmc/registrate/RegistrateLib.java index 6d98a63..cd6e5a7 100644 --- a/src/main/java/com/modularmc/registrate/RegistrateLib.java +++ b/src/main/java/com/modularmc/registrate/RegistrateLib.java @@ -3,6 +3,9 @@ import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.common.Mod; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + /** * Runtime entrypoint for the ModularMCLib variant of Registrate. * @@ -15,7 +18,9 @@ @Mod(RegistrateLib.MOD_ID) public final class RegistrateLib { - public static final String MOD_ID = "registrate"; + public static final String MOD_ID = "registratelib"; + public static final String MOD_NAME = "Registrate Lib"; + public static final Logger LOGGER = LogManager.getLogger(MOD_NAME); public RegistrateLib(IEventBus modEventBus) {} } diff --git a/src/main/java/com/modularmc/registrate/internal/RegistrationTracker.java b/src/main/java/com/modularmc/registrate/internal/RegistrationTracker.java index f680f5f..e43afe9 100644 --- a/src/main/java/com/modularmc/registrate/internal/RegistrationTracker.java +++ b/src/main/java/com/modularmc/registrate/internal/RegistrationTracker.java @@ -1,6 +1,7 @@ package com.modularmc.registrate.internal; import com.modularmc.registrate.internal.util.DebugMarkers; +import com.modularmc.registrate.internal.util.RegistrateLogger; import com.modularmc.registrate.util.entry.RegistryEntry; import com.modularmc.registrate.util.nullness.NonNullConsumer; import com.modularmc.registrate.util.nullness.NonNullFunction; @@ -31,6 +32,8 @@ public final class RegistrationTracker { + private static final Logger LOGGER = RegistrateLogger.registration(); + private static final class Registration { private final Identifier identifier; @@ -72,27 +75,29 @@ private void addRegisterCallback(NonNullConsumer callback) { } private final String modId; - private final Logger logger; private final Table>, String, Registration> registrations = HashBasedTable.create(); private final Multimap>>, NonNullConsumer> pendingEntryCallbacks = HashMultimap.create(); private final Multimap>, Runnable> afterRegisterCallbacks = HashMultimap.create(); private final Set>> completedRegistrations = new HashSet<>(); - public RegistrationTracker(String modId, Logger logger) { + public RegistrationTracker(String modId) { this.modId = modId; - this.logger = logger; } public void onRegister(RegisterEvent event, boolean skipErrors, boolean devEnvironment) { ResourceKey> registryKey = event.getRegistryKey(); if (registryKey == null) { - logger.debug(DebugMarkers.REGISTER, "Skipping invalid registry registration event with no key"); + LOGGER.debug( + DebugMarkers.REGISTER, + RegistrateLogger.modMessage("Skipping registry event without a registry key"), + modId); return; } if (!pendingEntryCallbacks.isEmpty()) { - pendingEntryCallbacks.asMap().forEach((entryKey, callbacks) -> logger.warn( - "Found {} unused register callback(s) for entry {} [{}]. Was the entry ever registered?", + pendingEntryCallbacks.asMap().forEach((entryKey, callbacks) -> LOGGER.warn( + RegistrateLogger.modMessage("Found {} unused register callback(s) for entry {} [{}]. Was the entry ever registered?"), + modId, callbacks.size(), entryKey.getLeft(), entryKey.getRight().identifier())); @@ -107,8 +112,9 @@ public void onRegister(RegisterEvent event, boolean skipErrors, boolean devEnvir return; } - logger.trace(DebugMarkers.REGISTER, - "({}) Registering {} known objects of type {}", + LOGGER.trace( + DebugMarkers.REGISTER, + RegistrateLogger.modMessage("Registering {} captured object(s) in {}"), modId, registrationsForType.size(), registryKey.identifier()); @@ -116,17 +122,26 @@ public void onRegister(RegisterEvent event, boolean skipErrors, boolean devEnvir Registration registration = entry.getValue(); try { registration.register(event); - logger.trace( + LOGGER.trace( DebugMarkers.REGISTER, - "Registered {} to registry {}", + RegistrateLogger.modMessage("Registered {} in {}"), + modId, registration.getIdentifier(), registryKey.identifier()); } catch (Exception exception) { - String error = "Unexpected error while registering entry " + registration.getIdentifier() + " to registry " + registryKey.identifier(); if (skipErrors) { - logger.error(DebugMarkers.REGISTER, error); + LOGGER.error( + DebugMarkers.REGISTER, + RegistrateLogger.modMessage("Unexpected error while registering entry {} in {}"), + modId, + registration.getIdentifier(), + registryKey.identifier(), + exception); } else { - throw new RuntimeException(error, exception); + throw new RuntimeException( + "[%s] Unexpected error while registering entry %s in %s" + .formatted(modId, registration.getIdentifier(), registryKey.identifier()), + exception); } } } @@ -154,11 +169,11 @@ public RegistryEntry track( registryKey, creator, entryFactory); - logger.trace( + LOGGER.trace( DebugMarkers.REGISTER, - "Captured registration for entry {}:{} of type {}", + RegistrateLogger.modMessage("Captured registration {} for registry {}"), modId, - name, + registration.getIdentifier(), registryKey.identifier()); pendingEntryCallbacks.removeAll(Pair.of(name, registryKey)).forEach(callback -> { @SuppressWarnings("unchecked") diff --git a/src/main/java/com/modularmc/registrate/internal/util/RegistrateLogger.java b/src/main/java/com/modularmc/registrate/internal/util/RegistrateLogger.java new file mode 100644 index 0000000..7a896b3 --- /dev/null +++ b/src/main/java/com/modularmc/registrate/internal/util/RegistrateLogger.java @@ -0,0 +1,40 @@ +package com.modularmc.registrate.internal.util; + +import com.modularmc.registrate.RegistrateLib; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public final class RegistrateLogger { + + private static final Logger ROOT = RegistrateLib.LOGGER; + private static final Logger CORE = child("Core"); + private static final Logger DATAGEN = child("Datagen"); + private static final Logger REGISTRATION = child("Registration"); + + private RegistrateLogger() {} + + public static Logger root() { + return ROOT; + } + + public static Logger core() { + return CORE; + } + + public static Logger datagen() { + return DATAGEN; + } + + public static Logger registration() { + return REGISTRATION; + } + + public static String modMessage(String message) { + return "[{}] " + message; + } + + private static Logger child(String name) { + return LogManager.getLogger(ROOT.getName() + "." + name); + } +} diff --git a/src/main/java/com/modularmc/registrate/providers/RegistrateAdvancementProvider.java b/src/main/java/com/modularmc/registrate/providers/RegistrateAdvancementProvider.java index 830ed32..8019de5 100644 --- a/src/main/java/com/modularmc/registrate/providers/RegistrateAdvancementProvider.java +++ b/src/main/java/com/modularmc/registrate/providers/RegistrateAdvancementProvider.java @@ -22,7 +22,6 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import lombok.Getter; -import lombok.extern.log4j.Log4j2; import org.jspecify.annotations.Nullable; import java.nio.file.Path; @@ -34,7 +33,6 @@ import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; -@Log4j2 public class RegistrateAdvancementProvider implements RegistrateProvider, Consumer { private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting().create(); diff --git a/src/main/java/com/modularmc/registrate/providers/core/RegistrateDataProvider.java b/src/main/java/com/modularmc/registrate/providers/core/RegistrateDataProvider.java index 3e69333..6698a79 100644 --- a/src/main/java/com/modularmc/registrate/providers/core/RegistrateDataProvider.java +++ b/src/main/java/com/modularmc/registrate/providers/core/RegistrateDataProvider.java @@ -3,6 +3,7 @@ import com.modularmc.registrate.AbstractRegistrate; import com.modularmc.registrate.internal.datagen.RegistrateDatagenBootstrap; import com.modularmc.registrate.internal.util.DebugMarkers; +import com.modularmc.registrate.internal.util.RegistrateLogger; import com.modularmc.registrate.providers.RegistrateTagsProvider; import net.minecraft.core.HolderLookup; @@ -15,7 +16,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.Lists; -import lombok.extern.log4j.Log4j2; +import org.apache.logging.log4j.Logger; import org.jspecify.annotations.Nullable; import java.util.HashMap; @@ -26,9 +27,10 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; -@Log4j2 public class RegistrateDataProvider implements DataProvider { + private static final Logger LOGGER = RegistrateLogger.datagen(); + @SuppressWarnings("null") static final BiMap> TYPES = HashBiMap.create(); @@ -60,8 +62,7 @@ public RegistrateDataProvider(AbstractRegistrate parent, String modid, Gather * } */ - // log.debug(DebugMarkers.DATA, "Gathering providers for sides: {}", sides); - log.debug(DebugMarkers.DATA, "Gathering providers"); + LOGGER.debug(DebugMarkers.DATA, RegistrateLogger.modMessage("Collecting datagen providers"), mod); Map, RegistrateProvider> known = new HashMap<>(); for (DataProviderInitializer.Sorted sorted : parent.getDataGenInitializer().getSortedProviders()) { ProviderType type = sorted.type(); @@ -73,7 +74,11 @@ public RegistrateDataProvider(AbstractRegistrate parent, String modid, Gather } known.put(type, prov); // if (sides.contains(prov.getSide())) { - log.debug(DebugMarkers.DATA, "Adding provider for type: {}", sorted.id()); + LOGGER.debug( + DebugMarkers.DATA, + RegistrateLogger.modMessage("Added datagen provider {}"), + mod, + sorted.id()); subProviders.put(type, prov); // } } @@ -86,7 +91,11 @@ public CompletableFuture run(CachedOutput cache) { var list = Lists.>newArrayList(); for (Map.Entry, RegistrateProvider> e : subProviders.entrySet()) { - log.debug(DebugMarkers.DATA, "Generating data for type: {}", getTypeName(e.getKey())); + LOGGER.debug( + DebugMarkers.DATA, + RegistrateLogger.modMessage("Running datagen provider {}"), + mod, + getTypeName(e.getKey())); list.add(e.getValue().run(cache)); } ; diff --git a/src/test/resources/META-INF/neoforge.mods.toml b/src/test/resources/META-INF/neoforge.mods.toml index 456e663..ea4e5ea 100644 --- a/src/test/resources/META-INF/neoforge.mods.toml +++ b/src/test/resources/META-INF/neoforge.mods.toml @@ -38,7 +38,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magn ''' [[dependencies.testmod]] -modId="registrate" +modId="registratelib" type="required" versionRange="[2.0.0,)" ordering="AFTER"