Private
Public Access
1
0

Registering firefly particle.

This commit is contained in:
2025-06-06 00:24:29 +01:00
parent cdf67dd28b
commit 573243da5d
2 changed files with 16 additions and 2 deletions

View File

@ -2,13 +2,18 @@ package dev.micle.firefly_bush_backport.particle;
import dev.micle.firefly_bush_backport.FireflyBushBackport;
import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class ModParticles {
public static final DeferredRegister<ParticleType<?>> PARTICLE_TYPES = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, FireflyBushBackport.MOD_ID);
public static final RegistryObject<ParticleType<SimpleParticleType>> FIREFLY = PARTICLE_TYPES.register("firefly",
() -> new SimpleParticleType(false));
public static void register(IEventBus modEventBus) {
PARTICLE_TYPES.register(modEventBus);
}

View File

@ -5,6 +5,7 @@ import dev.micle.firefly_bush_backport.block.ModBlocks;
import dev.micle.firefly_bush_backport.config.Config;
import dev.micle.firefly_bush_backport.creative_mode_tab.ModCreativeModeTabs;
import dev.micle.firefly_bush_backport.item.ModItems;
import dev.micle.firefly_bush_backport.particle.FireflyParticle;
import dev.micle.firefly_bush_backport.particle.ModParticles;
import dev.micle.firefly_bush_backport.sound.ModSounds;
import net.minecraft.client.Minecraft;
@ -13,6 +14,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.event.server.ServerStartedEvent;
@ -32,7 +34,6 @@ public class Proxy implements IProxy {
ModItems.register(modEventBus);
ModCreativeModeTabs.register(modEventBus);
ModSounds.register(modEventBus);
ModParticles.register(modEventBus);
// Register mod event bus listeners
modEventBus.addListener(Proxy::setup);
@ -79,16 +80,24 @@ public class Proxy implements IProxy {
// Client setup
public static class Client extends Proxy {
public Client() {
// Register mod event bus listeners
IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus();
ModParticles.register(modEventBus);
// Register mod event bus listeners
modEventBus.addListener(Client::setup);
modEventBus.addListener(Client::postSetup);
modEventBus.addListener(Client::registerParticleFactories);
}
private static void setup(FMLClientSetupEvent event) {}
private static void postSetup(FMLLoadCompleteEvent event) {}
private static void registerParticleFactories(RegisterParticleProvidersEvent event) {
event.registerSpriteSet(ModParticles.FIREFLY.get(), FireflyParticle.FireflyProvider::new);
}
@Override
@OnlyIn(Dist.CLIENT)
public Player getClientPlayer() {