player() returns consistently on player scoped apps.
This commit is contained in:
1 parent
d99ab4fc24
commit
6225e5f632
3 files changed
+16
-6
No files matched your search
@@ -8,7 +8,10 @@ In this case - entities would need to be re-fetched, or the code should account
|
|||||||
|
|
||||||
### `player(), player(type), player(name)`
|
### `player(), player(type), player(name)`
|
||||||
|
|
||||||
With no arguments, it returns the calling player or the player closest to the caller. Note that the main context
|
With no arguments, it returns the calling player or the player closest to the caller.
|
||||||
|
For player-scoped apps (which is a default) its always the owning player or `null` if it not present even if some code
|
||||||
|
still runs in their name.
|
||||||
|
Note that the main context
|
||||||
will receive `p` variable pointing to this player. With `type` or `name` specified, it will try first to match a type,
|
will receive `p` variable pointing to this player. With `type` or `name` specified, it will try first to match a type,
|
||||||
returning a list of players matching a type, and if this fails, will assume its player name query retuning player with
|
returning a list of players matching a type, and if this fails, will assume its player name query retuning player with
|
||||||
that name, or `null` if no player was found. With `'all'`, list of all players in the game, in all dimensions, so end
|
that name, or `null` if no player was found. With `'all'`, list of all players in the game, in all dimensions, so end
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public abstract class ScriptHost
|
|||||||
|
|
||||||
protected ScriptHost parent;
|
protected ScriptHost parent;
|
||||||
protected boolean perUser;
|
protected boolean perUser;
|
||||||
protected String user;
|
public String user;
|
||||||
|
|
||||||
public String getName() {return main ==null?null: main.getName();}
|
public String getName() {return main ==null?null: main.getName();}
|
||||||
|
|
||||||
|
|||||||
@@ -45,10 +45,17 @@ public class Entities {
|
|||||||
{
|
{
|
||||||
expression.addLazyFunction("player", -1, (c, t, lv) ->
|
expression.addLazyFunction("player", -1, (c, t, lv) ->
|
||||||
{
|
{
|
||||||
if (lv.size() ==0)
|
if (lv.size() == 0)
|
||||||
{
|
{
|
||||||
|
CarpetContext cc = (CarpetContext)c;
|
||||||
Entity callingEntity = ((CarpetContext)c).s.getEntity();
|
if (cc.host.user != null)
|
||||||
|
{
|
||||||
|
ServerPlayerEntity player = cc.s.getMinecraftServer().getPlayerManager().getPlayer(cc.host.user);
|
||||||
|
if (player == null) return LazyValue.NULL;
|
||||||
|
Value ret = new EntityValue(player);
|
||||||
|
return (_c, _t) -> ret;
|
||||||
|
}
|
||||||
|
Entity callingEntity = cc.s.getEntity();
|
||||||
if (callingEntity instanceof PlayerEntity)
|
if (callingEntity instanceof PlayerEntity)
|
||||||
{
|
{
|
||||||
Value retval = new EntityValue(callingEntity);
|
Value retval = new EntityValue(callingEntity);
|
||||||
@@ -108,7 +115,7 @@ public class Entities {
|
|||||||
retval = new EntityValue(player);
|
retval = new EntityValue(player);
|
||||||
}
|
}
|
||||||
Value finalVar = retval;
|
Value finalVar = retval;
|
||||||
return (cc, tt) -> finalVar;
|
return (_c, _t) -> finalVar;
|
||||||
});
|
});
|
||||||
|
|
||||||
expression.addLazyFunction("spawn", -1, (c, t, lv) ->
|
expression.addLazyFunction("spawn", -1, (c, t, lv) ->
|
||||||
|
|||||||
Reference in new issue
Block a user