Skip to content

Commit 5ec036c

Browse files
committed
Modified the API to use the new modification services
1 parent ee6865d commit 5ec036c

2 files changed

Lines changed: 26 additions & 18 deletions

File tree

server/src/main/java/dev/plex/command/impl/BanCMD.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.bukkit.entity.Player;
2929
import org.jetbrains.annotations.NotNull;
3030
import org.jetbrains.annotations.Nullable;
31-
import org.prism_mc.prism.api.activities.Activity;
3231
import org.prism_mc.prism.api.activities.ActivityQuery;
3332
import org.prism_mc.prism.paper.api.PrismPaperApi;
3433
import org.prism_mc.prism.paper.api.activities.PaperActivityQuery;
@@ -99,24 +98,28 @@ protected Component execute(@NotNull CommandSender sender, @Nullable Player play
9998
if (plugin.getPrismHook() != null && plugin.getPrismHook().hasPrism())
10099
{
101100
PrismPaperApi prism = plugin.getPrismHook().getPrism();
102-
Bukkit.getAsyncScheduler().runNow(plugin, task ->
103-
{
104-
try
105-
{
106-
ActivityQuery query = PaperActivityQuery.builder()
107-
.actionTypeKeys(Arrays.asList("block-place", "block-break", "block-burn", "entity-spawn", "entity-kill", "entity-explode"))
108-
.causePlayerName(plexPlayer.getName())
109-
.before(Instant.now().getEpochSecond())
110-
.rollback()
111-
.build();
112-
113-
List<Activity> activities = prism.storageAdapter().queryActivities(query);
114-
PlexLog.debug("{0} activities have been rollback", activities.size());
101+
ActivityQuery query = PaperActivityQuery.builder()
102+
.actionTypeKeys(Arrays.asList("block-place", "block-break", "block-burn", "entity-spawn", "entity-kill", "entity-explode"))
103+
.causePlayerName(plexPlayer.getName())
104+
.before(Instant.now().getEpochSecond())
105+
.rollback()
106+
.build();
107+
prism.rollback(sender, query).whenCompleteAsync((result, error) -> {
108+
if (error != null) {
109+
send(sender, messageComponent("prismRollbackError", error.getMessage()));
110+
PlexLog.error("Unable to rollback: {0}", error);
111+
return;
115112
}
116-
catch (Exception ex)
117-
{
118-
PlexLog.error("Unable to query activities: {0}", ex);
113+
114+
int count = result.applied();
115+
if (count == 0) {
116+
send(sender, messageComponent("prismNoResult", count));
117+
PlexLog.debug("No activities are available to rollback");
118+
return;
119119
}
120+
121+
send(sender, messageComponent("prismRollbackMessage", count));
122+
PlexLog.debug("Rolled back {0} activities", count);
120123
});
121124
}
122125
else if (plugin.getCoreProtectHook() != null && plugin.getCoreProtectHook().hasCoreProtect())

server/src/main/resources/messages.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,4 +279,9 @@ reappliedGamerules: "<aqua>All game rules have been re-applied!"
279279
commandNotFound: "<red>That command could not be found!"
280280
# 0 - The command
281281
# 1 - A list of aliases found
282-
commandAliases: "<aqua>Aliases for {0} are: {1}"
282+
commandAliases: "<aqua>Aliases for {0} are: {1}"
283+
# 0 - Number of activities found to rollback
284+
prismRollbackMessage: "<gray>Rolled back {0} activities"
285+
# 0 - Error message returned from Prism
286+
prismRollbackError: "<red>Rollback failed: {0}"
287+
prismNoResult: "<gray>No activities have been rolled back"

0 commit comments

Comments
 (0)