Merge branch 'master' into 1.15

This commit is contained in:
gnembon committed 2019-10-28 21:55:49 -03:00
commit b1e2b4367d
5 files changed
+75 -29

No files matched your search

@@ -36,11 +36,15 @@ public class InventoryHelper
} }
if (bet.isEmpty()) if (bet.isEmpty())
{
tag.remove("BlockEntityTag");
changed = true;
}
if (tag.isEmpty())
{ {
stack.setTag(null); stack.setTag(null);
changed = true; changed = true;
} }
return changed; return changed;
} }
+3 -2
View File
@@ -24,6 +24,7 @@ import carpet.script.value.MapValue;
import carpet.script.value.NumericValue; import carpet.script.value.NumericValue;
import carpet.script.value.StringValue; import carpet.script.value.StringValue;
import carpet.script.value.Value; import carpet.script.value.Value;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.text.WordUtils;
import java.math.BigInteger; import java.math.BigInteger;
@@ -388,10 +389,10 @@ public class Expression implements Cloneable
private LazyValue ast = null; private LazyValue ast = null;
/** script specific operatos and built-in functions */ /** script specific operatos and built-in functions */
private Map<String, ILazyOperator> operators = new HashMap<>(); private Map<String, ILazyOperator> operators = new Object2ObjectOpenHashMap<>();
boolean isAnOperator(String opname) { return operators.containsKey(opname) || operators.containsKey(opname+"u");} boolean isAnOperator(String opname) { return operators.containsKey(opname) || operators.containsKey(opname+"u");}
private Map<String, ILazyFunction> functions = new HashMap<>(); private Map<String, ILazyFunction> functions = new Object2ObjectOpenHashMap<>();
Set<String> getFunctionNames() {return functions.keySet();} Set<String> getFunctionNames() {return functions.keySet();}
@Override @Override
+4 -3
View File
@@ -9,6 +9,7 @@ import carpet.script.value.NumericValue;
import carpet.script.value.StringValue; import carpet.script.value.StringValue;
import carpet.script.value.Value; import carpet.script.value.Value;
import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.CommandSyntaxException;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.nbt.Tag; import net.minecraft.nbt.Tag;
@@ -29,9 +30,9 @@ import static java.lang.Math.max;
public class ScriptHost public class ScriptHost
{ {
private final Map<String, ScriptHost> userHosts = new HashMap<>(); private final Map<String, ScriptHost> userHosts = new Object2ObjectOpenHashMap<>();
public Map<String, UserDefinedFunction> globalFunctions = new HashMap<>(); public Map<String, UserDefinedFunction> globalFunctions = new Object2ObjectOpenHashMap<>();
public Map<String, LazyValue> globalVariables = new HashMap<>(); public Map<String, LazyValue> globalVariables = new Object2ObjectOpenHashMap<>();
private Tag globalState; private Tag globalState;
private int saveTimeout; private int saveTimeout;
+9 -14
View File
@@ -121,12 +121,9 @@ public class Tokenizer implements Iterator<Tokenizer.Token>
{ {
pos++; pos++;
linepos++; linepos++;
if (pos == input.length()) token.type = Token.TokenType.STRINGPARAM;
{ if (pos == input.length() && expression != null)
token.type = Token.TokenType.STRINGPARAM; throw new ExpressionException(this.expression, token, "Program truncated");
if (expression != null)
throw new ExpressionException(this.expression, token, "Program truncated");
}
ch = input.charAt(pos); ch = input.charAt(pos);
while (ch != '\'') while (ch != '\'')
{ {
@@ -134,20 +131,18 @@ public class Tokenizer implements Iterator<Tokenizer.Token>
{ {
pos++; pos++;
linepos++; linepos++;
if (pos == input.length()) if (pos == input.length() && expression != null)
{ throw new ExpressionException(this.expression, token, "Program truncated");
token.type = Token.TokenType.STRINGPARAM;
if (expression != null)
throw new ExpressionException(this.expression, token, "Program truncated");
}
} }
token.append(input.charAt(pos++)); token.append(input.charAt(pos++));
linepos++; linepos++;
ch = pos == input.length() ? 0 : input.charAt(pos); if (pos == input.length() && expression != null)
throw new ExpressionException(this.expression, token, "Program truncated");
ch = input.charAt(pos);
} }
pos++; pos++;
linepos++; linepos++;
token.type = Token.TokenType.STRINGPARAM;
} }
else if (Character.isLetter(ch) || "_".indexOf(ch) >= 0) else if (Character.isLetter(ch) || "_".indexOf(ch) >= 0)
{ {
@@ -1,13 +1,26 @@
__on_player_jumps(player) -> print('Player '+player+' jumps.'); __on_player_jumps(player) -> (
print('');
print('__on_player_jumps(player)');
print('Player '+player+' jumps.')
);
__on_player_deploys_elytra(player) -> print('Player '+player+' deploys elytra.'); __on_player_deploys_elytra(player) -> (
print('');
print('__on_player_deploys_elytra(player)');
print('Player '+player+' deploys elytra.')
);
__on_player_wakes_up(player) -> print('Player '+player+' wakes up. Lemme know when this starts working'); __on_player_wakes_up(player) -> (
print('');
print('__on_player_wakes_up(player)');
print('Player '+player+' wakes up. Lemme know when this starts working')
);
__on_player_rides(player, forward, strafe, jumping, sneaking) -> __on_player_rides(player, forward, strafe, jumping, sneaking) ->
( (
print(''); print('');
print('__on_player_rides(player, forward, strafe, jumping, sneaking)');
print('player rides a vehicle:'); print('player rides a vehicle:');
print(' - player: '+player); print(' - player: '+player);
print(' - forward/backward: '+forward); print(' - forward/backward: '+forward);
@@ -20,6 +33,7 @@ __on_player_uses_item(player, item_tuple, hand) ->
( (
l(item, count, nbt) = item_tuple || l('None', 0, null); l(item, count, nbt) = item_tuple || l('None', 0, null);
print(''); print('');
print('__on_player_uses_item(player, item_tuple, hand)');
print('player uses an item:'); print('player uses an item:');
print(' - player: '+player); print(' - player: '+player);
print(' - item:'); print(' - item:');
@@ -32,6 +46,7 @@ __on_player_uses_item(player, item_tuple, hand) ->
__on_player_clicks_block(player, block, face) -> __on_player_clicks_block(player, block, face) ->
( (
print(''); print('');
print('__on_player_clicks_block(player, block, face)');
print('player clicks a block:'); print('player clicks a block:');
print(' - player: '+player); print(' - player: '+player);
print(' - block: '+block+' at '+map(pos(block), str('%.2f',_))); print(' - block: '+block+' at '+map(pos(block), str('%.2f',_)));
@@ -43,6 +58,7 @@ __on_player_right_clicks_block(player, item_tuple, hand, block, face, hitvec) ->
( (
l(item, count, nbt) = item_tuple || l('None', 0, null); l(item, count, nbt) = item_tuple || l('None', 0, null);
print(''); print('');
print('__on_player_right_clicks_block(player, item_tuple, hand, block, face, hitvec) ');
print('block right clicked by player:'); print('block right clicked by player:');
print(' - player: '+player); print(' - player: '+player);
print(' - item: '+item); print(' - item: '+item);
@@ -55,6 +71,7 @@ __on_player_right_clicks_block(player, item_tuple, hand, block, face, hitvec) ->
__on_player_breaks_block(player, block) -> __on_player_breaks_block(player, block) ->
( (
print(''); print('');
print('__on_player_breaks_block(player, block)');
print('player breaks block:'); print('player breaks block:');
print(' - player: '+player); print(' - player: '+player);
print(' - block: '+block+' at '+map(pos(block), str('%.2f',_))) print(' - block: '+block+' at '+map(pos(block), str('%.2f',_)))
@@ -63,6 +80,7 @@ __on_player_breaks_block(player, block) ->
__on_player_interacts_with_entity(player, entity, hand) -> __on_player_interacts_with_entity(player, entity, hand) ->
( (
print(''); print('');
print('__on_player_interacts_with_entity(player, entity, hand)');
print('player interacts with entity:'); print('player interacts with entity:');
print(' - player: '+player); print(' - player: '+player);
print(' - entity: '+entity+' at '+map(pos(entity), str('%.2f',_))); print(' - entity: '+entity+' at '+map(pos(entity), str('%.2f',_)));
@@ -72,23 +90,41 @@ __on_player_interacts_with_entity(player, entity, hand) ->
__on_player_attacks_entity(player, entity) -> __on_player_attacks_entity(player, entity) ->
( (
print(''); print('');
print('__on_player_attacks_entity(player, entity)');
print('player attacks entity:'); print('player attacks entity:');
print(' - player: '+player); print(' - player: '+player);
print(' - entity: '+entity+' at '+map(pos(entity), str('%.2f',_))) print(' - entity: '+entity+' at '+map(pos(entity), str('%.2f',_)))
); );
__on_player_starts_sneaking(player) -> print('Player '+player+' starts sneaking.'); __on_player_starts_sneaking(player) -> (
print('');
print('__on_player_starts_sneaking(player)');
print('Player '+player+' starts sneaking.')
);
__on_player_stops_sneaking(player) -> print('Player '+player+' stops sneaking.'); __on_player_stops_sneaking(player) -> (
print('');
print('__on_player_stops_sneaking(player)');
print(' Player '+player+' stops sneaking.')
);
__on_player_starts_sprinting(player) -> print('Player '+player+' starts sprinting.'); __on_player_starts_sprinting(player) -> (
print('');
print('__on_player_starts_sprinting(player)');
print(' Player '+player+' starts sprinting.')
);
__on_player_stops_sprinting(player) -> print('Player '+player+' stops sprinting.'); __on_player_stops_sprinting(player) -> (
print('');
print('__on_player_stops_sprinting(player)');
print('Player '+player+' stops sprinting.')
);
__on_player_releases_item(player, item_tuple, hand) -> __on_player_releases_item(player, item_tuple, hand) ->
( (
l(item, count, nbt) = item_tuple || l('None', 0, null); l(item, count, nbt) = item_tuple || l('None', 0, null);
print(''); print('');
print('__on_player_releases_item(player, item_tuple, hand)');
print('player releases an item:'); print('player releases an item:');
print(' - player: '+player); print(' - player: '+player);
print(' - item:'); print(' - item:');
@@ -102,6 +138,7 @@ __on_player_finishes_using_item(player, item_tuple, hand) ->
( (
l(item, count, nbt) = item_tuple || l('None', 0, null); l(item, count, nbt) = item_tuple || l('None', 0, null);
print(''); print('');
print('__on_player_finishes_using_item(player, item_tuple, hand)');
print('player finishes using an item:'); print('player finishes using an item:');
print(' - player: '+player); print(' - player: '+player);
print(' - item:'); print(' - item:');
@@ -111,6 +148,14 @@ __on_player_finishes_using_item(player, item_tuple, hand) ->
print(' - hand: '+hand) print(' - hand: '+hand)
); );
__on_player_drops_item(player) -> print('Player '+player+' drops current item.'); __on_player_drops_item(player) -> (
print('');
print('__on_player_drops_item(player)');
print('Player '+player+' drops current item.')
);
__on_player_drops_stack(player) -> print('Player '+player+' drops current stack.'); __on_player_drops_stack(player) -> (
print('');
print('__on_player_drops_stack(player)');
print('Player '+player+' drops current stack.')
);