promotional bannermobile promotional banner

Sculk Lang

A programming language for Minecraft datapacks.

File Details

sculk-0.0.4.jar

  • A
  • Feb 15, 2024
  • 531.84 KB
  • 31
  • 1.20.4
  • Fabric

File Name

sculk-0.0.4.jar

Supported Versions

  • 1.20.4

Curse Maven Snippet

Fabric

modImplementation "curse.maven:sculk-lang-975252:5111267"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

This version is probably very buggy because I added type requirements at the very end.

Added

  • randomInteger(min: Integer, max: Integer) -> Integer
  • randomFloat(min: Float, max: Float) -> Float
  • String.length() -> Integer
  • String.uppercase() -> String
  • String.lowercase() -> String
  • Number type/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

  • Events is now accessed from a static context
  • Entity.addCommandTag -> Entity.addTag
  • Entity.getCommandTags -> Entity.getTags
  • Entity.removeCommandTag -> Entity.removeTag
  • Entity.dismountVehicle -> Entity.dismount
  • Entity.removeAllPassengers -> Entity.removePassengers
  • ServerPlayerEntity.changeGameMode -> ServerPlayerEntity.setGameMode
  • Integer now extends Float instead of Float extending Integer
  • Events.onPlayerAttackEntity -> Events.onAttackEntity
  • Events.onPlayerBreakBlock -> Events.onBreakBlock
  • Events.onPlayerCraftItem -> Events.onCraftItem
  • Events.onPlayerDropItem -> Events.onDropItem
  • Events.onPlayerJump -> Events.onJump
  • Events.onPlayerPickupItem -> Events.onPickupItem
  • Events.onPlayerRingBell -> Events.onRingBell
  • Events.onPlayerSneak -> Events.whileSneaking
  • Events.onPlayerUseItem -> Events.onRightClickItem
  • Events.onPlayerSendChatMessage -> Events.onSendChatMessage

Fixed

  • Dictionaries don't work in nbt elements
  • Overriding toString does 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.