Skip to content

Commit c1e82bb

Browse files
committed
Oops another update
1 parent 2986283 commit c1e82bb

File tree

87 files changed

+1897
-876
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+1897
-876
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.sashie</groupId>
88
<artifactId>skDragonRecode</artifactId>
9-
<version>1.0.3</version>
9+
<version>1.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SkDragonRecode</name>
@@ -81,7 +81,7 @@
8181
<dependency>
8282
<groupId>org.spigotmc</groupId>
8383
<artifactId>spigot-api</artifactId>
84-
<version>1.20.2-R0.1-SNAPSHOT</version>
84+
<version>1.21-R0.1-SNAPSHOT</version>
8585
<scope>provided</scope>
8686
</dependency>
8787
<dependency>

src/main/java/me/sashie/skdragon/EffectAPI.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ private static EffectData set(String id, EffectData effect, SkriptNode skriptNod
6767
*
6868
* @param id ID of the effect
6969
*/
70-
public static boolean unregister(String id, SkriptNode skriptNode) {
70+
public static void unregister(String id, SkriptNode skriptNode) {
7171
EffectData effect = ALL_EFFECTS.getOrDefault(id, null);
7272
if (effect == null) {
7373
SkDragonRecode.warn("Effect with id '" + id + "' does not exist!", skriptNode);
74-
return false;
74+
return;
7575
}
7676
synchronized (effect) {
7777
if (isRunning(id)) {
@@ -80,7 +80,6 @@ public static boolean unregister(String id, SkriptNode skriptNode) {
8080
releasePools(effect);
8181
ALL_EFFECTS.remove(id);
8282
}
83-
return true;
8483
}
8584

8685
/**
@@ -258,6 +257,7 @@ private static void restart(
258257
public static void stop(String id, SkriptNode skriptNode) {
259258
Integer taskId = ACTIVE_RUNNABLES.get(id);
260259
if (taskId != null) {
260+
ALL_EFFECTS.get(id).triggerStop();
261261
Bukkit.getScheduler().cancelTask(taskId);
262262
ACTIVE_RUNNABLES.remove(id);
263263
} else {
@@ -269,9 +269,11 @@ public static void stop(String id, SkriptNode skriptNode) {
269269
* Stops all effects
270270
*/
271271
public static void stopAll() {
272-
if (ACTIVE_RUNNABLES == null || ACTIVE_RUNNABLES.isEmpty())
273-
return;
272+
if (ACTIVE_RUNNABLES.isEmpty()) return;
274273

274+
for (String id : ALL_EFFECTS.keySet()) {
275+
ALL_EFFECTS.get(id).triggerStop();
276+
}
275277
for (Integer taskId : ACTIVE_RUNNABLES.values()) {
276278
Bukkit.getScheduler().cancelTask(taskId);
277279
}
@@ -284,7 +286,6 @@ public static void stopAll() {
284286
* @param id ID of the effect
285287
*/
286288
public static boolean isRunning(String id) {
287-
// Bukkit.getScheduler().isCurrentlyRunning(taskId); // for some reason this returns false on running effect?
288289
return ACTIVE_RUNNABLES.containsKey(id);
289290
}
290291
}

src/main/java/me/sashie/skdragon/PropertyAPI.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import me.sashie.skdragon.util.ParticleUtils;
1010
import org.bukkit.Particle;
1111
import org.bukkit.util.Vector;
12+
import org.jetbrains.annotations.NotNull;
1213

1314
public class PropertyAPI {
1415

@@ -52,17 +53,17 @@ public static void setReverse(EffectData data, boolean reverse) {
5253
}
5354
}
5455

55-
public static void setAxis(EffectData data, double x, double y, double z) {
56+
public static void setAxis(EffectData data, float x, float y, float z) {
5657
if (data instanceof IAxis) {
5758
((IAxis) data).getAxisProperty().setAxis(x, y, z);
5859
}
5960
}
6061

61-
public static void setAxis(EffectData data, Vector vector) {
62-
setAxis(data, vector.getX(), vector.getY(), vector.getZ());
62+
public static void setAxis(EffectData data, @NotNull Vector vector) {
63+
setAxis(data, (float) vector.getX(), (float) vector.getY(), (float) vector.getZ());
6364
}
6465

65-
public static void setVelocity(EffectData data, double x, double y, double z) {
66+
public static void setVelocity(EffectData data, float x, float y, float z) {
6667
if (data instanceof IVelocity) {
6768
((IVelocity) data).getVelocityProperty().setAngularVelocity(x, y, z);
6869
}
@@ -129,13 +130,13 @@ public static void setParticleType(EffectData data, int index, Particle type) {
129130

130131
public static void setParticleSpeed(ParticleBuilder<?> particle, float speed) {
131132
if (particle instanceof DirectionParticle) {
132-
((DirectionParticle) particle).getParticleData().speed = speed;
133+
((DirectionParticle) particle).getParticleData().setSpeed(speed);
133134
}
134135
}
135136

136137
public static void setParticleDirection(ParticleBuilder<?> particle, double x, double y, double z) {
137138
if (particle instanceof DirectionParticle) {
138-
((DirectionParticle) particle).getParticleData().direction = new Vector(x, y, z);
139+
((DirectionParticle) particle).getParticleData().setDirection(new Vector(x, y, z));
139140
}
140141
}
141142

src/main/java/me/sashie/skdragon/SkDragonRecode.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,13 @@
3333
import org.bukkit.command.CommandSender;
3434
import org.bukkit.command.PluginCommand;
3535
import org.bukkit.command.TabExecutor;
36-
import org.bukkit.configuration.MemoryConfiguration;
37-
import org.bukkit.configuration.MemoryConfigurationOptions;
3836
import org.bukkit.configuration.file.FileConfiguration;
3937
import org.bukkit.configuration.file.YamlConfiguration;
4038
import org.bukkit.plugin.Plugin;
4139
import org.bukkit.plugin.java.JavaPlugin;
4240

4341
import java.io.File;
4442
import java.io.IOException;
45-
import java.util.Map;
4643
import java.util.logging.Logger;
4744

4845
public final class SkDragonRecode extends JavaPlugin {

src/main/java/me/sashie/skdragon/commands/EffectCommand.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
295295
if (particle instanceof DirectionParticle) {
296296
float speed = Float.parseFloat(args[4]);
297297

298-
((DirectionParticle) particle).getParticleData().speed = speed;
298+
((DirectionParticle) particle).getParticleData().setSpeed(speed);
299299
player.sendMessage("Set speed for particle " + id + " at index " + particleIndex + " to " + speed);
300300
} else {
301301
player.sendMessage("Only directional particles have a speed property");
@@ -313,7 +313,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
313313
float y = Float.parseFloat(args[5]);
314314
float z = Float.parseFloat(args[6]);
315315

316-
((DirectionParticle) particle).getParticleData().direction = new Vector(x, y, z);
316+
((DirectionParticle) particle).getParticleData().setDirection(new Vector(x, y, z));
317317
player.sendMessage("Set direction for particle " + id + " at index " + particleIndex + " to (" + x + ", " + y + ", " + z + ")");
318318
} else {
319319
player.sendMessage("Only directional particles have a direction property");
@@ -339,6 +339,19 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
339339
break;
340340
}
341341

342+
case "ui":
343+
if (args.length < 3) {
344+
player.sendMessage("Usage: /skdragon register <id> <effect>");
345+
break;
346+
}
347+
String type = args[2];
348+
if (!Utils.isValidEnum(ParticleEffect.class, type)) {
349+
player.sendMessage("The effect " + type + " doesn't exist");
350+
break;
351+
}
352+
353+
EffectAPI.register(id, ParticleEffect.valueOf(type.toUpperCase()), null);
354+
player.sendMessage("Effect " + id + " registered.");
342355
break;
343356

344357
default:

src/main/java/me/sashie/skdragon/effects/EffectData.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import me.sashie.skdragon.SkDragonRecode;
88
import me.sashie.skdragon.debug.SkriptNode;
9-
import me.sashie.skdragon.particles.Value3d;
9+
import me.sashie.skdragon.math.Value3d;
1010
import me.sashie.skdragon.particles.data.ParticleData;
1111
import me.sashie.skdragon.util.DynamicLocation;
1212
import me.sashie.skdragon.util.EffectUtils;
@@ -43,7 +43,7 @@ public EffectData() {
4343
* Defines properties specific to this effect only
4444
* Used to warn a user if an effect can use a certain property expression
4545
*
46-
* @return List of effect specific properties
46+
* @return Array of effect specific properties
4747
*/
4848
public abstract EffectProperty[] acceptProperties();
4949

@@ -64,8 +64,6 @@ public void setDefaultParticles(ParticleBuilder<?>... builders) {
6464

6565
public void setParticles(ParticleData[] data, SkriptNode skriptNode) {
6666
ParticleBuilder<?>[] particle = ParticleUtils.isSupported(data, skriptNode);
67-
if (particle == null) return;
68-
6967
setParticles(particle, skriptNode);
7068
}
7169

@@ -83,11 +81,9 @@ public void setParticles(ParticleBuilder<?>[] builders, SkriptNode skriptNode) {
8381
}
8482
if (builders.length > this.builders.length) {
8583
SkDragonRecode.warn("This effect only uses " + this.builders.length + " particles not " + builders.length, skriptNode);
86-
return;
8784
} else {
8885
System.arraycopy(builders, 0, this.builders, 0, builders.length);
8986
}
90-
9187
}
9288
}
9389

@@ -158,16 +154,16 @@ public void resetLocations() {
158154
}
159155
}
160156

161-
public void setDisplacement(double x, double y, double z) {
157+
public void setDisplacement(float x, float y, float z) {
162158
this.displacement.setX(x);
163159
this.displacement.setY(y);
164160
this.displacement.setZ(z);
165161
}
166162

167163
public void setDisplacement(Vector displacement) {
168-
this.displacement.setX(displacement.getX());
169-
this.displacement.setY(displacement.getY());
170-
this.displacement.setZ(displacement.getZ());
164+
this.displacement.setX((float) displacement.getX());
165+
this.displacement.setY((float) displacement.getY());
166+
this.displacement.setZ((float) displacement.getZ());
171167
}
172168

173169
public Value3d getDisplacement() {
@@ -185,4 +181,8 @@ public void triggerStop(boolean triggerStop) {
185181
this.stopTriggered = triggerStop;
186182
}
187183

184+
public void triggerStop() {
185+
this.stopTriggered = true;
186+
}
187+
188188
}

src/main/java/me/sashie/skdragon/effects/Parametric2DEffect.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package me.sashie.skdragon.effects;
22

3-
import me.sashie.skdragon.util.Utils;
3+
import me.sashie.skdragon.util.MathUtils;
44

55
/**
66
* Created by Sashie on 8/11/2017.
@@ -13,12 +13,12 @@ public Parametric2DEffect() {
1313
this.getDensityProperty().initDensity(60);
1414
}
1515

16-
public abstract double vectorX(double angle);
17-
public abstract double vectorZ(double angle);
16+
public abstract float vectorX(float angle);
17+
public abstract float vectorZ(float angle);
1818

1919
@Override
2020
public void math(float step) {
21-
double angle = step * Utils.PI2 / this.getDensityProperty().getDensity(1);
21+
float angle = step * MathUtils.PI2 / this.getDensityProperty().getDensity(1);
2222
v.setX(vectorX(angle));
2323
v.setZ(vectorZ(angle));
2424
}

src/main/java/me/sashie/skdragon/effects/Parametric3DEffect.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package me.sashie.skdragon.effects;
22

3-
import me.sashie.skdragon.util.Utils;
3+
import me.sashie.skdragon.util.MathUtils;
44

55
public abstract class Parametric3DEffect extends SimpleEffect {
66

77
public Parametric3DEffect() {
88
this.getDensityProperty().initDensity(60, 60);
99
}
1010

11-
public abstract double vectorX(double angle, double angle2);
12-
public abstract double vectorY(double angle, double angle2);
13-
public abstract double vectorZ(double angle, double angle2);
11+
public abstract float vectorX(float angle, float angle2);
12+
public abstract float vectorY(float angle, float angle2);
13+
public abstract float vectorZ(float angle, float angle2);
1414

1515
@Override
1616
public void math(float step) {
17-
double angle = step * Utils.PI2 / this.getDensityProperty().getDensity(1);
18-
double angle2 = step * Utils.PI2 / this.getDensityProperty().getDensity(2);
17+
float angle = step * MathUtils.PI2 / this.getDensityProperty().getDensity(1);
18+
float angle2 = step * MathUtils.PI2 / this.getDensityProperty().getDensity(2);
1919
v.setX(vectorX(angle, angle2));
2020
v.setY(vectorY(angle, angle2));
2121
v.setZ(vectorZ(angle, angle2));

src/main/java/me/sashie/skdragon/effects/ParticleEffect.java

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package me.sashie.skdragon.effects;
22

3-
import me.sashie.skdragon.effects.simple.Circle;
4-
import me.sashie.skdragon.effects.simple.Heart;
5-
import me.sashie.skdragon.effects.simple.Sphere;
6-
import me.sashie.skdragon.effects.simple.SphericalWave;
3+
import me.sashie.skdragon.effects.simple.*;
74
import me.sashie.skdragon.effects.simple.parametric.*;
85
import me.sashie.skdragon.effects.special.*;
96
import me.sashie.skdragon.effects.targets.Arc;
@@ -25,6 +22,12 @@ public EffectData getEffectData() {
2522
return new Circle();
2623
}
2724
},
25+
ELLIPSE {
26+
@Override
27+
public EffectData getEffectData() {
28+
return new Ellipse();
29+
}
30+
},
2831
EPICYCLOID {
2932
@Override
3033
public EffectData getEffectData() {
@@ -58,7 +61,13 @@ public EffectData getEffectData() {
5861
SPIRAL {
5962
@Override
6063
public EffectData getEffectData() {
61-
return new Spiral3D();
64+
return new Spiral();
65+
}
66+
},
67+
SPIRAL_CIRCLE {
68+
@Override
69+
public EffectData getEffectData() {
70+
return new SpiralCircle();
6271
}
6372
},
6473
SPIROGRAPH {
@@ -99,6 +108,18 @@ public EffectData getEffectData() {
99108
return new Blackhole();
100109
}
101110
},
111+
DRAGON_BREATH {
112+
@Override
113+
public EffectData getEffectData() {
114+
return new Breath();
115+
}
116+
},
117+
/*ITEM_FOUNTAIN {
118+
@Override
119+
public EffectData getEffectData() {
120+
return new ItemFountain();
121+
}
122+
},*/
102123
LASERS {
103124
@Override
104125
public EffectData getEffectData() {
@@ -132,26 +153,27 @@ public EffectData getEffectData() {
132153
RINGS {
133154
@Override
134155
public EffectData getEffectData() {
135-
return new Rings();
156+
return new SpecialTemplate();
136157
}
137158
},
138159

139-
/*Nebula {
160+
/*NEBULA {
140161
@Override
141162
public EffectData getEffectData() {
142163
return new Nebula();
143164
}
144165
},
145-
MAGIC_PORTAL {
166+
TEXT {
146167
@Override
147168
public EffectData getEffectData() {
148-
return new MagicalPortalEffect();
169+
return new Text();
149170
}
150171
},
151-
TEXT {
172+
*/
173+
/*MAGIC_PORTAL {
152174
@Override
153175
public EffectData getEffectData() {
154-
return new Text();
176+
return new MagicalPortalEffect();
155177
}
156178
},
157179
PHYSICS {
@@ -160,6 +182,12 @@ public EffectData getEffectData() {
160182
return new PhysicsParticleEffect();
161183
}
162184
},*/
185+
TORNADO {
186+
@Override
187+
public EffectData getEffectData() {
188+
return new TornadoEffect();
189+
}
190+
},
163191

164192
WINGS {
165193
@Override

0 commit comments

Comments
 (0)