Merge branch 'master' into 1.17
This commit is contained in:
commit
1a152ce20a
5 files changed
+30
-9
No files matched your search
@@ -43,8 +43,7 @@ equivalent to `has(get(foo,a), b)` or `has(foo, a, b)`
|
|||||||
### `delete(container, address, ...), delete(lvalue)`
|
### `delete(container, address, ...), delete(lvalue)`
|
||||||
|
|
||||||
Removes specific entry from the container. For the lists - removes the element and shrinks it. For maps, it
|
Removes specific entry from the container. For the lists - removes the element and shrinks it. For maps, it
|
||||||
removes the key from the map, and for nbt - removes content from a given path. For lists and maps returns previous
|
removes the key from the map, and for nbt - removes content from a given path.
|
||||||
entry at the address, for nbt's - number of removed objects, with 0 indicating that the original value was unaffected.
|
|
||||||
|
|
||||||
Like with the `get` and `has`, `delete` can accept chained addresses, as well as l-value container access, removing
|
Like with the `get` and `has`, `delete` can accept chained addresses, as well as l-value container access, removing
|
||||||
the value from the leaf of the path provided, so `delete(foo, a, b)` is the
|
the value from the leaf of the path provided, so `delete(foo, a, b)` is the
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ indicating if the given seed has been used or not.
|
|||||||
|
|
||||||
returns a noise value from `0.0` to `1.0` (roughly) for 1, 2 or 3 dimensional coordinate. The default seed it samples
|
returns a noise value from `0.0` to `1.0` (roughly) for 1, 2 or 3 dimensional coordinate. The default seed it samples
|
||||||
from is `0`, but seed can be specified as a 4th argument as well. In case you need 1D or 2D noise values with custom
|
from is `0`, but seed can be specified as a 4th argument as well. In case you need 1D or 2D noise values with custom
|
||||||
seed, use `null` for `z`, or `y` and `z` arguments respectively.
|
seed, use `null` for `y` and `z`, or `z` arguments respectively.
|
||||||
|
|
||||||
Perlin noise is based on a square grid and generates rougher maps comparing to Simplex, which is creamier.
|
Perlin noise is based on a square grid and generates rougher maps comparing to Simplex, which is creamier.
|
||||||
Querying for lower-dimensional result, rather than affixing unused dimensions to constants has a speed benefit,
|
Querying for lower-dimensional result, rather than affixing unused dimensions to constants has a speed benefit,
|
||||||
|
|||||||
@@ -461,6 +461,10 @@ public class ScriptCommand
|
|||||||
{
|
{
|
||||||
host.handleErrorWithStack("Math doesn't compute", ae);
|
host.handleErrorWithStack("Math doesn't compute", ae);
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
host.handleErrorWithStack("Your thoughts are too deep", soe);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
//host.resetErrorSnooper(); // lets say no need to reset the snooper in case something happens on the way
|
//host.resetErrorSnooper(); // lets say no need to reset the snooper in case something happens on the way
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,10 @@ public class CarpetExpression
|
|||||||
{
|
{
|
||||||
throw new CarpetExpressionException("Math doesn't compute... "+ae.getMessage(), null);
|
throw new CarpetExpressionException("Math doesn't compute... "+ae.getMessage(), null);
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
throw new CarpetExpressionException("Your thoughts are too deep", null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Value scriptRunCommand(ScriptHost host, BlockPos pos)
|
public Value scriptRunCommand(ScriptHost host, BlockPos pos)
|
||||||
@@ -115,5 +119,9 @@ public class CarpetExpression
|
|||||||
{
|
{
|
||||||
throw new CarpetExpressionException("Math doesn't compute... "+ae.getMessage(), null);
|
throw new CarpetExpressionException("Math doesn't compute... "+ae.getMessage(), null);
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
throw new CarpetExpressionException("Your thoughts are too deep", null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -136,6 +136,10 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
host.handleErrorWithStack("Math doesn't compute", ae);
|
host.handleErrorWithStack("Math doesn't compute", ae);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
host.handleErrorWithStack("Your thoughts are too deep", soe);
|
||||||
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
host.storeSource = null;
|
host.storeSource = null;
|
||||||
@@ -698,13 +702,16 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
catch (CarpetExpressionException exc)
|
catch (CarpetExpressionException exc)
|
||||||
{
|
{
|
||||||
handleErrorWithStack("Error while running custom command", exc);
|
handleErrorWithStack("Error while running custom command", exc);
|
||||||
return Value.NULL;
|
|
||||||
}
|
}
|
||||||
catch (ArithmeticException ae)
|
catch (ArithmeticException ae)
|
||||||
{
|
{
|
||||||
handleErrorWithStack("Math doesn't compute", ae);
|
handleErrorWithStack("Math doesn't compute", ae);
|
||||||
return Value.NULL;
|
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
handleErrorWithStack("Your thoughts are too deep", soe);
|
||||||
|
}
|
||||||
|
return Value.NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Value handleCommand(ServerCommandSource source, FunctionValue function, List<Value> args)
|
public Value handleCommand(ServerCommandSource source, FunctionValue function, List<Value> args)
|
||||||
@@ -716,13 +723,16 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
catch (CarpetExpressionException exc)
|
catch (CarpetExpressionException exc)
|
||||||
{
|
{
|
||||||
handleErrorWithStack("Error while running custom command", exc);
|
handleErrorWithStack("Error while running custom command", exc);
|
||||||
return Value.NULL;
|
|
||||||
}
|
}
|
||||||
catch (ArithmeticException ae)
|
catch (ArithmeticException ae)
|
||||||
{
|
{
|
||||||
handleErrorWithStack("Math doesn't compute", ae);
|
handleErrorWithStack("Math doesn't compute", ae);
|
||||||
return Value.NULL;
|
|
||||||
}
|
}
|
||||||
|
catch (StackOverflowError soe)
|
||||||
|
{
|
||||||
|
handleErrorWithStack("Your thoughts are too deep", soe);
|
||||||
|
}
|
||||||
|
return Value.NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Value callLegacy(ServerCommandSource source, String call, List<Integer> coords, String arg)
|
public Value callLegacy(ServerCommandSource source, String call, List<Integer> coords, String arg)
|
||||||
@@ -1068,13 +1078,13 @@ public class CarpetScriptHost extends ScriptHost
|
|||||||
super.resetErrorSnooper();
|
super.resetErrorSnooper();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleErrorWithStack(String intro, Exception exception)
|
public void handleErrorWithStack(String intro, Throwable exception)
|
||||||
{
|
{
|
||||||
if (responsibleSource != null)
|
if (responsibleSource != null)
|
||||||
{
|
{
|
||||||
if (exception instanceof CarpetExpressionException) ((CarpetExpressionException) exception).printStack(responsibleSource);
|
if (exception instanceof CarpetExpressionException) ((CarpetExpressionException) exception).printStack(responsibleSource);
|
||||||
String message = exception.getMessage();
|
String message = exception.getMessage();
|
||||||
Messenger.m(responsibleSource, "r "+intro+(message.isEmpty()?"":": "+message));
|
Messenger.m(responsibleSource, "r "+intro+( (message == null || message.isEmpty())?"":": "+message));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user