mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Run commands in effects
This commit is contained in:
parent
54eff0e27f
commit
16795871c3
@ -150,6 +150,33 @@ public class IrisEffect {
|
|||||||
@ArrayType(min = 1, type = IrisCommand.class)
|
@ArrayType(min = 1, type = IrisCommand.class)
|
||||||
@Desc("Run commands, at the exact location of the player")
|
@Desc("Run commands, at the exact location of the player")
|
||||||
private KList<IrisCommand> rawCommands = new KList<>();
|
private KList<IrisCommand> rawCommands = new KList<>();
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@MinNumber(-8)
|
||||||
|
@MaxNumber(8)
|
||||||
|
@Desc("The alt x, usually represents motion if the particle count is zero. Otherwise an offset.")
|
||||||
|
private double commandOffsetX = 0;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@MinNumber(-8)
|
||||||
|
@MaxNumber(8)
|
||||||
|
@Desc("The alt y, usually represents motion if the particle count is zero. Otherwise an offset.")
|
||||||
|
private double commandOffsetY = 0;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@MinNumber(-8)
|
||||||
|
@MaxNumber(8)
|
||||||
|
@Desc("The alt z, usually represents motion if the particle count is zero. Otherwise an offset.")
|
||||||
|
private double commandOffsetZ = 0;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@Desc("Randomize the altX from -altX to altX")
|
||||||
|
private boolean commandRandomAltX = true;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@Desc("Randomize the altY from -altY to altY")
|
||||||
|
private boolean commandRandomAltY = false;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@Desc("Randomize the altZ from -altZ to altZ")
|
||||||
|
private boolean commandRandomAltZ = true;
|
||||||
|
@DependsOn({"rawCommands"})
|
||||||
|
@Desc("Randomize location for all separate commands (true), or run all on the same location (false)")
|
||||||
|
private boolean commandAllRandomLocations = true;
|
||||||
|
|
||||||
public boolean canTick() {
|
public boolean canTick() {
|
||||||
return latch.aquire(() -> new ChronoLatch(interval)).flip();
|
return latch.aquire(() -> new ChronoLatch(interval)).flip();
|
||||||
@ -221,10 +248,18 @@ public class IrisEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (rawCommands.isNotEmpty()) {
|
if (rawCommands.isNotEmpty()) {
|
||||||
Location part = p.getLocation().clone();
|
Location part = p.getLocation().clone().add(
|
||||||
|
commandRandomAltX ? RNG.r.d(-commandOffsetX, commandOffsetX) : commandOffsetX,
|
||||||
|
commandRandomAltY ? RNG.r.d(-commandOffsetY, commandOffsetY) : commandOffsetY,
|
||||||
|
commandRandomAltZ ? RNG.r.d(-commandOffsetZ, commandOffsetZ) : commandOffsetZ);
|
||||||
for (IrisCommand rawCommand : rawCommands) {
|
for (IrisCommand rawCommand : rawCommands) {
|
||||||
rawCommand.run(part);
|
rawCommand.run(part);
|
||||||
|
if (commandAllRandomLocations) {
|
||||||
|
part = p.getLocation().clone().add(
|
||||||
|
commandRandomAltX ? RNG.r.d(-commandOffsetX, commandOffsetX) : commandOffsetX,
|
||||||
|
commandRandomAltY ? RNG.r.d(-commandOffsetY, commandOffsetY) : commandOffsetY,
|
||||||
|
commandRandomAltZ ? RNG.r.d(-commandOffsetZ, commandOffsetZ) : commandOffsetZ);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user