diff --git a/src/main/java/dev/zenfyr/pulsar/api/resources/DataPackContentsAccessor.java b/src/main/java/dev/zenfyr/pulsar/api/resources/DataPackContentsAccessor.java index 751730e..e6929a1 100644 --- a/src/main/java/dev/zenfyr/pulsar/api/resources/DataPackContentsAccessor.java +++ b/src/main/java/dev/zenfyr/pulsar/api/resources/DataPackContentsAccessor.java @@ -9,5 +9,5 @@ public interface DataPackContentsAccessor { return server; } - T pulsar$getReloader(ReloaderType type); + T pulsar$getReloadListener(ReloadListenerType type); } diff --git a/src/main/java/dev/zenfyr/pulsar/api/resources/ReloaderType.java b/src/main/java/dev/zenfyr/pulsar/api/resources/ReloadListenerType.java similarity index 68% rename from src/main/java/dev/zenfyr/pulsar/api/resources/ReloaderType.java rename to src/main/java/dev/zenfyr/pulsar/api/resources/ReloadListenerType.java index 984fb52..b718e8b 100644 --- a/src/main/java/dev/zenfyr/pulsar/api/resources/ReloaderType.java +++ b/src/main/java/dev/zenfyr/pulsar/api/resources/ReloadListenerType.java @@ -18,23 +18,23 @@ import org.jetbrains.annotations.NotNull; @Getter @RequiredArgsConstructor(access = AccessLevel.PRIVATE) @Accessors(fluent = true) -public final class ReloaderType { +public final class ReloadListenerType { - public static final ReloaderType TAGS = create(ResourceReloadListenerKeys.TAGS); - public static final ReloaderType RECIPES = + public static final ReloadListenerType TAGS = create(ResourceReloadListenerKeys.TAGS); + public static final ReloadListenerType RECIPES = create(ResourceReloadListenerKeys.RECIPES); - public static final ReloaderType ADVANCEMENTS = + public static final ReloadListenerType ADVANCEMENTS = create(ResourceReloadListenerKeys.ADVANCEMENTS); - public static final ReloaderType FUNCTIONS = + public static final ReloadListenerType FUNCTIONS = create(ResourceReloadListenerKeys.FUNCTIONS); - public static final ReloaderType LOOT_TABLES = + public static final ReloadListenerType LOOT_TABLES = create(ResourceReloadListenerKeys.LOOT_TABLES); private final ResourceLocation location; @Contract("_ -> new") - public static @NotNull ReloaderType create( + public static @NotNull ReloadListenerType create( ResourceLocation identifier) { - return new ReloaderType<>(identifier); + return new ReloadListenerType<>(identifier); } } diff --git a/src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadersEvent.java b/src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadListenersEvent.java similarity index 71% rename from src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadersEvent.java rename to src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadListenersEvent.java index e2c6b03..7740a4b 100644 --- a/src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadersEvent.java +++ b/src/main/java/dev/zenfyr/pulsar/api/resources/ServerReloadListenersEvent.java @@ -12,15 +12,16 @@ import net.minecraft.world.flag.FeatureFlagSet; * The Fabric API is side-agnostic, so you have to rely on static hooks. It also lacks a way to retrieve {@link RegistryAccess}. *

*/ -public interface ServerReloadersEvent { +public interface ServerReloadListenersEvent { - Bus EVENT = Bus.create(ServerReloadersEvent.class, events -> (c) -> { - for (ServerReloadersEvent event : events) { - event.onServerReloaders(c); - } - }); + Bus EVENT = + Bus.create(ServerReloadListenersEvent.class, events -> (c) -> { + for (ServerReloadListenersEvent event : events) { + event.onServerReload(c); + } + }); - void onServerReloaders(Context context); + void onServerReload(Context context); interface Context { RegistryAccess registryAccess(); @@ -33,6 +34,6 @@ public interface ServerReloadersEvent { * Returns a reloader by type.
* Due to a design oversight, calling this method during the event will crash the game. Using it during {@code prepare} and {@code apply} is fine. */ - T reloader(ReloaderType type); + T getListener(ReloadListenerType type); } } diff --git a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/MinecraftServerMixin.java b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/MinecraftServerMixin.java index 45380ac..6d271a4 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/MinecraftServerMixin.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/MinecraftServerMixin.java @@ -1,7 +1,7 @@ package dev.zenfyr.pulsar.impl.mixins.resources; import dev.zenfyr.pulsar.api.resources.DataPackContentsAccessor; -import dev.zenfyr.pulsar.api.resources.ReloaderType; +import dev.zenfyr.pulsar.api.resources.ReloadListenerType; import net.minecraft.server.MinecraftServer; import net.minecraft.server.packs.resources.PreparableReloadListener; import org.spongepowered.asm.mixin.Mixin; @@ -14,7 +14,8 @@ abstract class MinecraftServerMixin implements DataPackContentsAccessor { private MinecraftServer.ReloadableResources resources; @Override - public T pulsar$getReloader(ReloaderType type) { - return ((DataPackContentsAccessor) resources.managers()).pulsar$getReloader(type); + public T pulsar$getReloadListener( + ReloadListenerType type) { + return ((DataPackContentsAccessor) resources.managers()).pulsar$getReloadListener(type); } } diff --git a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ReloadableServerResourcesMixin.java b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ReloadableServerResourcesMixin.java index c8f938d..17f1627 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ReloadableServerResourcesMixin.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ReloadableServerResourcesMixin.java @@ -3,7 +3,7 @@ package dev.zenfyr.pulsar.impl.mixins.resources; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.sugar.Local; -import dev.zenfyr.pulsar.api.resources.ReloaderType; +import dev.zenfyr.pulsar.api.resources.ReloadListenerType; import dev.zenfyr.pulsar.impl.resources.InternalContentsAccessor; import dev.zenfyr.pulsar.impl.resources.InternalContext; import dev.zenfyr.pulsar.impl.resources.WrappedReloader; @@ -29,11 +29,12 @@ abstract class ReloadableServerResourcesMixin implements InternalContentsAccesso @Unique private final Map reloadersByIdentifier = new HashMap<>(); - @Unique private final IdentityHashMap, PreparableReloadListener> reloadersByType = + @Unique private final IdentityHashMap, PreparableReloadListener> reloadersByType = new IdentityHashMap<>(); @Override - public T pulsar$getReloader(ReloaderType type) { + public T pulsar$getReloadListener( + ReloadListenerType type) { PreparableReloadListener reloader = this.reloadersByType.get(type); if (reloader == null) { synchronized (this.reloadersByIdentifier) { diff --git a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ResourceManagerHelperImplMixin.java b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ResourceManagerHelperImplMixin.java index f6dc3d1..b89c0b9 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ResourceManagerHelperImplMixin.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/mixins/resources/ResourceManagerHelperImplMixin.java @@ -2,7 +2,7 @@ package dev.zenfyr.pulsar.impl.mixins.resources; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import dev.zenfyr.pulsar.api.resources.ServerReloadersEvent; +import dev.zenfyr.pulsar.api.resources.ServerReloadListenersEvent; import dev.zenfyr.pulsar.impl.resources.ContextImpl; import dev.zenfyr.pulsar.impl.resources.InternalContentsAccessor; import dev.zenfyr.pulsar.impl.resources.InternalContext; @@ -41,10 +41,10 @@ public class ResourceManagerHelperImplMixin { } toAdd.add(listener); }, - reloaderType -> - ((InternalContentsAccessor) internal.contents()).pulsar$getReloader(reloaderType)); + reloaderType -> ((InternalContentsAccessor) internal.contents()) + .pulsar$getReloadListener(reloaderType)); - ServerReloadersEvent.EVENT.invoker().onServerReloaders(context); + ServerReloadListenersEvent.EVENT.invoker().onServerReload(context); } return lastSize; } diff --git a/src/main/java/dev/zenfyr/pulsar/impl/resources/ContextImpl.java b/src/main/java/dev/zenfyr/pulsar/impl/resources/ContextImpl.java index b07a41b..bcf9bb3 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/resources/ContextImpl.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/resources/ContextImpl.java @@ -1,7 +1,7 @@ package dev.zenfyr.pulsar.impl.resources; -import dev.zenfyr.pulsar.api.resources.ReloaderType; -import dev.zenfyr.pulsar.api.resources.ServerReloadersEvent; +import dev.zenfyr.pulsar.api.resources.ReloadListenerType; +import dev.zenfyr.pulsar.api.resources.ServerReloadListenersEvent; import java.util.function.Consumer; import java.util.function.Function; import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener; @@ -14,8 +14,8 @@ public record ContextImpl( RegistryAccess registryAccess, FeatureFlagSet featureFlags, Consumer registrar, - Function, PreparableReloadListener> provider) - implements ServerReloadersEvent.Context { + Function, PreparableReloadListener> provider) + implements ServerReloadListenersEvent.Context { @Override public void register(ResourceLocation location, PreparableReloadListener reloadListener) { @@ -28,7 +28,7 @@ public record ContextImpl( } @Override - public T reloader(ReloaderType type) { + public T getListener(ReloadListenerType type) { return (T) provider().apply(type); } } diff --git a/src/testmod/java/dev/zenfyr/pulsar/gametest/common/ServerReloadersEventTest.java b/src/testmod/java/dev/zenfyr/pulsar/gametest/common/ServerReloadersEventTest.java index a6b94ea..b4b41ca 100644 --- a/src/testmod/java/dev/zenfyr/pulsar/gametest/common/ServerReloadersEventTest.java +++ b/src/testmod/java/dev/zenfyr/pulsar/gametest/common/ServerReloadersEventTest.java @@ -1,7 +1,7 @@ package dev.zenfyr.pulsar.gametest.common; -import dev.zenfyr.pulsar.api.resources.ReloaderType; -import dev.zenfyr.pulsar.api.resources.ServerReloadersEvent; +import dev.zenfyr.pulsar.api.resources.ReloadListenerType; +import dev.zenfyr.pulsar.api.resources.ServerReloadListenersEvent; import dev.zenfyr.pulsar.gametest.util.Utils; import dev.zenfyr.pulsar.impl.PulsarLog; import java.util.Objects; @@ -13,13 +13,13 @@ import net.minecraft.server.packs.resources.ResourceManagerReloadListener; public class ServerReloadersEventTest implements ModInitializer { - public static final ReloaderType TYPE = - ReloaderType.create(new ResourceLocation("pulsar", "test-reloader")); + public static final ReloadListenerType TYPE = + ReloadListenerType.create(new ResourceLocation("pulsar", "test-reloader")); private static String trigger = null; @Override public void onInitialize() { - ServerReloadersEvent.EVENT.listen( + ServerReloadListenersEvent.EVENT.listen( context -> context.register(TYPE.location(), new TestReloader(context))); // make sure that the reloader triggered @@ -28,9 +28,9 @@ public class ServerReloadersEventTest implements ModInitializer { public static class TestReloader implements ResourceManagerReloadListener { - private final ServerReloadersEvent.Context context; + private final ServerReloadListenersEvent.Context context; - public TestReloader(ServerReloadersEvent.Context context) { + public TestReloader(ServerReloadListenersEvent.Context context) { this.context = context; } @@ -40,7 +40,7 @@ public class ServerReloadersEventTest implements ModInitializer { PulsarLog.logger() .info( "reload {}: {}", - context.reloader(TYPE), + context.getListener(TYPE), context .registryAccess() .registryOrThrow(Registries.DIMENSION_TYPE)