Implemented particle spawning for bush. Added workaround for incorrect sky light brightness, checking if moon is visible first.
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
package dev.micle.firefly_bush_backport.block;
|
package dev.micle.firefly_bush_backport.block;
|
||||||
|
|
||||||
|
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.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
@ -36,6 +37,14 @@ public class FireflyBushBlock extends BushBlock implements BonemealableBlock {
|
|||||||
&& level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, blockPos.getX(), blockPos.getZ()) <= blockPos.getY()) {
|
&& level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, blockPos.getX(), blockPos.getZ()) <= blockPos.getY()) {
|
||||||
level.playLocalSound(blockPos, ModSounds.FIREFLY_BUSH_IDLE.get(), SoundSource.AMBIENT, 1.0F, 1.0F, false);
|
level.playLocalSound(blockPos, ModSounds.FIREFLY_BUSH_IDLE.get(), SoundSource.AMBIENT, 1.0F, 1.0F, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((isMoonVisible(level) || level.getMaxLocalRawBrightness(blockPos) <= FIREFLY_SPAWN_MAX_BRIGHTNESS_LEVEL) &&
|
||||||
|
randomSource.nextDouble() <= FIREFLY_CHANCE_PER_TICK) {
|
||||||
|
double d0 = blockPos.getX() + randomSource.nextDouble() * FIREFLY_HORIZONTAL_RANGE - FIREFLY_VERTICAL_RANGE;
|
||||||
|
double d1 = blockPos.getY() + randomSource.nextDouble() * FIREFLY_VERTICAL_RANGE;
|
||||||
|
double d2 = blockPos.getZ() + randomSource.nextDouble() * FIREFLY_HORIZONTAL_RANGE - FIREFLY_VERTICAL_RANGE;
|
||||||
|
level.addParticle(ModParticles.FIREFLY.get(), d0, d1, d2, 0.0, 0.0, 0.0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isMoonVisible(Level level) {
|
public boolean isMoonVisible(Level level) {
|
||||||
|
Reference in New Issue
Block a user