COWMODSКаталог модов

Sculk

A programming language for Minecraft datapacks.

Автор: RevolvingMadness96314обновлён 8 мар. 2024 г.
Механики игрыУправлениеТехнологии

Описание

Contributors Forks Stargazers Issues MIT License


Logo

Sculk

A programming language for Minecraft datapacks
Explore the docs »

Report Bug · Request Feature

Requirements

Sculk requires Fabric and the Fabric API.

Examples

For examples, please visit this page

Contributing

If you have a suggestion and would like to make Sculk better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Inspiration

Sculk has been inspired from many projects listed below.

Галерея

Banner

Последние версии

Все версии →
beta

Sculk 0.0.5 (First Beta)

0.0.5
8 мар. 2024 г.401Minecraft: 1.20.4fabric
Скачать
Что нового
Custom Block & Item Support! ## Added - `Item` extends `ItemStack` - `PlayerEntity.getStackInMainHand` - `PlayerEntity.getStackInOffHand` - `Method` extends `Callable` - `Function` extends `Callable` - `Inventory` class - `List` toString - `ItemStack.init(item: Item, count: Integer) -> Null` - `\uXXXX` to strings - `String.fromUnicode(unicode: Integer) -> String` - `GUI.onClose(player: PlayerEntity, gui: GUI) -> Null` - `PlayerEntity.getEnderChestInventory() -> Inventory` - `PlayerEntity.setEnderChestInventory(inventory: Inventory) -> Null` - `Inventory` constructor - `PlayerEntity.setInventory(inventory: Inventory) -> Null` - `PlayerEntity.getInventory() -> Inventory` - `NBTBoolean` - `NBTCompound` - `NBTElement` - `NBTFloat` - `NBTInteger` - `NBTList` - `NBTNull` - `NBTString` - Casting - `start` script tag - `nonnull` access modifier - Custom item/block support - `Items.register(item: Item) -> Item` - `ItemSettings` - `Blocks.register(block: Block) -> Block` - `Blocks.registerWithItem(block: Block) -> Block` - `BlockSettings`
alpha

Sculk 0.0.4

0.0.4
15 февр. 2024 г.200Minecraft: 1.20.4fabric
Скачать
Что нового
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.
alpha

Sculk 0.0.3

0.0.3
29 янв. 2024 г.120Minecraft: 1.20.4fabric
Скачать
Что нового
## Added - `abs(number: Integer | Float): Object` - `String` is now iterable - Data can now be written to an entity - `String.startsWith(text: String): Boolean` - `String.endsWith(text: String): Boolean` - `break` can now be used in switch statement - `String.split(splitter: String): List[String]` - `Integer.parseInteger(integer: String): Integer` - `Float.parseFloat(float: String): Float` - `ceil(number: Integer | Float): Integer` - `floor(number: Integer | Float): Integer` - `BlockHitResult` - `World.breakBlock(pos: BlockPos, drop_items: Boolean): Boolean` - `World.getBlock(pos: BlockPos): Block` - `List.append(object: Object): Null` ## Changed - `events.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, Block]): Null` is now `events.onPlayerBreakBlock(function: Function[Boolean, PlayerEntity, BlockPos, Block]): Null` - `World.setBlock` renamed to `World.placeBlock` - `maxArguments` renamed to `maxArgumentCount` ## Fixed - String concatenation - Event registration not clearing on reload ## Improved - Error messages
alpha

Sculk 0.0.2

0.0.2
23 янв. 2024 г.118Minecraft: 1.20.4fabric
Скачать
Что нового
### Added - Folder support for resources - `foo:bar` now supports `foo:foo/foobar` - `as` keyword 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): Boolean` - `base64encode(input: String): String` - `base64decode(input: String): String` - `EntityTypes` - `List.contains(object: Object): Boolean` ### Changed - `Entity.extinguish(): Null` and `Entity.extinguishWithSound(): Null` have been merged into one function `Entity.extinguish(Boolean): Null` - Fix circular imports - Reverted custom load script - Float extends Integer
alpha

Sculk 0.0.1

0.0.1
18 янв. 2024 г.125Minecraft: 1.20.4fabric
Скачать
Что нового
First alpha version of Sculk! ### Known Bugs - Crashes on server when any Sculk script errors occur