[1.7.2]Вызов эффектов ванильными предметами

183
1
5
Добрый вечер, имеется эффект падающей листвы. Как мне спавнить его под ванильными блоками листвы? Если что, вызываю вот так:
Код:
    @Override    
        public void randomDisplayTick(World world, int i, int j, int k, Random random)
        {
            if(random.nextInt(32) != 0) return;
            if(!world.isAirBlock(i, j - 1, k)) return;
            
            double d = (float)i + random.nextFloat();
            double d1 = (float)j + 0.0F;
            double d2 = (float)k + random.nextFloat();
            EntityFXManager.spawnParticle("leaves", d, d1, d2, 0.0D, 0.0D, 0.0D);
        }
Пробовал с помощью ивентов, но пока не шибко в этом разбираюсь
 
Пытался вот таким ивентом:
Код:
public class FXLSpawn {

@SubscribeEvent
public void randomDisplayTick(World world, int i, int j, int k, Random random, Block block)
{
if(block.getMaterial() == Material.leaves) 
{
if(random.nextInt(32) != 0) return;
if(!world.isAirBlock(i, j - 1, k)) return;

double d = (float)i + random.nextFloat();
double d1 = (float)j + 0.0F;
double d2 = (float)k + random.nextFloat();
EntityFXManager.spawnParticle("leaves", d, d1, d2, 0.0D, 0.0D, 0.0D);
}
}

}
Выдает ошибку:
[01:25:30] [Client thread/ERROR] [FML]: Caught exception from hope
java.lang.IllegalArgumentException: Method public void mods.red.hopew.FXLSpawn.randomDisplayTick(net.minecraft.world.World,int,int,int,java.util.Random,net.minecraft.block.Block) has @SubscribeEvent annotation, but requires 6 arguments. Event handler methods must require a single argument.
at cpw.mods.fml.common.eventhandler.EventBus.register(EventBus.java:59) ~[EventBus.class:?]
at mods.red.hopew.HopeCore.preLoad(HopeCore.java:34) ~[HopeCore.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) ~[FMLModContainer.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:?]
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:690) [Loader.class:?]
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:585) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:892) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
 
Не-не-не, метод ивента должен иметь один аргумент, который extends Event.
А вот как тикать блок я фиг его..
 
Назад
Сверху