Custom Block & Item Support!
Added
ItemextendsItemStackPlayerEntity.getStackInMainHandPlayerEntity.getStackInOffHandMethodextendsCallableFunctionextendsCallableInventoryclassListtoStringItemStack.init(item: Item, count: Integer) -> Null\uXXXXto stringsString.fromUnicode(unicode: Integer) -> StringGUI.onClose(player: PlayerEntity, gui: GUI) -> NullPlayerEntity.getEnderChestInventory() -> InventoryPlayerEntity.setEnderChestInventory(inventory: Inventory) -> NullInventoryconstructorPlayerEntity.setInventory(inventory: Inventory) -> NullPlayerEntity.getInventory() -> InventoryNBTBooleanNBTCompoundNBTElementNBTFloatNBTIntegerNBTListNBTNullNBTString- Casting
startscript tagnonnullaccess modifier- Custom item/block support
Items.register(item: Item) -> ItemItemSettingsBlocks.register(block: Block) -> BlockBlocks.registerWithItem(block: Block) -> BlockBlockSettings
This version is probably very buggy because I added type requirements at the very end.
Added
randomInteger(min: Integer, max: Integer) -> IntegerrandomFloat(min: Float, max: Float) -> FloatString.length() -> IntegerString.uppercase() -> StringString.lowercase() -> StringNumbertype/class- variables/fields have optional required types
- functions have required return types
- function arguments have required types
- methods have required return types
- method arguments have required types
ItemStack.item
Changed
Eventsis now accessed from a static contextEntity.addCommandTag->Entity.addTagEntity.getCommandTags->Entity.getTagsEntity.removeCommandTag->Entity.removeTagEntity.dismountVehicle->Entity.dismountEntity.removeAllPassengers->Entity.removePassengersServerPlayerEntity.changeGameMode->ServerPlayerEntity.setGameMode- Integer now extends Float instead of Float extending Integer
Events.onPlayerAttackEntity->Events.onAttackEntityEvents.onPlayerBreakBlock->Events.onBreakBlockEvents.onPlayerCraftItem->Events.onCraftItemEvents.onPlayerDropItem->Events.onDropItemEvents.onPlayerJump->Events.onJumpEvents.onPlayerPickupItem->Events.onPickupItemEvents.onPlayerRingBell->Events.onRingBellEvents.onPlayerSneak->Events.whileSneakingEvents.onPlayerUseItem->Events.onRightClickItemEvents.onPlayerSendChatMessage->Events.onSendChatMessage
Fixed
- Dictionaries don't work in nbt elements
- Overriding
toStringdoes nothing - A class with no constructor takes an infinite amount of arguments
Improved
- Error messages
Removed
- Resource syntax due to conflict with variable declaration parsing
New syntax:namespace:path->"namespace:path"
Resources are just strings.
Added
abs(number: Integer | Float): ObjectStringis now iterable- Data can now be written to an entity
String.startsWith(text: String): BooleanString.endsWith(text: String): Booleanbreakcan now be used in switch statementString.split(splitter: String): List[String]Integer.parseInteger(integer: String): IntegerFloat.parseFloat(float: String): Floatceil(number: Integer | Float): Integerfloor(number: Integer | Float): IntegerBlockHitResultWorld.breakBlock(pos: BlockPos, drop_items: Boolean): BooleanWorld.getBlock(pos: BlockPos): BlockList.append(object: Object): Null
Changed
events.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, Block]): Nullis nowevents.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, BlockPos, Block]): NullWorld.setBlockrenamed toWorld.placeBlockmaxArgumentsrenamed tomaxArgumentCount
Fixed
- String concatenation
- Event registration not clearing on reload
Improved
- Error messages
Added
- Folder support for resources
foo:barnow supportsfoo:foo/foobar
askeyword to import statements- From statement
- Switch statement
- Switch expression
- Increment/decrement operators
x++/x-- - Access to builtin classes
- Constructors for builtin classes
- Ternary expressions
- Division by zero error
Entity.raycast(distance: Float, target: Block, check_fluids: Boolean): Booleanbase64encode(input: String): Stringbase64decode(input: String): StringEntityTypesList.contains(object: Object): Boolean
Changed
Entity.extinguish(): NullandEntity.extinguishWithSound(): Nullhave been merged into one functionEntity.extinguish(Boolean): Null- Fix circular imports
- Reverted custom load script
- Float extends Integer
First alpha version of Sculk!
Known Bugs
- Crashes on server when any Sculk script errors occur



