Skip to content

v0.13.0

Compare
Choose a tag to compare
@github-actions github-actions released this 23 Jan 23:59
· 50 commits to main since this release

Breaking

  • Removed TempScoreSource (add0eda)
  • Removed ConstantScoreSource (add0eda)
  • ExpressionNode objects now require a ctx parameter that can either be beet's Context or Expression. This includes ScoreSource and DataSource. (add0eda)
  • Removed the ExpressionNode.create factory method. Use the constructor as expected (add0eda)
  • Renamed Score class to Objective (awkward name for the object returned by Scoreboard) (72afafe)
  • The internal optimizer now works with a restricted IR (690eb40)
  • Replaced resolver with a serializer to produce command strings (8252db4)

Feature

  • Specify data source types using square brackets (score/data casting only) (b7b96fb)
from nbtlib import Double, Byte

storage.x[Double] = obj["@s"]
# execute store result storage ... double 1 run scoreboard players get @s obj

# applying a scale
storage.x[Double] = obj["@s"] / 100

count = storage.item.Count[Byte]

# right side is casted to byte
count = obj["$count"]
count = storage.value

value = storage.value[Byte]

# no casting happens when both sides have the same type
count = value
# data modify ... count set from storage ... value
  • Added DataSource merge operation as | (binary or) (add0eda)
storage.result = storage.a | storage.b | storage.c
# data modify storage ... result set from storage ... a
# data modify storage ... result merge from storage ... b
# data modify storage ... result merge from storage ... c

Fix

  • Reuse temporary score names (0eb9556)
  • Make api not dependent of Context object (72afafe)
  • Reduce number of temporaries used for score and data operations (8756e50)