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/api/Scoreboards.java b/src/main/java/carpet/script/api/Scoreboards.java index 0b4b6743..ec74ddce 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 7a8ab8b9..bfdfbd91 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -175,6 +175,7 @@ "PlayerInventory_scarpetEventMixin", "ScoreboardObjective_scarpetMixin", "Scoreboard_scarpetMixin", + "Team_scarpetMixin", "TradeOutputSlot_scarpetEventMixin", "BiomeEffects_scarpetMixin",