Private
Public Access
1
0

Registering firefly particle.

This commit is contained in:
2025-06-06 00:24:29 +01:00
parent 31acf8469f
commit c76cb33716
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 dev.micle.firefly_bush_backport.FireflyBushBackport;
import net.minecraft.core.particles.ParticleType; import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class ModParticles { public class ModParticles {
public static final DeferredRegister<ParticleType<?>> PARTICLE_TYPES = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, FireflyBushBackport.MOD_ID); 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) { public static void register(IEventBus modEventBus) {
PARTICLE_TYPES.register(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.config.Config;
import dev.micle.firefly_bush_backport.creative_mode_tab.ModCreativeModeTabs; import dev.micle.firefly_bush_backport.creative_mode_tab.ModCreativeModeTabs;
import dev.micle.firefly_bush_backport.item.ModItems; 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.particle.ModParticles;
import dev.micle.firefly_bush_backport.sound.ModSounds; import dev.micle.firefly_bush_backport.sound.ModSounds;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -13,6 +14,7 @@ import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.AddReloadListenerEvent; import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.event.server.ServerStartedEvent; import net.minecraftforge.event.server.ServerStartedEvent;
@ -32,7 +34,6 @@ public class Proxy implements IProxy {
ModItems.register(modEventBus); ModItems.register(modEventBus);
ModCreativeModeTabs.register(modEventBus); ModCreativeModeTabs.register(modEventBus);
ModSounds.register(modEventBus); ModSounds.register(modEventBus);
ModParticles.register(modEventBus);
// Register mod event bus listeners // Register mod event bus listeners
modEventBus.addListener(Proxy::setup); modEventBus.addListener(Proxy::setup);
@ -79,16 +80,24 @@ public class Proxy implements IProxy {
// Client setup // Client setup
public static class Client extends Proxy { public static class Client extends Proxy {
public Client() { public Client() {
// Register mod event bus listeners
IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus(); IEventBus modEventBus = FireflyBushBackport.getFMLJavaModLoadingContext().getModEventBus();
ModParticles.register(modEventBus);
// Register mod event bus listeners
modEventBus.addListener(Client::setup); modEventBus.addListener(Client::setup);
modEventBus.addListener(Client::postSetup); modEventBus.addListener(Client::postSetup);
modEventBus.addListener(Client::registerParticleFactories);
} }
private static void setup(FMLClientSetupEvent event) {} private static void setup(FMLClientSetupEvent event) {}
private static void postSetup(FMLLoadCompleteEvent event) {} private static void postSetup(FMLLoadCompleteEvent event) {}
private static void registerParticleFactories(RegisterParticleProvidersEvent event) {
event.registerSpriteSet(ModParticles.FIREFLY.get(), FireflyParticle.FireflyProvider::new);
}
@Override @Override
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public Player getClientPlayer() { public Player getClientPlayer() {