diff --git a/src/main/java/carpet/mixins/Team_scarpetMixin.java b/src/main/java/carpet/mixins/Team_scarpetMixin.java new file mode 100644 index 00000000..ffd0eb59 --- /dev/null +++ b/src/main/java/carpet/mixins/Team_scarpetMixin.java @@ -0,0 +1,13 @@ +package carpet.mixins; + +import net.minecraft.scoreboard.Team; +import net.minecraft.util.Formatting; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(Team.class) +public interface Team_scarpetMixin +{ + @Accessor("color") + Formatting getColor(); +} diff --git a/src/main/java/carpet/script/Expression.java b/src/main/java/carpet/script/Expression.java index 285c2135..67702f47 100644 --- a/src/main/java/carpet/script/Expression.java +++ b/src/main/java/carpet/script/Expression.java @@ -1074,7 +1074,8 @@ public class Expression return root.op; Context optimizeOnlyContext = new Context.ContextForErrorReporting(context); - CarpetScriptServer.LOG.info("Input code size for "+getModuleName()+": " + treeSize(root) + " nodes, " + treeDepth(root) + " deep"); + if (CarpetSettings.scriptsDebugging) + CarpetScriptServer.LOG.info("Input code size for "+getModuleName()+": " + treeSize(root) + " nodes, " + treeDepth(root) + " deep"); boolean changed = true; while(changed) { @@ -1085,7 +1086,8 @@ public class Expression boolean optimized = compactTree(root, Context.Type.NONE, 0); if (!optimized) break; changed = true; - CarpetScriptServer.LOG.info("Compacted from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth"); + if (CarpetSettings.scriptsDebugging) + CarpetScriptServer.LOG.info("Compacted from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth"); } while (true) { int tree_size = treeSize(root); @@ -1093,7 +1095,8 @@ public class Expression boolean optimized = optimizeTree(optimizeOnlyContext, root, Context.Type.NONE, 0); if (!optimized) break; changed = true; - CarpetScriptServer.LOG.info("Optimized from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth"); + if (CarpetSettings.scriptsDebugging) + CarpetScriptServer.LOG.info("Optimized from " + tree_size + " nodes, " + tree_depth + " code depth to " + treeSize(root) + " nodes, " + treeDepth(root) + " code depth"); } } return extractOp(optimizeOnlyContext, root, Context.Type.NONE); diff --git a/src/main/java/carpet/script/api/Scoreboards.java b/src/main/java/carpet/script/api/Scoreboards.java index 5d34533c..ea21a957 100644 --- a/src/main/java/carpet/script/api/Scoreboards.java +++ b/src/main/java/carpet/script/api/Scoreboards.java @@ -2,6 +2,7 @@ package carpet.script.api; import carpet.mixins.ScoreboardObjective_scarpetMixin; import carpet.mixins.Scoreboard_scarpetMixin; +import carpet.mixins.Team_scarpetMixin; import carpet.script.CarpetContext; import carpet.script.Expression; import carpet.script.LazyValue; @@ -337,7 +338,7 @@ public class Scoreboards { team.setCollisionRule(collisionRule); break; case "color": - if(!modifying) return new StringValue(team.getColor().getName()); + if(!modifying) return new StringValue(((Team_scarpetMixin) team).getColor().getName()); if(!(settingVal instanceof StringValue)) throw new InternalExpressionException("'team_property' requires a string as the third argument for the property " + propertyVal.getString()); Formatting color = Formatting.byName(settingVal.getString().toUpperCase()); if(color == null || !color.isColor()) throw new InternalExpressionException("Unknown value for property " + propertyVal.getString() + ": " + settingVal.getString()); diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 56c8e365..a9c777f6 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -181,6 +181,7 @@ "PlayerInventory_scarpetEventMixin", "ScoreboardObjective_scarpetMixin", "Scoreboard_scarpetMixin", + "Team_scarpetMixin", "TradeOutputSlot_scarpetEventMixin", "BiomeEffects_scarpetMixin",