4
4
#include " ll/api/service/Bedrock.h"
5
5
#include " magic_enum.hpp"
6
6
#include " mc/certificates/WebToken.h"
7
+ #include " mc/enums/InputMode.h"
7
8
#include " mc/network/ConnectionRequest.h"
8
9
#include " mc/network/ServerNetworkHandler.h"
9
10
#include " mc/world/actor/player/Player.h"
13
14
#include < string>
14
15
15
16
// ////////////////// Class Definition ////////////////////
17
+ ClassDefine<void > InputModeStaticBuilder = EnumDefineBuilder<InputMode>::build(" InputMode" );
16
18
17
19
ClassDefine<DeviceClass> DeviceClassBuilder = defineClass<DeviceClass>(" LLSE_Device" )
18
20
.constructor(nullptr )
@@ -22,8 +24,8 @@ ClassDefine<DeviceClass> DeviceClassBuilder = defineClass<DeviceClass>("LLSE_Dev
22
24
.instanceProperty(" lastPing" , &DeviceClass::getLastPing)
23
25
.instanceProperty(" lastPacketLoss" , &DeviceClass::getLastPacketLoss)
24
26
.instanceProperty(" os" , &DeviceClass::getOs)
25
- // .instanceProperty("inputMode", &DeviceClass::getInputMode)
26
- // .instanceProperty("playMode", &DeviceClass::getPlayMode)
27
+ .instanceProperty(" inputMode" , &DeviceClass::getInputMode)
28
+ // .instanceProperty("playMode", &DeviceClass::getPlayMode)
27
29
.instanceProperty(" serverAddress" , &DeviceClass::getServerAddress)
28
30
.instanceProperty(" clientId" , &DeviceClass::getClientId)
29
31
.build();
@@ -121,9 +123,9 @@ Local<Value> DeviceClass::getServerAddress() {
121
123
return Local<Value>();
122
124
}
123
125
if (player->isSimulatedPlayer ()) String::newString (" unknown" );
124
- Json::Value requestJson = ll::service::getServerNetworkHandler ()
125
- ->fetchConnectionRequest (player->getNetworkIdentifier ())
126
- .mRawToken ->mDataInfo ;
126
+ Json::Value& requestJson = ll::service::getServerNetworkHandler ()
127
+ ->fetchConnectionRequest (player->getNetworkIdentifier ())
128
+ .mRawToken ->mDataInfo ;
127
129
return String::newString (requestJson.get (" ServerAddress" , " unknown" ).asString (" unknown" ));
128
130
}
129
131
CATCH (" Fail in getServerAddress!" )
@@ -136,29 +138,30 @@ Local<Value> DeviceClass::getClientId() {
136
138
137
139
return String::newString (
138
140
ll::service::getServerNetworkHandler ()->fetchConnectionRequest (player->getNetworkIdentifier ()).getDeviceId ()
139
- ); // =============???
141
+ );
140
142
}
141
143
CATCH (" Fail in getClientId!" )
142
144
}
143
145
144
- // Local<Value> DeviceClass::getInputMode() {
145
- // try {
146
- // Player* player = getPlayer();
147
- // if (!player)
148
- // return Local<Value>();
149
- //
150
- // return Number::newNumber((int)player->getInputMode());
151
- // }
152
- // CATCH("Fail in getInputMode!")
153
- // }
154
- //
146
+ Local<Value> DeviceClass::getInputMode () {
147
+ try {
148
+ Player* player = getPlayer ();
149
+ if (!player) return Local<Value>();
150
+
151
+ Json::Value& requestJson = ll::service::getServerNetworkHandler ()
152
+ ->fetchConnectionRequest (player->getNetworkIdentifier ())
153
+ .mRawToken ->mDataInfo ;
154
+ return Number::newNumber (requestJson.get (" CurrentInputMode" , 0 ).asInt (0 ));
155
+ }
156
+ CATCH (" Fail in getInputMode!" )
157
+ }
158
+
155
159
// Local<Value> DeviceClass::getPlayMode() {
156
160
// try {
157
161
// Player* player = getPlayer();
158
- // if (!player)
159
- // return Local<Value>();
160
- //
161
- // return Number::newNumber((int)player->getPlayMode());
162
+ // if (!player) return Local<Value>();
163
+
164
+ // return Number::newNumber(0);
162
165
// }
163
166
// CATCH("Fail in getPlayMode!")
164
167
// }
0 commit comments