Skip to content

Commit 0d33e7c

Browse files
committed
Update newer modules
1 parent d8f8e78 commit 0d33e7c

9 files changed

Lines changed: 71 additions & 31 deletions

File tree

src/main/java/ch/njol/skript/Skript.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,10 @@
6767
import org.skriptlang.skript.bukkit.displays.DisplayModule;
6868
import org.skriptlang.skript.bukkit.furnace.FurnaceModule;
6969
import org.skriptlang.skript.bukkit.input.InputModule;
70+
import org.skriptlang.skript.bukkit.interactions.InteractionModule;
7071
import org.skriptlang.skript.bukkit.log.runtime.BukkitRuntimeErrorConsumer;
7172
import org.skriptlang.skript.bukkit.loottables.LootTableModule;
73+
import org.skriptlang.skript.bukkit.particles.ParticleModule;
7274
import org.skriptlang.skript.bukkit.registration.BukkitSyntaxInfos;
7375
import org.skriptlang.skript.bukkit.tags.TagModule;
7476
import org.skriptlang.skript.common.CommonModule;
@@ -567,9 +569,7 @@ public void onEnable() {
567569
LootTableModule.load();
568570
skript.loadModules(
569571
new CommonModule(),
570-
new BukkitModule(),
571-
new InteractionModule(),
572-
new ParticleModule());
572+
new BukkitModule());
573573
} catch (final Exception e) {
574574
exception(e, "Could not load required .class files: " + e.getLocalizedMessage());
575575
setEnabled(false);

src/main/java/org/skriptlang/skript/bukkit/BukkitModule.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import org.skriptlang.skript.bukkit.damagesource.DamageSourceModule;
88
import org.skriptlang.skript.bukkit.entity.EntityModule;
99
import org.skriptlang.skript.bukkit.fishing.FishingModule;
10+
import org.skriptlang.skript.bukkit.interactions.InteractionModule;
1011
import org.skriptlang.skript.bukkit.itemcomponents.ItemComponentModule;
12+
import org.skriptlang.skript.bukkit.particles.ParticleModule;
1113
import org.skriptlang.skript.bukkit.potion.PotionModule;
1214

1315
import java.util.List;
@@ -20,8 +22,9 @@ public class BukkitModule implements AddonModule {
2022
new DamageSourceModule(this),
2123
new ItemComponentModule(this),
2224
new PotionModule(this),
23-
new FishingModule(this)
24-
25+
new FishingModule(this),
26+
new InteractionModule(this),
27+
new ParticleModule(this)
2528
);
2629

2730
private List<AddonModule> filteredSubmodules;

src/main/java/org/skriptlang/skript/bukkit/interactions/InteractionModule.java

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,33 @@
44
import org.bukkit.entity.Interaction.PreviousInteraction;
55
import org.jetbrains.annotations.Nullable;
66
import org.skriptlang.skript.addon.AddonModule;
7+
import org.skriptlang.skript.addon.ChildAddonModule;
78
import org.skriptlang.skript.addon.SkriptAddon;
89
import org.skriptlang.skript.bukkit.interactions.elements.conditions.CondIsResponsive;
910
import org.skriptlang.skript.bukkit.interactions.elements.effects.EffMakeResponsive;
1011
import org.skriptlang.skript.bukkit.interactions.elements.expressions.ExprInteractionDimensions;
1112
import org.skriptlang.skript.bukkit.interactions.elements.expressions.ExprLastInteractionDate;
1213
import org.skriptlang.skript.bukkit.interactions.elements.expressions.ExprLastInteractionPlayer;
13-
import org.skriptlang.skript.registration.SyntaxRegistry;
1414

15-
public class InteractionModule implements AddonModule {
15+
public class InteractionModule extends ChildAddonModule {
16+
17+
/**
18+
* Constructs a child addon module with the given parent module.
19+
*
20+
* @param parentModule The parent module that created this child module.
21+
*/
22+
public InteractionModule(AddonModule parentModule) {
23+
super(parentModule);
24+
}
1625

1726
@Override
1827
public void load(SkriptAddon addon) {
19-
SyntaxRegistry registry = addon.syntaxRegistry();
20-
CondIsResponsive.register(registry);
21-
EffMakeResponsive.register(registry);
22-
ExprInteractionDimensions.register(registry);
23-
ExprLastInteractionDate.register(registry);
24-
ExprLastInteractionPlayer.register(registry);
28+
AddonModule.register(addon.syntaxRegistry(), origin(addon),
29+
CondIsResponsive::register,
30+
EffMakeResponsive::register,
31+
ExprInteractionDimensions::register,
32+
ExprLastInteractionDate::register,
33+
ExprLastInteractionPlayer::register);
2534
}
2635

2736
public enum InteractionType {
@@ -48,4 +57,9 @@ public enum InteractionType {
4857
return interact;
4958
}
5059

60+
@Override
61+
public String name() {
62+
return "interactions";
63+
}
64+
5165
}

src/main/java/org/skriptlang/skript/bukkit/interactions/elements/conditions/CondIsResponsive.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import ch.njol.util.Kleenean;
1111
import org.bukkit.entity.Entity;
1212
import org.bukkit.entity.Interaction;
13+
import org.skriptlang.skript.docs.Origin;
1314
import org.skriptlang.skript.registration.SyntaxRegistry;
1415

1516
@Name("Is Responsive")
@@ -22,11 +23,12 @@
2223
@Since("2.14")
2324
public class CondIsResponsive extends PropertyCondition<Entity> {
2425

25-
public static void register(SyntaxRegistry registry) {
26+
public static void register(SyntaxRegistry registry, Origin origin) {
2627
registry.register(
2728
SyntaxRegistry.CONDITION,
2829
infoBuilder(CondIsResponsive.class, PropertyType.BE, "(responsive|:unresponsive)", "entities")
2930
.supplier(CondIsResponsive::new)
31+
.origin(origin)
3032
.build());
3133
}
3234

src/main/java/org/skriptlang/skript/bukkit/interactions/elements/effects/EffMakeResponsive.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.bukkit.entity.Interaction;
1414
import org.bukkit.event.Event;
1515
import org.jetbrains.annotations.Nullable;
16+
import org.skriptlang.skript.docs.Origin;
1617
import org.skriptlang.skript.registration.SyntaxInfo;
1718
import org.skriptlang.skript.registration.SyntaxRegistry;
1819

@@ -26,7 +27,7 @@
2627
@Since("2.14")
2728
public class EffMakeResponsive extends Effect {
2829

29-
public static void register(SyntaxRegistry registry) {
30+
public static void register(SyntaxRegistry registry, Origin origin) {
3031
registry.register(
3132
SyntaxRegistry.EFFECT,
3233
SyntaxInfo.builder(EffMakeResponsive.class)
@@ -35,6 +36,7 @@ public static void register(SyntaxRegistry registry) {
3536
"make %entities% (not |un)responsive"
3637
)
3738
.supplier(EffMakeResponsive::new)
39+
.origin(origin)
3840
.build()
3941
);
4042
}

src/main/java/org/skriptlang/skript/bukkit/interactions/elements/expressions/ExprInteractionDimensions.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.bukkit.entity.Interaction;
1414
import org.bukkit.event.Event;
1515
import org.jetbrains.annotations.Nullable;
16+
import org.skriptlang.skript.docs.Origin;
1617
import org.skriptlang.skript.registration.SyntaxRegistry;
1718

1819
@Name("Interaction Height/Width")
@@ -25,13 +26,14 @@
2526
@Since("2.14")
2627
public class ExprInteractionDimensions extends SimplePropertyExpression<Entity, Number> {
2728

28-
public static void register(SyntaxRegistry registry) {
29+
public static void register(SyntaxRegistry registry, Origin origin) {
2930
registry.register(
3031
SyntaxRegistry.EXPRESSION,
3132
infoBuilder(ExprInteractionDimensions.class, Number.class,
3233
"interaction (height|:width)[s]", "entities",
3334
true)
3435
.supplier(ExprInteractionDimensions::new)
36+
.origin(origin)
3537
.build());
3638
}
3739

src/main/java/org/skriptlang/skript/bukkit/interactions/elements/expressions/ExprLastInteractionDate.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.jetbrains.annotations.Nullable;
1818
import org.skriptlang.skript.bukkit.interactions.InteractionModule;
1919
import org.skriptlang.skript.bukkit.interactions.InteractionModule.InteractionType;
20+
import org.skriptlang.skript.docs.Origin;
2021
import org.skriptlang.skript.registration.SyntaxInfo;
2122
import org.skriptlang.skript.registration.SyntaxRegistry;
2223

@@ -29,14 +30,15 @@ Returns the date of the last attack (left click), or interaction (right click) o
2930
@Since("2.14")
3031
public class ExprLastInteractionDate extends SimplePropertyExpression<Entity, Date> {
3132

32-
public static void register(SyntaxRegistry registry) {
33+
public static void register(SyntaxRegistry registry, Origin origin) {
3334
registry.register(
3435
SyntaxRegistry.EXPRESSION,
3536
SyntaxInfo.Expression.builder(ExprLastInteractionDate.class, Date.class)
3637
.addPatterns(
3738
"[the] last (date|time)[s] [that|when] %entities% (were|was) (attacked|1:interacted with|2:clicked [on])"
3839
)
3940
.supplier(ExprLastInteractionDate::new)
41+
.origin(origin)
4042
.build());
4143
}
4244

src/main/java/org/skriptlang/skript/bukkit/interactions/elements/expressions/ExprLastInteractionPlayer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.jetbrains.annotations.Nullable;
1818
import org.skriptlang.skript.bukkit.interactions.InteractionModule;
1919
import org.skriptlang.skript.bukkit.interactions.InteractionModule.InteractionType;
20+
import org.skriptlang.skript.docs.Origin;
2021
import org.skriptlang.skript.registration.SyntaxInfo;
2122
import org.skriptlang.skript.registration.SyntaxRegistry;
2223

@@ -31,7 +32,7 @@ Returns the last player to attack (left click), or interact (right click) with a
3132
@Since("2.14")
3233
public class ExprLastInteractionPlayer extends SimplePropertyExpression<Entity, OfflinePlayer> {
3334

34-
public static void register(SyntaxRegistry registry) {
35+
public static void register(SyntaxRegistry registry, Origin origin) {
3536
registry.register(
3637
SyntaxRegistry.EXPRESSION,
3738
SyntaxInfo.Expression.builder(ExprLastInteractionPlayer.class, OfflinePlayer.class)
@@ -40,6 +41,7 @@ public static void register(SyntaxRegistry registry) {
4041
"[the] last player[s] (who|that) (attacked|1:interacted with|2:clicked [on]) %entities%"
4142
)
4243
.supplier(ExprLastInteractionPlayer::new)
44+
.origin(origin)
4345
.build());
4446
}
4547

src/main/java/org/skriptlang/skript/bukkit/particles/ParticleModule.java

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.jetbrains.annotations.NotNull;
1818
import org.jetbrains.annotations.Nullable;
1919
import org.skriptlang.skript.addon.AddonModule;
20+
import org.skriptlang.skript.addon.ChildAddonModule;
2021
import org.skriptlang.skript.addon.SkriptAddon;
2122
import org.skriptlang.skript.bukkit.particles.elements.effects.EffPlayEffect;
2223
import org.skriptlang.skript.bukkit.particles.elements.expressions.*;
@@ -28,7 +29,6 @@
2829
import org.skriptlang.skript.bukkit.particles.registration.DataParticles;
2930
import org.skriptlang.skript.lang.properties.Property;
3031
import org.skriptlang.skript.lang.properties.handlers.base.ExpressionPropertyHandler;
31-
import org.skriptlang.skript.registration.SyntaxRegistry;
3232

3333
import java.io.NotSerializableException;
3434
import java.io.StreamCorruptedException;
@@ -38,7 +38,16 @@
3838
/**
3939
* Module for particle and game effect related classes and elements.
4040
*/
41-
public class ParticleModule implements AddonModule {
41+
public class ParticleModule extends ChildAddonModule {
42+
43+
/**
44+
* Constructs a child addon module with the given parent module.
45+
*
46+
* @param parentModule The parent module that created this child module.
47+
*/
48+
public ParticleModule(AddonModule parentModule) {
49+
super(parentModule);
50+
}
4251

4352
@Override
4453
public void init(SkriptAddon addon) {
@@ -51,17 +60,21 @@ public void init(SkriptAddon addon) {
5160
@Override
5261
public void load(SkriptAddon addon) {
5362
// load elements!
54-
SyntaxRegistry registry = addon.syntaxRegistry();
55-
ModuleOrigin origin = AddonModule.origin(addon, "particles");
56-
EffPlayEffect.register(registry, origin);
57-
ExprGameEffectWithData.register(registry, origin);
58-
ExprParticleCount.register(registry, origin);
59-
ExprParticleDistribution.register(registry, origin);
60-
ExprParticleOffset.register(registry, origin);
61-
ExprParticleSpeed.register(registry, origin);
62-
ExprParticleWithData.register(registry, origin);
63-
ExprParticleWithOffset.register(registry, origin);
64-
ExprParticleWithSpeed.register(registry, origin);
63+
AddonModule.register(addon.syntaxRegistry(), origin(addon),
64+
EffPlayEffect::register,
65+
ExprGameEffectWithData::register,
66+
ExprParticleCount::register,
67+
ExprParticleDistribution::register,
68+
ExprParticleOffset::register,
69+
ExprParticleSpeed::register,
70+
ExprParticleWithData::register,
71+
ExprParticleWithOffset::register,
72+
ExprParticleWithSpeed::register);
73+
}
74+
75+
@Override
76+
public String name() {
77+
return "particles";
6578
}
6679

6780
/**

0 commit comments

Comments
 (0)