From b365c1cf06492d49452d6867cbc2e975521522ac Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Tue, 12 Aug 2014 19:02:48 +0200 Subject: [PATCH] more work on leaf particles --- .../client/BetterFoliageClient.java | 4 +-- .../render/impl/EntityFXFallingLeaves.java | 26 ++++++++++++++++-- .../textures/blocks/falling_leaf.png | Bin 111 -> 115 bytes 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/mods/betterfoliage/client/BetterFoliageClient.java b/src/main/java/mods/betterfoliage/client/BetterFoliageClient.java index 90be547..3f251f3 100644 --- a/src/main/java/mods/betterfoliage/client/BetterFoliageClient.java +++ b/src/main/java/mods/betterfoliage/client/BetterFoliageClient.java @@ -102,8 +102,8 @@ public class BetterFoliageClient { } public static void onRandomDisplayTick(Block block, World world, int x, int y, int z) { - if (!leaves.matchesID(block)) return; - if (world.getBlock(x, y - 1, z).getMaterial() != Material.air) return; + if (!leaves.matchesID(block) || !world.isAirBlock(x, y - 1, z)) return; + if (Math.random() > 0.25) return; Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFXFallingLeaves(world, x, y, z)); } diff --git a/src/main/java/mods/betterfoliage/client/render/impl/EntityFXFallingLeaves.java b/src/main/java/mods/betterfoliage/client/render/impl/EntityFXFallingLeaves.java index 4217dd1..9eb8a20 100644 --- a/src/main/java/mods/betterfoliage/client/render/impl/EntityFXFallingLeaves.java +++ b/src/main/java/mods/betterfoliage/client/render/impl/EntityFXFallingLeaves.java @@ -1,6 +1,7 @@ package mods.betterfoliage.client.render.impl; import java.awt.Color; +import java.util.Random; import mods.betterfoliage.client.BetterFoliageClient; import net.minecraft.block.Block; @@ -16,10 +17,18 @@ import cpw.mods.fml.relauncher.SideOnly; public class EntityFXFallingLeaves extends EntityFX { public static float biomeBrightnessMultiplier = 0.5f; + public double motionJitterX; + public double motionJitterY; + public boolean wasOnGround = false; public EntityFXFallingLeaves(World world, int x, int y, int z) { super(world, x + 0.5, y, z + 0.5); - motionY = -0.1d; + Random random = new Random(); + motionJitterX = Math.abs(random.nextGaussian()) * 0.005; + motionJitterY = Math.abs(random.nextGaussian()) * 0.005; + particleMaxAge = 40 + random.nextInt(40); + motionY = -0.05d; + particleScale = 0.75f; particleIcon = BetterFoliageClient.leafParticles.icon; @@ -32,7 +41,20 @@ public class EntityFXFallingLeaves extends EntityFX { @Override public void onUpdate() { super.onUpdate(); - motionY = -0.1d; + + if (onGround || wasOnGround) { + wasOnGround = true; + motionX = 0.0; + motionZ = 0.0; + motionZ = 0.0; + if (!wasOnGround) { + particleAge = particleMaxAge - 10; + } + } else { + motionX = BetterFoliageClient.wind.currentX + motionJitterX; + motionZ = BetterFoliageClient.wind.currentZ + motionJitterY; + motionY = -0.05d; + } } @Override diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf.png index 94df28f49327f984843d3a51da7e8a28f7868b53..ea8fb963e568176c3274e05726cd5db658bc87d1 100644 GIT binary patch delta 63 zcmc~Vo?vOE>gnPb!f`!0fuZTYL&38%Gyn4#@cATw7?Kk#6Bq>=PBSqw%xl$HI_pxs Q6$21>y85}Sb4q9e04e1dG5`Po delta 59 zcmXTUpI~XG=;`7Z!f`!0fuYHFw%OnLmc`HN*;4p8%uP%jSOP6xFfi