/
Custom Block & Item Support!
Item extends ItemStackPlayerEntity.getStackInMainHandPlayerEntity.getStackInOffHandMethod extends CallableFunction extends CallableInventory classList toStringItemStack.init(item: Item, count: Integer) -> Null\uXXXX to stringsString.fromUnicode(unicode: Integer) -> StringGUI.onClose(player: PlayerEntity, gui: GUI) -> NullPlayerEntity.getEnderChestInventory() -> InventoryPlayerEntity.setEnderChestInventory(inventory: Inventory) -> NullInventory constructorPlayerEntity.setInventory(inventory: Inventory) -> NullPlayerEntity.getInventory() -> InventoryNBTBooleanNBTCompoundNBTElementNBTFloatNBTIntegerNBTListNBTNullNBTStringstart script tagnonnull access modifierItems.register(item: Item) -> ItemItemSettingsBlocks.register(block: Block) -> BlockBlocks.registerWithItem(block: Block) -> BlockBlockSettingsThis version is probably very buggy because I added type requirements at the very end.
randomInteger(min: Integer, max: Integer) -> IntegerrandomFloat(min: Float, max: Float) -> FloatString.length() -> IntegerString.uppercase() -> StringString.lowercase() -> StringNumber type/classItemStack.itemEvents is now accessed from a static contextEntity.addCommandTag -> Entity.addTagEntity.getCommandTags -> Entity.getTagsEntity.removeCommandTag -> Entity.removeTagEntity.dismountVehicle -> Entity.dismountEntity.removeAllPassengers -> Entity.removePassengersServerPlayerEntity.changeGameMode -> ServerPlayerEntity.setGameModeEvents.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.onSendChatMessagetoString does nothingnamespace:path -> "namespace:path"abs(number: Integer | Float): ObjectString is now iterableString.startsWith(text: String): BooleanString.endsWith(text: String): Booleanbreak can 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): Nullevents.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, Block]): Null is
now events.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, BlockPos, Block]): NullWorld.setBlock renamed to World.placeBlockmaxArguments renamed to maxArgumentCountfoo:bar now supports foo:foo/foobaras keyword to import statementsx++ / x--Entity.raycast(distance: Float, target: Block, check_fluids: Boolean): Booleanbase64encode(input: String): Stringbase64decode(input: String): StringEntityTypesList.contains(object: Object): BooleanEntity.extinguish(): Null and Entity.extinguishWithSound(): Null have been merged into one
function Entity.extinguish(Boolean): NullFirst alpha version of Sculk!
