soiz1's picture
Upload folder using huggingface_hub
d46f4a3 verified
package net.minecraft.server.commands;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.FloatArgumentType;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
import java.util.Collection;
import net.minecraft.commands.CommandBuildContext;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
import net.minecraft.commands.arguments.EntityArgument;
import net.minecraft.commands.arguments.ParticleArgument;
import net.minecraft.commands.arguments.coordinates.Vec3Argument;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.phys.Vec3;
public class ParticleCommand {
private static final SimpleCommandExceptionType ERROR_FAILED = new SimpleCommandExceptionType(Component.translatable("commands.particle.failed"));
public static void register(CommandDispatcher<CommandSourceStack> p_138123_, CommandBuildContext p_248587_) {
p_138123_.register(
Commands.literal("particle")
.requires(p_138127_ -> p_138127_.hasPermission(2))
.then(
Commands.argument("name", ParticleArgument.particle(p_248587_))
.executes(
p_138148_ -> sendParticles(
p_138148_.getSource(),
ParticleArgument.getParticle(p_138148_, "name"),
p_138148_.getSource().getPosition(),
Vec3.ZERO,
0.0F,
0,
false,
p_138148_.getSource().getServer().getPlayerList().getPlayers()
)
)
.then(
Commands.argument("pos", Vec3Argument.vec3())
.executes(
p_138146_ -> sendParticles(
p_138146_.getSource(),
ParticleArgument.getParticle(p_138146_, "name"),
Vec3Argument.getVec3(p_138146_, "pos"),
Vec3.ZERO,
0.0F,
0,
false,
p_138146_.getSource().getServer().getPlayerList().getPlayers()
)
)
.then(
Commands.argument("delta", Vec3Argument.vec3(false))
.then(
Commands.argument("speed", FloatArgumentType.floatArg(0.0F))
.then(
Commands.argument("count", IntegerArgumentType.integer(0))
.executes(
p_138144_ -> sendParticles(
p_138144_.getSource(),
ParticleArgument.getParticle(p_138144_, "name"),
Vec3Argument.getVec3(p_138144_, "pos"),
Vec3Argument.getVec3(p_138144_, "delta"),
FloatArgumentType.getFloat(p_138144_, "speed"),
IntegerArgumentType.getInteger(p_138144_, "count"),
false,
p_138144_.getSource().getServer().getPlayerList().getPlayers()
)
)
.then(
Commands.literal("force")
.executes(
p_138142_ -> sendParticles(
p_138142_.getSource(),
ParticleArgument.getParticle(p_138142_, "name"),
Vec3Argument.getVec3(p_138142_, "pos"),
Vec3Argument.getVec3(p_138142_, "delta"),
FloatArgumentType.getFloat(p_138142_, "speed"),
IntegerArgumentType.getInteger(p_138142_, "count"),
true,
p_138142_.getSource().getServer().getPlayerList().getPlayers()
)
)
.then(
Commands.argument("viewers", EntityArgument.players())
.executes(
p_138140_ -> sendParticles(
p_138140_.getSource(),
ParticleArgument.getParticle(p_138140_, "name"),
Vec3Argument.getVec3(p_138140_, "pos"),
Vec3Argument.getVec3(p_138140_, "delta"),
FloatArgumentType.getFloat(p_138140_, "speed"),
IntegerArgumentType.getInteger(p_138140_, "count"),
true,
EntityArgument.getPlayers(p_138140_, "viewers")
)
)
)
)
.then(
Commands.literal("normal")
.executes(
p_138138_ -> sendParticles(
p_138138_.getSource(),
ParticleArgument.getParticle(p_138138_, "name"),
Vec3Argument.getVec3(p_138138_, "pos"),
Vec3Argument.getVec3(p_138138_, "delta"),
FloatArgumentType.getFloat(p_138138_, "speed"),
IntegerArgumentType.getInteger(p_138138_, "count"),
false,
p_138138_.getSource().getServer().getPlayerList().getPlayers()
)
)
.then(
Commands.argument("viewers", EntityArgument.players())
.executes(
p_138125_ -> sendParticles(
p_138125_.getSource(),
ParticleArgument.getParticle(p_138125_, "name"),
Vec3Argument.getVec3(p_138125_, "pos"),
Vec3Argument.getVec3(p_138125_, "delta"),
FloatArgumentType.getFloat(p_138125_, "speed"),
IntegerArgumentType.getInteger(p_138125_, "count"),
false,
EntityArgument.getPlayers(p_138125_, "viewers")
)
)
)
)
)
)
)
)
)
);
}
private static int sendParticles(
CommandSourceStack p_138129_,
ParticleOptions p_138130_,
Vec3 p_138131_,
Vec3 p_138132_,
float p_138133_,
int p_138134_,
boolean p_138135_,
Collection<ServerPlayer> p_138136_
) throws CommandSyntaxException {
int i = 0;
for (ServerPlayer serverplayer : p_138136_) {
if (p_138129_.getLevel()
.sendParticles(
serverplayer,
p_138130_,
p_138135_,
false,
p_138131_.x,
p_138131_.y,
p_138131_.z,
p_138134_,
p_138132_.x,
p_138132_.y,
p_138132_.z,
(double)p_138133_
)) {
i++;
}
}
if (i == 0) {
throw ERROR_FAILED.create();
} else {
p_138129_.sendSuccess(
() -> Component.translatable("commands.particle.success", BuiltInRegistries.PARTICLE_TYPE.getKey(p_138130_.getType()).toString()), true
);
return i;
}
}
}