4jcraft/targets/minecraft/commands/common/ToggleDownfallCommand.cpp
Tropical dd93cfe91e
Some checks are pending
Build (Linux, x86-64) / build-linux (push) Waiting to run
Format Check / clang-format (push) Waiting to run
format everything
2026-04-01 13:48:29 -05:00

33 lines
1.2 KiB
C++

#include <string>
#include <vector>
#include "minecraft/server/MinecraftServer.h"
#include "minecraft/server/level/ServerLevel.h"
#include "ToggleDownfallCommand.h"
#include "minecraft/network/packet/ChatPacket.h"
#include "minecraft/network/packet/GameCommandPacket.h"
#include "minecraft/world/level/storage/LevelData.h"
EGameCommand ToggleDownfallCommand::getId() {
return eGameCommand_ToggleDownfall;
}
int ToggleDownfallCommand::getPermissionLevel() { return LEVEL_GAMEMASTERS; }
void ToggleDownfallCommand::execute(std::shared_ptr<CommandSender> source,
std::vector<uint8_t>& commandData) {
doToggleDownfall();
logAdminAction(source, ChatPacket::e_ChatCustom,
L"commands.downfall.success");
}
void ToggleDownfallCommand::doToggleDownfall() {
MinecraftServer::getInstance()->levels[0]->toggleDownfall();
MinecraftServer::getInstance()->levels[0]->getLevelData()->setThundering(
true);
}
std::shared_ptr<GameCommandPacket> ToggleDownfallCommand::preparePacket() {
return std::shared_ptr<GameCommandPacket>(new GameCommandPacket(
eGameCommand_ToggleDownfall, std::vector<uint8_t>()));
}