ability to query client brand and server scarpet version.
This commit is contained in:
1 parent
632d7c3268
commit
259bdc2c94
5 files changed
+27
-10
No files matched your search
@@ -500,7 +500,6 @@ Available options in the scarpet app space:
|
|||||||
* `game_version` - base version of the game
|
* `game_version` - base version of the game
|
||||||
|
|
||||||
Server related properties
|
Server related properties
|
||||||
|
|
||||||
* `server_motd` - the motd of the server visible when joining
|
* `server_motd` - the motd of the server visible when joining
|
||||||
* `server_ip` - IP adress of the game hosted
|
* `server_ip` - IP adress of the game hosted
|
||||||
* `server_whitelisted` - boolean indicating whether the access to the server is only for whitelisted players
|
* `server_whitelisted` - boolean indicating whether the access to the server is only for whitelisted players
|
||||||
@@ -516,4 +515,7 @@ Available options in the scarpet app space:
|
|||||||
* `java_version` - version of Java
|
* `java_version` - version of Java
|
||||||
* `java_bits` - number indicating how many bits the Java has, 32 or 64
|
* `java_bits` - number indicating how many bits the Java has, 32 or 64
|
||||||
* `java_system_cpu_load` - current percentage of CPU used by the system
|
* `java_system_cpu_load` - current percentage of CPU used by the system
|
||||||
* `java_process_cpu_load` - current percentage of CPU used by JVM
|
* `java_process_cpu_load` - current percentage of CPU used by JVM
|
||||||
|
|
||||||
|
Scarpet related properties
|
||||||
|
* `scarpet_version` - returns the version of the carpet your scarpet comes with.
|
||||||
@@ -366,6 +366,11 @@ Player's ping in milliseconds, or `null` if its not a player.
|
|||||||
|
|
||||||
Player's permission level, or `null` if not applicable for this entity.
|
Player's permission level, or `null` if not applicable for this entity.
|
||||||
|
|
||||||
|
### `query(e, 'client_brand')`
|
||||||
|
|
||||||
|
Returns recognized type of client of the client connected. Possible results include `'vanilla'`, or `'carpet <version>'` where
|
||||||
|
version indicates the version of the connected carpet client.
|
||||||
|
|
||||||
### `query(e, 'effect', name?)`
|
### `query(e, 'effect', name?)`
|
||||||
|
|
||||||
Without extra arguments, it returns list of effect active on a living entity. Each entry is a triple of short
|
Without extra arguments, it returns list of effect active on a living entity. Each entry is a triple of short
|
||||||
|
|||||||
@@ -217,6 +217,13 @@ public class ServerNetworkHandler
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getPlayerStatus(ServerPlayerEntity player)
|
||||||
|
{
|
||||||
|
if (remoteCarpetPlayers.containsKey(player)) return "carpet "+remoteCarpetPlayers.get(player);
|
||||||
|
if (validCarpetPlayers.contains(player)) return "carpet "+CarpetSettings.carpetVersion;
|
||||||
|
return "vanilla";
|
||||||
|
}
|
||||||
|
|
||||||
private static class DataBuilder
|
private static class DataBuilder
|
||||||
{
|
{
|
||||||
private CompoundTag tag;
|
private CompoundTag tag;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package carpet.script.utils;
|
package carpet.script.utils;
|
||||||
|
|
||||||
import carpet.CarpetServer;
|
import carpet.CarpetServer;
|
||||||
|
import carpet.CarpetSettings;
|
||||||
import carpet.script.CarpetContext;
|
import carpet.script.CarpetContext;
|
||||||
import carpet.script.CarpetScriptHost;
|
import carpet.script.CarpetScriptHost;
|
||||||
import carpet.script.value.ListValue;
|
import carpet.script.value.ListValue;
|
||||||
@@ -123,14 +124,7 @@ public class SystemInfo {
|
|||||||
});
|
});
|
||||||
return carpetRules;
|
return carpetRules;
|
||||||
});
|
});
|
||||||
|
put("scarpet_version", c -> StringValue.of(CarpetSettings.carpetVersion));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}};
|
}};
|
||||||
public static Value get(String what, CarpetContext cc)
|
public static Value get(String what, CarpetContext cc)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import carpet.fakes.MobEntityInterface;
|
|||||||
import carpet.fakes.HungerManagerInterface;
|
import carpet.fakes.HungerManagerInterface;
|
||||||
import carpet.fakes.ServerPlayerInteractionManagerInterface;
|
import carpet.fakes.ServerPlayerInteractionManagerInterface;
|
||||||
import carpet.helpers.Tracer;
|
import carpet.helpers.Tracer;
|
||||||
|
import carpet.network.ServerNetworkHandler;
|
||||||
import carpet.patches.EntityPlayerMPFake;
|
import carpet.patches.EntityPlayerMPFake;
|
||||||
import carpet.script.CarpetContext;
|
import carpet.script.CarpetContext;
|
||||||
import carpet.script.EntityEventsGroup;
|
import carpet.script.EntityEventsGroup;
|
||||||
@@ -579,6 +580,14 @@ public class EntityValue extends Value
|
|||||||
return Value.NULL;
|
return Value.NULL;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
put("client_brand", (e, a) -> {
|
||||||
|
if (e instanceof ServerPlayerEntity)
|
||||||
|
{
|
||||||
|
return StringValue.of(ServerNetworkHandler.getPlayerStatus((ServerPlayerEntity) e));
|
||||||
|
}
|
||||||
|
return Value.NULL;
|
||||||
|
});
|
||||||
|
|
||||||
put("team", (e, a) -> e.getScoreboardTeam()==null?Value.NULL:new StringValue(e.getScoreboardTeam().getName()));
|
put("team", (e, a) -> e.getScoreboardTeam()==null?Value.NULL:new StringValue(e.getScoreboardTeam().getName()));
|
||||||
|
|
||||||
put("ping", (e, a) -> {
|
put("ping", (e, a) -> {
|
||||||
|
|||||||
Reference in new issue
Block a user