Skip to content

Commit e588d51

Browse files
committed
Merge common print functions into abstract class
1 parent a872c37 commit e588d51

File tree

12 files changed

+120
-302
lines changed

12 files changed

+120
-302
lines changed

settings.gradle.kts

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ include("worldedit-libs:core:ap")
1010

1111
include("worldedit-core:doctools")
1212

13-
includeBuild("../Piston") {
14-
dependencySubstitution {
13+
if (gradle.plugins.none { "JetGradlePlugin" in it.javaClass.name }) {
14+
includeBuild("../Piston") {
15+
dependencySubstitution {
16+
}
1517
}
1618
}

worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java

+1-49
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,6 @@
2626
import com.sk89q.worldedit.session.SessionKey;
2727
import com.sk89q.worldedit.util.Location;
2828
import com.sk89q.worldedit.util.auth.AuthorizationException;
29-
import com.sk89q.worldedit.util.formatting.WorldEditText;
30-
import com.sk89q.worldedit.util.formatting.text.Component;
31-
import com.sk89q.worldedit.util.formatting.text.TextComponent;
32-
import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor;
33-
import net.kyori.adventure.audience.Audience;
34-
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
3529
import org.bukkit.Bukkit;
3630
import org.bukkit.Material;
3731
import org.bukkit.block.Block;
@@ -41,23 +35,18 @@
4135
import java.util.Locale;
4236
import java.util.UUID;
4337

44-
import static com.google.common.base.Preconditions.checkNotNull;
45-
4638
public class BukkitBlockCommandSender extends AbstractNonPlayerActor implements Locatable {
4739

4840
private static final String UUID_PREFIX = "CMD";
4941

50-
private final Audience audience;
5142
private final BlockCommandSender sender;
5243
private final WorldEditPlugin plugin;
5344
private final Location location;
5445
private final UUID uuid;
5546

5647
public BukkitBlockCommandSender(WorldEditPlugin plugin, BlockCommandSender sender) {
57-
checkNotNull(plugin);
58-
checkNotNull(sender);
48+
super(plugin.getAudiences().audience(sender)::sendMessage);
5949

60-
this.audience = BukkitAudiences.create(plugin).audience(sender);
6150
this.plugin = plugin;
6251
this.sender = sender;
6352
this.location = BukkitAdapter.adapt(sender.getBlock().getLocation());
@@ -69,43 +58,6 @@ public String getName() {
6958
return sender.getName();
7059
}
7160

72-
@Override
73-
@Deprecated
74-
public void printRaw(String msg) {
75-
for (String part : msg.split("\n")) {
76-
sender.sendMessage(part);
77-
}
78-
}
79-
80-
@Override
81-
@Deprecated
82-
public void print(String msg) {
83-
for (String part : msg.split("\n")) {
84-
print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE));
85-
}
86-
}
87-
88-
@Override
89-
@Deprecated
90-
public void printDebug(String msg) {
91-
for (String part : msg.split("\n")) {
92-
print(TextComponent.of(part, NamedTextColor.GRAY));
93-
}
94-
}
95-
96-
@Override
97-
@Deprecated
98-
public void printError(String msg) {
99-
for (String part : msg.split("\n")) {
100-
print(TextComponent.of(part, NamedTextColor.RED));
101-
}
102-
}
103-
104-
@Override
105-
public void print(Component component) {
106-
audience.sendMessage(WorldEditText.format(component, getLocale()));
107-
}
108-
10961
@Override
11062
public Locale getLocale() {
11163
return WorldEdit.getInstance().getConfiguration().defaultLocale;

worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java

+1-46
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,13 @@
2222
import com.sk89q.worldedit.WorldEdit;
2323
import com.sk89q.worldedit.extension.platform.AbstractNonPlayerActor;
2424
import com.sk89q.worldedit.session.SessionKey;
25-
import com.sk89q.worldedit.util.formatting.WorldEditText;
26-
import com.sk89q.worldedit.util.formatting.text.Component;
27-
import net.kyori.adventure.audience.Audience;
28-
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
2925
import org.bukkit.command.CommandSender;
3026
import org.bukkit.entity.Player;
3127

3228
import java.util.Locale;
3329
import java.util.UUID;
3430

3531
import static com.google.common.base.Preconditions.checkArgument;
36-
import static com.google.common.base.Preconditions.checkNotNull;
3732

3833
public class BukkitCommandSender extends AbstractNonPlayerActor {
3934

@@ -42,15 +37,12 @@ public class BukkitCommandSender extends AbstractNonPlayerActor {
4237
*/
4338
private static final UUID DEFAULT_ID = UUID.fromString("a233eb4b-4cab-42cd-9fd9-7e7b9a3f74be");
4439

45-
private final Audience audience;
4640
private final CommandSender sender;
4741

4842
public BukkitCommandSender(WorldEditPlugin plugin, CommandSender sender) {
49-
checkNotNull(plugin);
50-
checkNotNull(sender);
43+
super(plugin.getAudiences().audience(sender)::sendMessage);
5144
checkArgument(!(sender instanceof Player), "Cannot wrap a player");
5245

53-
this.audience = BukkitAudiences.create(plugin).audience(sender);
5446
this.sender = sender;
5547
}
5648

@@ -64,43 +56,6 @@ public String getName() {
6456
return sender.getName();
6557
}
6658

67-
@Override
68-
@Deprecated
69-
public void printRaw(String msg) {
70-
for (String part : msg.split("\n")) {
71-
sender.sendMessage(part);
72-
}
73-
}
74-
75-
@Override
76-
@Deprecated
77-
public void print(String msg) {
78-
for (String part : msg.split("\n")) {
79-
sender.sendMessage("§d" + part);
80-
}
81-
}
82-
83-
@Override
84-
@Deprecated
85-
public void printDebug(String msg) {
86-
for (String part : msg.split("\n")) {
87-
sender.sendMessage("§7" + part);
88-
}
89-
}
90-
91-
@Override
92-
@Deprecated
93-
public void printError(String msg) {
94-
for (String part : msg.split("\n")) {
95-
sender.sendMessage("§c" + part);
96-
}
97-
}
98-
99-
@Override
100-
public void print(Component component) {
101-
audience.sendMessage(WorldEditText.format(component, getLocale()));
102-
}
103-
10459
@Override
10560
public String[] getGroups() {
10661
return new String[0];

worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java

+1-43
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
import com.sk89q.worldedit.math.Vector3;
3232
import com.sk89q.worldedit.session.SessionKey;
3333
import com.sk89q.worldedit.util.HandSide;
34-
import com.sk89q.worldedit.util.formatting.WorldEditText;
3534
import com.sk89q.worldedit.util.formatting.component.TextUtils;
36-
import com.sk89q.worldedit.util.formatting.text.Component;
3735
import com.sk89q.worldedit.util.formatting.text.TextComponent;
3836
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
3937
import com.sk89q.worldedit.util.formatting.text.event.ClickEvent;
@@ -44,8 +42,6 @@
4442
import com.sk89q.worldedit.world.block.BlockTypes;
4543
import com.sk89q.worldedit.world.gamemode.GameMode;
4644
import com.sk89q.worldedit.world.gamemode.GameModes;
47-
import net.kyori.adventure.audience.Audience;
48-
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
4945
import org.bukkit.Bukkit;
5046
import org.bukkit.Location;
5147
import org.bukkit.entity.Player;
@@ -59,16 +55,15 @@ public class BukkitPlayer extends AbstractPlayerActor {
5955

6056
private final Player player;
6157
private final WorldEditPlugin plugin;
62-
private final Audience audience;
6358

6459
public BukkitPlayer(Player player) {
6560
this(WorldEditPlugin.getInstance(), player);
6661
}
6762

6863
public BukkitPlayer(WorldEditPlugin plugin, Player player) {
64+
super(plugin.getAudiences().player(player)::sendMessage);
6965
this.plugin = plugin;
7066
this.player = player;
71-
this.audience = BukkitAudiences.create(plugin).player(player);
7267
}
7368

7469
@Override
@@ -107,43 +102,6 @@ public void giveItem(BaseItemStack itemStack) {
107102
player.getInventory().addItem(BukkitAdapter.adapt(itemStack));
108103
}
109104

110-
@Override
111-
@Deprecated
112-
public void printRaw(String msg) {
113-
for (String part : msg.split("\n")) {
114-
player.sendMessage(part);
115-
}
116-
}
117-
118-
@Override
119-
@Deprecated
120-
public void print(String msg) {
121-
for (String part : msg.split("\n")) {
122-
player.sendMessage("§d" + part);
123-
}
124-
}
125-
126-
@Override
127-
@Deprecated
128-
public void printDebug(String msg) {
129-
for (String part : msg.split("\n")) {
130-
player.sendMessage("§7" + part);
131-
}
132-
}
133-
134-
@Override
135-
@Deprecated
136-
public void printError(String msg) {
137-
for (String part : msg.split("\n")) {
138-
player.sendMessage("§c" + part);
139-
}
140-
}
141-
142-
@Override
143-
public void print(Component component) {
144-
audience.sendMessage(WorldEditText.format(component, getLocale()));
145-
}
146-
147105
@Override
148106
public boolean trySetPosition(Vector3 pos, float pitch, float yaw) {
149107
return player.teleport(new Location(player.getWorld(), pos.getX(), pos.getY(),

worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java

+12
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import com.sk89q.worldedit.world.item.ItemType;
5252
import com.sk89q.worldedit.world.weather.WeatherTypes;
5353
import io.papermc.lib.PaperLib;
54+
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
5455
import org.bstats.bukkit.Metrics;
5556
import org.bukkit.Bukkit;
5657
import org.bukkit.Material;
@@ -114,10 +115,12 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter {
114115
private BukkitImplAdapter bukkitAdapter;
115116
private BukkitServerInterface server;
116117
private BukkitConfiguration config;
118+
private BukkitAudiences audiences;
117119

118120
@Override
119121
public void onLoad() {
120122
INSTANCE = this;
123+
audiences = BukkitAudiences.create(this);
121124

122125
//noinspection ResultOfMethodCallIgnored
123126
getDataFolder().mkdirs();
@@ -431,6 +434,15 @@ public BukkitConfiguration getLocalConfiguration() {
431434
return config;
432435
}
433436

437+
/**
438+
* Get the audience provider for this plugin.
439+
*
440+
* @return the audience provider
441+
*/
442+
public BukkitAudiences getAudiences() {
443+
return audiences;
444+
}
445+
434446
/**
435447
* Get the permissions resolver in use.
436448
*
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.sk89q.worldedit.extension.platform;
2+
3+
import com.sk89q.worldedit.util.formatting.WorldEditText;
4+
import com.sk89q.worldedit.util.formatting.text.Component;
5+
import com.sk89q.worldedit.util.formatting.text.TextComponent;
6+
import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor;
7+
8+
import java.util.function.Consumer;
9+
10+
/**
11+
* Base class for implementing an actor. Provides reasonable defaults.
12+
*/
13+
public abstract class AbstractActor implements Actor {
14+
15+
private final Consumer<Component> sendMessage;
16+
17+
protected AbstractActor(Consumer<Component> sendMessage) {
18+
this.sendMessage = sendMessage;
19+
}
20+
21+
@Override
22+
@Deprecated
23+
public void printRaw(String msg) {
24+
for (String part : msg.split("\n")) {
25+
print(TextComponent.of(part));
26+
}
27+
}
28+
29+
@Override
30+
@Deprecated
31+
public void print(String msg) {
32+
for (String part : msg.split("\n")) {
33+
print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE));
34+
}
35+
}
36+
37+
@Override
38+
@Deprecated
39+
public void printDebug(String msg) {
40+
for (String part : msg.split("\n")) {
41+
print(TextComponent.of(part, NamedTextColor.GRAY));
42+
}
43+
}
44+
45+
@Override
46+
@Deprecated
47+
public void printError(String msg) {
48+
for (String part : msg.split("\n")) {
49+
print(TextComponent.of(part, NamedTextColor.RED));
50+
}
51+
}
52+
53+
@Override
54+
public void print(Component component) {
55+
sendMessage.accept(WorldEditText.format(component, getLocale()));
56+
}
57+
58+
}

worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractNonPlayerActor.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,16 @@
2020
package com.sk89q.worldedit.extension.platform;
2121

2222
import com.sk89q.worldedit.internal.cui.CUIEvent;
23+
import com.sk89q.worldedit.util.formatting.text.Component;
2324

2425
import java.io.File;
26+
import java.util.function.Consumer;
2527

26-
public abstract class AbstractNonPlayerActor implements Actor {
28+
public abstract class AbstractNonPlayerActor extends AbstractActor implements Actor {
29+
30+
protected AbstractNonPlayerActor(Consumer<Component> sendMessage) {
31+
super(sendMessage);
32+
}
2733

2834
@Override
2935
public boolean canDestroyBedrock() {

0 commit comments

Comments
 (0)