Skip to content

Commit 57c57bc

Browse files
authored
Adapt/es v0.6.0 (#14)
* fix: update dependencies to latest versions * feat: adapt es v0.6.0
1 parent 54ce89e commit 57c57bc

File tree

16 files changed

+115
-21
lines changed

16 files changed

+115
-21
lines changed

src/api/PlayerAPI.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include "utils/Using.h"
1212

1313

14-
1514
namespace jse {
1615

1716
ClassDefine<PlayerAPI> PlayerAPI::builder =
@@ -62,6 +61,7 @@ ClassDefine<PlayerAPI> PlayerAPI::builder =
6261
.instanceFunction("sendPacket", &PlayerAPI::sendPacket)
6362

6463
// PlayerAPI extends MobAPI
64+
.instanceFunction("asMob", &MobAPI::asMob) // MobAPI::asMob override CommandSender::asMob
6565
.instanceFunction("isGliding", &MobAPI::isGliding)
6666

6767
// MobAPI extends ActorAPI

src/api/actor/ActorAPI.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ ClassDefine<ActorAPI> ActorAPI::builder =
4444
.instanceFunction("asCommandSender", &CommandSenderAPI::asCommandSender)
4545
.instanceFunction("asConsole", &CommandSenderAPI::asConsole)
4646
.instanceFunction("asActor", &CommandSenderAPI::asActor)
47+
.instanceFunction("asMob", &CommandSenderAPI::asMob)
4748
.instanceFunction("asPlayer", &CommandSenderAPI::asPlayer)
4849
.instanceFunction("sendMessage", &CommandSenderAPI::sendMessage)
4950
.instanceFunction("sendErrorMessage", &CommandSenderAPI::sendErrorMessage)

src/api/actor/MobAPI.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "api/actor/MobAPI.h"
2+
#include "api/APIHelper.h"
23
#include "converter/Convert.h"
34
#include "utils/Using.h"
45

@@ -8,6 +9,7 @@ ClassDefine<MobAPI> MobAPI::builder =
89
defineClass<MobAPI>("Mob")
910
.constructor(nullptr)
1011
.instanceFunction("toString", &MobAPI::toString)
12+
.instanceFunction("asMob", &MobAPI::asMob) // MobAPI::asMob override CommandSender::asMob
1113
.instanceFunction("isGliding", &MobAPI::isGliding)
1214

1315
// MobAPI extends ActorAPI
@@ -64,6 +66,16 @@ ClassDefine<MobAPI> MobAPI::builder =
6466

6567
Local<Value> MobAPI::toString(Arguments const& /* args */) { return ConvertToScript("<Mob>"); }
6668

69+
Local<Value> MobAPI::asMob(Arguments const& /* args */) {
70+
try {
71+
if (auto mob = get()->asMob(); mob) {
72+
return MobAPI::newInstance(mob);
73+
}
74+
return {};
75+
}
76+
Catch;
77+
}
78+
6779
Local<Value> MobAPI::isGliding(Arguments const& /* args */) { return ConvertToScript(get()->isGliding()); }
6880

6981
} // namespace jse

src/api/actor/MobAPI.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class MobAPI : public ActorAPI {
2323

2424
public:
2525
METHODS(toString);
26+
METHODS(asMob);
2627
METHODS(isGliding);
2728

2829
public:

src/api/command/CommandSenderAPI.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ ClassDefine<CommandSenderAPI> CommandSenderAPI::builder =
1717
.instanceFunction("asCommandSender", &CommandSenderAPI::asCommandSender)
1818
.instanceFunction("asConsole", &CommandSenderAPI::asConsole)
1919
.instanceFunction("asActor", &CommandSenderAPI::asActor)
20+
.instanceFunction("asMob", &CommandSenderAPI::asMob)
2021
.instanceFunction("asPlayer", &CommandSenderAPI::asPlayer)
2122
.instanceFunction("sendMessage", &CommandSenderAPI::sendMessage)
2223
.instanceFunction("sendErrorMessage", &CommandSenderAPI::sendErrorMessage)
@@ -49,6 +50,16 @@ Local<Value> CommandSenderAPI::asActor(Arguments const& /* args */) {
4950
return ActorAPI::newInstance(mSender->asActor());
5051
}
5152

53+
Local<Value> CommandSenderAPI::asMob(Arguments const& /* args */) {
54+
try {
55+
if (auto mob = mSender->asMob(); mob) {
56+
return MobAPI::newInstance(mob);
57+
}
58+
return {};
59+
}
60+
Catch;
61+
}
62+
5263
Local<Value> CommandSenderAPI::asPlayer(Arguments const& /* args */) {
5364
if (mSender->asPlayer() == nullptr) return Local<Value>();
5465
return PlayerAPI::newInstance(mSender->asPlayer());

src/api/command/CommandSenderAPI.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class CommandSenderAPI : public PermissibleAPI {
3131
METHODS(asCommandSender);
3232
METHODS(asConsole);
3333
METHODS(asActor);
34+
METHODS(asMob);
3435
METHODS(asPlayer);
3536
METHODS(sendMessage);
3637
METHODS(sendErrorMessage);

src/api/form/ActionFormAPI.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include "api/form/FormAPI.h"
55
#include "api/lang/TranslatableAPI.h"
66
#include "converter/Convert.h"
7-
#include "endstone/endstone.h"
87
#include "endstone/message.h"
98
#include "endstone/player.h"
109
#include "utils/ResourceSafety.h"

src/api/form/MessageFormAPI.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#include "api/PlayerAPI.h"
44
#include "api/form/FormAPI.h"
55
#include "converter/Convert.h"
6-
#include "endstone/endstone.h"
76
#include "endstone/message.h"
87
#include "utils/ResourceSafety.h"
98
#include "utils/Using.h"

src/api/level/DimensionAPI.cc

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
#include "DimensionAPI.h"
22
#include "LevelAPI.h"
3+
#include "api/APIHelper.h"
34
#include "converter/Convert.h"
45

56

67
namespace jse {
78

89

9-
ClassDefine<DimensionAPI> DimensionAPI::builder = defineClass<DimensionAPI>("Dimension")
10-
.constructor(nullptr)
11-
.instanceFunction("toString", &DimensionAPI::toString)
12-
.instanceFunction("getName", &DimensionAPI::getName)
13-
.instanceFunction("getType", &DimensionAPI::getType)
14-
.instanceFunction("getLevel", &DimensionAPI::getLevel)
15-
.instanceFunction("getBlockAt", &DimensionAPI::getBlockAt)
16-
.build();
10+
ClassDefine<DimensionAPI> DimensionAPI::builder =
11+
defineClass<DimensionAPI>("Dimension")
12+
.constructor(nullptr)
13+
.instanceFunction("toString", &DimensionAPI::toString)
14+
.instanceFunction("getName", &DimensionAPI::getName)
15+
.instanceFunction("getType", &DimensionAPI::getType)
16+
.instanceFunction("getLevel", &DimensionAPI::getLevel)
17+
.instanceFunction("getBlockAt", &DimensionAPI::getBlockAt)
18+
.instanceFunction("getHighestBlockYAt", &DimensionAPI::getHighestBlockYAt)
19+
.instanceFunction("getHighestBlockAt", &DimensionAPI::getHighestBlockAt)
20+
.instanceFunction("getLoadedChunks", &DimensionAPI::getLoadedChunks)
21+
.build();
1722

1823

1924
Local<Value> DimensionAPI::toString(Arguments const& /* args */) { return ConvertToScript("<Dimension>"); }
@@ -26,4 +31,28 @@ Local<Value> DimensionAPI::getLevel(Arguments const& /* args */) { return LevelA
2631

2732
Local<Value> DimensionAPI::getBlockAt(Arguments const& /* args */) { return Local<Value>(); } // TODO: BlockAPI
2833

34+
Local<Value> DimensionAPI::getHighestBlockYAt(Arguments const& args) {
35+
try {
36+
CheckArgsCount(args, 2);
37+
CheckArgType(args[0], ValueKind::kNumber);
38+
CheckArgType(args[1], ValueKind::kNumber);
39+
return ConvertToScript(get()->getHighestBlockYAt(ConvertToCpp<int>(args[0]), ConvertToCpp<int>(args[1])));
40+
}
41+
Catch;
42+
}
43+
44+
Local<Value> DimensionAPI::getHighestBlockAt(Arguments const& /* args */) {
45+
try {
46+
return {}; // TODO: BlockAPI
47+
}
48+
Catch;
49+
}
50+
51+
Local<Value> DimensionAPI::getLoadedChunks(Arguments const& /* args */) {
52+
try {
53+
return {}; // TODO: ChunkAPI
54+
}
55+
Catch;
56+
}
57+
2958
} // namespace jse

src/api/level/DimensionAPI.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include "utils/Using.h"
55

66

7-
87
namespace jse {
98

109

@@ -28,6 +27,9 @@ class DimensionAPI : public ScriptClass {
2827
METHODS(getType);
2928
METHODS(getLevel);
3029
METHODS(getBlockAt); // TODO: BlockAPI
30+
METHODS(getHighestBlockYAt);
31+
METHODS(getHighestBlockAt);
32+
METHODS(getLoadedChunks);
3133

3234
public:
3335
static ClassDefine<DimensionAPI> builder;

0 commit comments

Comments
 (0)