Skip to content

Commit 3bebfa3

Browse files
committed
feat: Config
1 parent 8f2e470 commit 3bebfa3

File tree

14 files changed

+884
-793
lines changed

14 files changed

+884
-793
lines changed

src/API/Actor/Actor.cc

Lines changed: 334 additions & 334 deletions
Large diffs are not rendered by default.

src/API/Command/Command.cc

Lines changed: 151 additions & 89 deletions
Large diffs are not rendered by default.

src/API/Command/Command.h

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -102,66 +102,7 @@ class CommandClass : public ScriptClass {
102102
onExecute(CommandOrigin const& origin, CommandOutput& output, ll::command::RuntimeCommand const& runtime);
103103

104104
static Local<Value>
105-
convertResult(ll::command::ParamStorageType const& result, CommandOrigin const& origin, CommandOutput& output) {
106-
using namespace ll::command;
107-
if (!result.has_value()) return {};
108-
if (result.hold(ParamKind::Kind::Enum)) {
109-
return String::newString(std::get<RuntimeEnum>(result.value()).name);
110-
} else if (result.hold(ParamKind::Kind::SoftEnum)) {
111-
return String::newString(std::get<RuntimeSoftEnum>(result.value()));
112-
} else if (result.hold(ParamKind::Kind::BlockName)) {
113-
return BlockClass::newBlock(
114-
const_cast<Block*>(std::get<CommandBlockName>(result.value()).resolveBlock(0).getBlock())
115-
);
116-
} else if (result.hold(ParamKind::Kind::Item)) {
117-
return ItemStackClass::newItemStack(new ItemStack(std::get<CommandItem>(result.value())
118-
.createInstance(1, 1, output, true)
119-
.value_or(ItemInstance::EMPTY_ITEM())));
120-
} else if (result.hold(ParamKind::Kind::Actor)) {
121-
auto arr = Array::newArray();
122-
for (auto i : std::get<CommandSelector<Actor>>(result.value()).results(origin)) {
123-
arr.add(ActorClass::newActor(i));
124-
}
125-
return arr;
126-
} else if (result.hold(ParamKind::Kind::Player)) {
127-
auto arr = Array::newArray();
128-
for (auto i : std::get<CommandSelector<Player>>(result.value()).results(origin)) {
129-
arr.add(PlayerClass::newPlayer(i));
130-
}
131-
return arr;
132-
} else if (result.hold(ParamKind::Kind::BlockPos)) {
133-
return BlockPosClass::newBlockPosClass(
134-
std::get<CommandPosition>(result.value())
135-
.getBlockPos(CommandVersion::CurrentVersion(), origin, Vec3::ZERO())
136-
);
137-
} else if (result.hold(ParamKind::Kind::Vec3)) {
138-
return Vec3Class::newVec3Class(std::get<CommandPosition>(result.value())
139-
.getPosition(CommandVersion::CurrentVersion(), origin, Vec3::ZERO()));
140-
} else if (result.hold(ParamKind::Kind::Message)) {
141-
return String::newString(std::get<CommandMessage>(result.value())
142-
.generateMessage(origin, CommandVersion::CurrentVersion())
143-
.mMessage->c_str());
144-
} else if (result.hold(ParamKind::Kind::RawText)) {
145-
return String::newString(std::get<CommandRawText>(result.value()).getText());
146-
} else if (result.hold(ParamKind::Kind::JsonValue)) {
147-
return String::newString(JsonHelpers::serialize(std::get<Json::Value>(result.value())));
148-
} else if (result.hold(ParamKind::Kind::Effect)) {
149-
return String::newString(std::get<MobEffect const*>(result.value())->getResourceName());
150-
} else if (result.hold(ParamKind::Kind::Command)) {
151-
return String::newString(std::get<std::unique_ptr<::Command>>(result.value())->getCommandName());
152-
} else if (result.hold(ParamKind::Kind::ActorType)) {
153-
return String::newString(std::get<ActorDefinitionIdentifier const*>(result.value())->getCanonicalName());
154-
} else if (result.hold(ParamKind::Kind::Bool)) {
155-
return Boolean::newBoolean(std::get<bool>(result.value()));
156-
} else if (result.hold(ParamKind::Kind::Int)) {
157-
return Number::newNumber(std::get<int>(result.value()));
158-
} else if (result.hold(ParamKind::Kind::Float)) {
159-
return Number::newNumber(std::get<float>(result.value()));
160-
} else if (result.hold(ParamKind::Kind::String)) {
161-
return String::newString(std::get<std::string>(result.value()));
162-
}
163-
return {};
164-
}
105+
convertResult(ll::command::ParamStorageType const &result, CommandOrigin const &origin, CommandOutput &output);
165106
};
166107

167108
extern ClassDefine<CommandClass> commandClassBuilder;

src/API/Enum/EnumBuilder.cc

Lines changed: 239 additions & 239 deletions
Large diffs are not rendered by default.

src/API/Event/Event.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ void EventBusClass::registerCallback() {
857857
try {
858858
func.get().call(
859859
{},
860-
MobClass::newMob(&event.mob().value()),
860+
MobClass::newMobClass(&event.mob().value()),
861861
BlockSourceClass::newBlockSource(
862862
const_cast<BlockSource *>(&event.blockSource())),
863863
ActorDefinitionIdentifierClass::newActorDefinitionIdentifier(
@@ -914,7 +914,7 @@ void EventBusClass::registerCallback() {
914914
try {
915915
func.get().call(
916916
{},
917-
MobClass::newMob(&event.self()),
917+
MobClass::newMobClass(&event.self()),
918918
ActorDamageSourceClass::newActorDamageSource(
919919
const_cast<ActorDamageSource *>(&event.source())
920920
)
@@ -1145,11 +1145,11 @@ void EventBusClass::registerCallback() {
11451145
try {
11461146
auto result = func.get().call(
11471147
{},
1148-
MobClass::newMob(&event.self()),
1148+
MobClass::newMobClass(&event.self()),
11491149
ItemActorClass::newItemActor(&event.getItemActor())
11501150
);
11511151
if (result.isBoolean()) {
1152-
if (result.asBoolean().value() == false) event.cancel();
1152+
if (!result.asBoolean().value()) event.cancel();
11531153
}
11541154
}
11551155
CatchNotReturn;
@@ -1170,7 +1170,7 @@ void EventBusClass::registerCallback() {
11701170
try {
11711171
func.get().call(
11721172
{},
1173-
MobClass::newMob(&event.self()),
1173+
MobClass::newMobClass(&event.self()),
11741174
ItemActorClass::newItemActor(const_cast<ItemActor *>(&event.getItemActor()))
11751175
);
11761176
}
@@ -1521,7 +1521,7 @@ void EventBusClass::registerCallback() {
15211521
try {
15221522
auto result = func.get().call(
15231523
{},
1524-
MobClass::newMob(&event.self()),
1524+
MobClass::newMobClass(&event.self()),
15251525
ActorClass::newActor(&event.getSource().get()),
15261526
Number::newNumber(event.getValue()),
15271527
ConvertToScriptX(event.getCause())
@@ -1548,7 +1548,7 @@ void EventBusClass::registerCallback() {
15481548
try {
15491549
func.get().call(
15501550
{},
1551-
MobClass::newMob(&event.self()),
1551+
MobClass::newMobClass(&event.self()),
15521552
ActorClass::newActor(
15531553
const_cast<Actor *>(&event.getSource().get())),
15541554
Number::newNumber(event.getValue()),

src/API/Mob/Mob.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22

33
ClassDefine<MobClass> mobClassBuilder = defineClass<MobClass>("Mob").constructor(nullptr).build();
44

5-
6-
Local<Object> MobClass::newMob(Mob* mob) { return (new MobClass(mob))->getScriptObject(); }
5+
Local<Object> MobClass::newMobClass(Mob *mob) { return (new MobClass(mob))->getScriptObject(); }

src/API/Mob/Mob.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class MobClass : public ActorClass {
1919
explicit MobClass(Mob* mob) : ActorClass(mob, ConstructFromCpp<MobClass>{}) { this->mMob = mob; };
2020

2121
public:
22-
static Local<Object> newMob(Mob* mob);
22+
static Local<Object> newMobClass(Mob *mob);
2323

2424
public: /* Member */
2525
public: /* Method */

src/Converter/Converter.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
#pragma once
22

3-
#include "boost/pfr.hpp" // IWYU pragma: keep
4-
#include "boost/pfr/core.hpp"
5-
#include "boost/pfr/core_name.hpp"
6-
#include "fmt/format.h"
7-
#include "magic_enum/magic_enum.hpp"
8-
#include "utils/Using.h"
3+
#include <ll/api/reflection/Reflection.h>
4+
5+
#include <fmt/format.h>
96
#include <concepts>
107
#include <cstddef>
118
#include <string>
129
#include <type_traits>
10+
#include <magic_enum.hpp>
1311

1412

1513
namespace Komomo {

src/Converter/StlConverter.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include "Converter/Converter.h"
4+
45
#include <unordered_map>
56
#include <variant>
67
#include <vector>
@@ -119,4 +120,4 @@ namespace Komomo::detail {
119120
};
120121

121122

122-
} // namespace jse::detail
123+
} // namespace Komomo::detail

0 commit comments

Comments
 (0)