Skip to content

Commit 2bd6f39

Browse files
committed
cleanup entity/player changer usage
1 parent a7d068a commit 2bd6f39

3 files changed

Lines changed: 23 additions & 42 deletions

File tree

src/main/java/ch/njol/skript/classes/data/BukkitClasses.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1235,7 +1235,7 @@ public String toVariableNameString(WorldBorder border) {
12351235
.name("Vehicle")
12361236
.description("Represents a vehicle.")
12371237
.since("2.10.2")
1238-
.changer(DefaultChangers.entityChanger)
1238+
.changer(new EntityClassInfo.EntityChanger())
12391239
);
12401240

12411241
Classes.registerClass(new EnumClassInfo<>(EquipmentSlot.class, "equipmentslot", "equipment slots")

src/main/java/ch/njol/skript/classes/data/DefaultChangers.java

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.skriptlang.skript.bukkit.base.types.BlockClassInfo;
1313
import org.skriptlang.skript.bukkit.base.types.EntityClassInfo;
1414
import org.skriptlang.skript.bukkit.base.types.InventoryClassInfo;
15+
import org.skriptlang.skript.bukkit.base.types.PlayerClassInfo;
1516

1617
/**
1718
* @author Peter Güttinger
@@ -25,22 +26,13 @@ public DefaultChangers() {}
2526
*/
2627
@Deprecated(since = "INSERT VERSION")
2728
public final static Changer<Entity> entityChanger = new EntityClassInfo.EntityChanger();
28-
29-
public final static Changer<Player> playerChanger = new Changer<Player>() {
30-
@Override
31-
@Nullable
32-
public Class<? extends Object>[] acceptChange(final ChangeMode mode) {
33-
if (mode == ChangeMode.DELETE)
34-
return null;
35-
return entityChanger.acceptChange(mode);
36-
}
37-
38-
@Override
39-
public void change(final Player[] players, final @Nullable Object[] delta, final ChangeMode mode) {
40-
entityChanger.change(players, delta, mode);
41-
}
42-
};
43-
29+
30+
/**
31+
* @deprecated Use {@link PlayerClassInfo.PlayerChanger} directly.
32+
*/
33+
@Deprecated(since = "INSERT VERSION")
34+
public final static Changer<Player> playerChanger = new PlayerClassInfo.PlayerChanger();
35+
4436
public final static Changer<Entity> nonLivingEntityChanger = new Changer<Entity>() {
4537
@Override
4638
@Nullable
@@ -49,7 +41,7 @@ public Class<Object>[] acceptChange(final ChangeMode mode) {
4941
return CollectionUtils.array();
5042
return null;
5143
}
52-
44+
5345
@Override
5446
public void change(final Entity[] entities, final @Nullable Object[] delta, final ChangeMode mode) {
5547
assert mode == ChangeMode.DELETE;

src/main/java/ch/njol/skript/expressions/ExprSpectatorTarget.java

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,9 @@
11
package ch.njol.skript.expressions;
22

3-
import ch.njol.skript.classes.Changer;
4-
import ch.njol.skript.doc.Description;
5-
import ch.njol.skript.doc.Examples;
6-
import ch.njol.skript.doc.Name;
7-
import ch.njol.skript.doc.Since;
8-
import ch.njol.skript.expressions.base.SimplePropertyExpression;
9-
import ch.njol.util.coll.CollectionUtils;
10-
import org.bukkit.GameMode;
11-
import org.bukkit.entity.Entity;
12-
import org.bukkit.entity.Player;
13-
import org.bukkit.event.Event;
14-
import org.jetbrains.annotations.Nullable;
15-
16-
import com.destroystokyo.paper.event.player.PlayerStartSpectatingEntityEvent;
17-
import com.destroystokyo.paper.event.player.PlayerStopSpectatingEntityEvent;
18-
193
import ch.njol.skript.Skript;
4+
import ch.njol.skript.classes.Changer;
205
import ch.njol.skript.classes.Changer.ChangeMode;
21-
import ch.njol.skript.classes.data.DefaultChangers;
22-
import ch.njol.skript.doc.Description;
23-
import ch.njol.skript.doc.Examples;
24-
import ch.njol.skript.doc.Name;
25-
import ch.njol.skript.doc.RequiredPlugins;
26-
import ch.njol.skript.doc.Since;
6+
import ch.njol.skript.doc.*;
277
import ch.njol.skript.effects.Delay;
288
import ch.njol.skript.lang.Expression;
299
import ch.njol.skript.lang.ExpressionType;
@@ -32,6 +12,14 @@
3212
import ch.njol.skript.registrations.EventValues;
3313
import ch.njol.util.Kleenean;
3414
import ch.njol.util.coll.CollectionUtils;
15+
import com.destroystokyo.paper.event.player.PlayerStartSpectatingEntityEvent;
16+
import com.destroystokyo.paper.event.player.PlayerStopSpectatingEntityEvent;
17+
import org.bukkit.GameMode;
18+
import org.bukkit.entity.Entity;
19+
import org.bukkit.entity.Player;
20+
import org.bukkit.event.Event;
21+
import org.jetbrains.annotations.Nullable;
22+
import org.skriptlang.skript.bukkit.base.types.EntityClassInfo;
3523

3624
@Name("Spectator Target")
3725
@Description("Grabs the spectator target entity of the players.")
@@ -57,6 +45,7 @@ public class ExprSpectatorTarget extends SimpleExpression<Entity> {
5745
}
5846

5947
private Expression<Player> players;
48+
private static final Changer<Entity> ENTITY_CHANGER = new EntityClassInfo.EntityChanger();
6049

6150
@Override
6251
@SuppressWarnings("unchecked")
@@ -99,7 +88,7 @@ protected Entity[] get(Event event) {
9988
public Class<?>[] acceptChange(ChangeMode mode) {
10089
// Make 'spectator target' act as an entity changer. Will error in init for unsupported server platform.
10190
if (players == null)
102-
return DefaultChangers.entityChanger.acceptChange(mode);
91+
return ENTITY_CHANGER.acceptChange(mode);
10392
if (mode == ChangeMode.SET || mode == ChangeMode.RESET || mode == ChangeMode.DELETE)
10493
return CollectionUtils.array(Entity.class);
10594
return null;
@@ -112,7 +101,7 @@ public void change(Event event, @Nullable Object[] delta, ChangeMode mode) {
112101
Entity[] entities = get(event);
113102
if (entities.length == 0)
114103
return;
115-
DefaultChangers.entityChanger.change(entities, delta, mode);
104+
ENTITY_CHANGER.change(entities, delta, mode);
116105
return;
117106
}
118107
switch (mode) {

0 commit comments

Comments
 (0)