mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add credits command
This commit is contained in:
@@ -1,79 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Encode42 <me@encode42.dev>
|
|
||||||
Date: Fri, 30 Apr 2021 14:03:06 -0400
|
|
||||||
Subject: [PATCH] Add credits command
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
|
|
||||||
index e0b5a1d017cbafdde2c38745a045452c76614b66..719fbce359f8c2c52ee4e9da3dfe9566f58c0346 100644
|
|
||||||
--- a/net/minecraft/commands/Commands.java
|
|
||||||
+++ b/net/minecraft/commands/Commands.java
|
|
||||||
@@ -255,6 +255,7 @@ public class Commands {
|
|
||||||
StopCommand.register(this.dispatcher);
|
|
||||||
TransferCommand.register(this.dispatcher);
|
|
||||||
WhitelistCommand.register(this.dispatcher);
|
|
||||||
+ org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
|
|
||||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
|
||||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
index 790dbbc02a89eeb715cdda339da01379ca704afa..df61db286f8b098a16c59a64714554d6d4c60655 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
@@ -182,6 +182,7 @@ public class PurpurConfig {
|
|
||||||
public static boolean afkBroadcastUseDisplayName = false;
|
|
||||||
public static String afkTabListPrefix = "[AFK] ";
|
|
||||||
public static String afkTabListSuffix = "";
|
|
||||||
+ public static String creditsCommandOutput = "<green>%s has been shown the end credits";
|
|
||||||
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
|
|
||||||
public static String pingCommandOutput = "<green>%s's ping is %sms";
|
|
||||||
private static void messages() {
|
|
||||||
@@ -191,6 +192,7 @@ public class PurpurConfig {
|
|
||||||
afkBroadcastUseDisplayName = getBoolean("settings.messages.afk-broadcast-use-display-name", afkBroadcastUseDisplayName);
|
|
||||||
afkTabListPrefix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix)));
|
|
||||||
afkTabListSuffix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix)));
|
|
||||||
+ creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput);
|
|
||||||
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
|
|
||||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java b/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..40d2fab4a9728ac90c36e30c130f3116b7025d11
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/command/CreditsCommand.java
|
|
||||||
@@ -0,0 +1,35 @@
|
|
||||||
+package org.purpurmc.purpur.command;
|
|
||||||
+
|
|
||||||
+import com.mojang.brigadier.CommandDispatcher;
|
|
||||||
+import net.minecraft.commands.CommandSourceStack;
|
|
||||||
+import net.minecraft.commands.Commands;
|
|
||||||
+import net.minecraft.commands.arguments.EntityArgument;
|
|
||||||
+import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
|
||||||
+import net.minecraft.server.level.ServerPlayer;
|
|
||||||
+import org.purpurmc.purpur.PurpurConfig;
|
|
||||||
+
|
|
||||||
+import java.util.Collection;
|
|
||||||
+import java.util.Collections;
|
|
||||||
+
|
|
||||||
+public class CreditsCommand {
|
|
||||||
+ public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
|
||||||
+ dispatcher.register(Commands.literal("credits")
|
|
||||||
+ .requires((listener) -> listener.hasPermission(2, "bukkit.command.credits"))
|
|
||||||
+ .executes((context) -> execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException())))
|
|
||||||
+ .then(Commands.argument("targets", EntityArgument.players())
|
|
||||||
+ .requires(listener -> listener.hasPermission(2, "bukkit.command.credits.other"))
|
|
||||||
+ .executes((context) -> execute(context.getSource(), EntityArgument.getPlayers(context, "targets")))
|
|
||||||
+ )
|
|
||||||
+ );
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private static int execute(CommandSourceStack sender, Collection<ServerPlayer> targets) {
|
|
||||||
+ for (ServerPlayer player : targets) {
|
|
||||||
+ ClientboundGameEventPacket packet = new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 1F);
|
|
||||||
+ player.connection.send(packet);
|
|
||||||
+ String output = String.format(PurpurConfig.creditsCommandOutput, player.getGameProfile().getName());
|
|
||||||
+ sender.sendSuccess(output, false);
|
|
||||||
+ }
|
|
||||||
+ return targets.size();
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
public class Commands {
|
public class Commands {
|
||||||
@@ -245,6 +_,8 @@
|
@@ -245,6 +_,9 @@
|
||||||
StopCommand.register(this.dispatcher);
|
StopCommand.register(this.dispatcher);
|
||||||
TransferCommand.register(this.dispatcher);
|
TransferCommand.register(this.dispatcher);
|
||||||
WhitelistCommand.register(this.dispatcher);
|
WhitelistCommand.register(this.dispatcher);
|
||||||
|
+ org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur - Add credits command
|
||||||
+ org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur - Add demo command
|
+ org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur - Add demo command
|
||||||
+ org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command
|
+ org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur - Add ping command
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ public class PurpurConfig {
|
|||||||
public static boolean afkBroadcastUseDisplayName = false;
|
public static boolean afkBroadcastUseDisplayName = false;
|
||||||
public static String afkTabListPrefix = "[AFK] ";
|
public static String afkTabListPrefix = "[AFK] ";
|
||||||
public static String afkTabListSuffix = "";
|
public static String afkTabListSuffix = "";
|
||||||
|
public static String creditsCommandOutput = "<green>%s has been shown the end credits";
|
||||||
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
|
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
|
||||||
public static String pingCommandOutput = "<green>%s's ping is %sms";
|
public static String pingCommandOutput = "<green>%s's ping is %sms";
|
||||||
private static void messages() {
|
private static void messages() {
|
||||||
@@ -172,6 +173,7 @@ public class PurpurConfig {
|
|||||||
afkBroadcastUseDisplayName = getBoolean("settings.messages.afk-broadcast-use-display-name", afkBroadcastUseDisplayName);
|
afkBroadcastUseDisplayName = getBoolean("settings.messages.afk-broadcast-use-display-name", afkBroadcastUseDisplayName);
|
||||||
afkTabListPrefix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix)));
|
afkTabListPrefix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix)));
|
||||||
afkTabListSuffix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix)));
|
afkTabListSuffix = MiniMessage.miniMessage().serialize(MiniMessage.miniMessage().deserialize(getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix)));
|
||||||
|
creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput);
|
||||||
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
|
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
|
||||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package org.purpurmc.purpur.command;
|
||||||
|
|
||||||
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
|
import net.minecraft.commands.Commands;
|
||||||
|
import net.minecraft.commands.arguments.EntityArgument;
|
||||||
|
import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
||||||
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
|
import org.purpurmc.purpur.PurpurConfig;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
public class CreditsCommand {
|
||||||
|
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
||||||
|
dispatcher.register(Commands.literal("credits")
|
||||||
|
.requires((listener) -> listener.hasPermission(2, "bukkit.command.credits"))
|
||||||
|
.executes((context) -> execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException())))
|
||||||
|
.then(Commands.argument("targets", EntityArgument.players())
|
||||||
|
.requires(listener -> listener.hasPermission(2, "bukkit.command.credits.other"))
|
||||||
|
.executes((context) -> execute(context.getSource(), EntityArgument.getPlayers(context, "targets")))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int execute(CommandSourceStack sender, Collection<ServerPlayer> targets) {
|
||||||
|
for (ServerPlayer player : targets) {
|
||||||
|
ClientboundGameEventPacket packet = new ClientboundGameEventPacket(ClientboundGameEventPacket.WIN_GAME, 1F);
|
||||||
|
player.connection.send(packet);
|
||||||
|
String output = String.format(PurpurConfig.creditsCommandOutput, player.getGameProfile().getName());
|
||||||
|
sender.sendSuccess(output, false);
|
||||||
|
}
|
||||||
|
return targets.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user