diff --git a/docs/tutorials/BLOCK.md b/docs/tutorials/BLOCK.md index 9d9f673..a404ac1 100644 --- a/docs/tutorials/BLOCK.md +++ b/docs/tutorials/BLOCK.md @@ -3,11 +3,13 @@ ## Create Your Block Class JavaScript: ```javascript -import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlock } from 'minecraft'; +import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlock, BuiltinRegistry } from 'minecraft'; + +const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block')); class MyBlock extends CustomBlock { constructor() { - super(new BlockSettings('STONE', 'IRON')); + super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor())); } onUse(world, blockState, blockPos, side, player, hand) { @@ -19,11 +21,13 @@ class MyBlock extends CustomBlock { TypeScript: ```typescript -import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock } from 'minecraft'; +import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock, BuiltinRegistry } from 'minecraft'; + +const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block')); class MyBlock extends CustomBlock { constructor() { - super(new BlockSettings('STONE', 'IRON')); + super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor())); } onUse(world: World, blockState: BlockState, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult { @@ -45,4 +49,4 @@ Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlo import { Registry, Identifier, BlockItem, ItemSettings } from 'minecraft'; Registry.register(Registry.ITEM, new Identifier('modid', 'my_block'), new BlockItem(new Identifier('modid', 'my_block'), new ItemSettings().setItemGroup('building_blocks'))); -``` \ No newline at end of file +``` diff --git a/docs/tutorials/BLOCK_ENTITY.md b/docs/tutorials/BLOCK_ENTITY.md index 2641fda..4d27797 100644 --- a/docs/tutorials/BLOCK_ENTITY.md +++ b/docs/tutorials/BLOCK_ENTITY.md @@ -63,11 +63,13 @@ class MyBlockEntity extends CustomBlockEntity { ## Create Your Block Class JavaScript: ```javascript -import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlockWithEntity } from 'minecraft'; +import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlockWithEntity, BuiltinRegistry } from 'minecraft'; + +const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block')); class MyBlock extends CustomBlockWithEntity { constructor() { - super(new BlockSettings('STONE', 'IRON')); + super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor())); } onUse(world, blockState, blockPos, side, player, hand) { @@ -83,11 +85,13 @@ class MyBlock extends CustomBlockWithEntity { TypeScript: ```typescript -import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock } from 'minecraft'; +import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock, BuiltinRegistry } from 'minecraft'; -class MyBlock extends CustomBlock { +const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block')); + +class MyBlock extends CustomBlockWithEntity { constructor() { - super(new BlockSettings('STONE', 'IRON')); + super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor())); } onUse(world: World, blockState: BlockState, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult { @@ -109,4 +113,4 @@ Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlo import { Registry, Identifier, BlockItem, ItemSettings } from 'minecraft'; Registry.register(Registry.ITEM, new Identifier('modid', 'my_block'), new BlockItem(new Identifier('modid', 'my_block'), new ItemSettings().setItemGroup('building_blocks'))); -``` \ No newline at end of file +``` diff --git a/examples/javascript/gradle.properties b/examples/javascript/gradle.properties index 32b51b5..d556e31 100644 --- a/examples/javascript/gradle.properties +++ b/examples/javascript/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version = 1.16-pre3 - yarn_build = 1 - fabric_loader_version = 0.8.7+build.201 + minecraft_version = 1.16.2 + yarn_build = 21 + fabric_loader_version = 0.9.2+build.206 # Mod Properties mod_version = 1.0.0 diff --git a/examples/javascript/src/main/resources/scriptcraft/modid/index.js b/examples/javascript/src/main/resources/scriptcraft/modid/index.js index 46751a7..00f64f4 100644 --- a/examples/javascript/src/main/resources/scriptcraft/modid/index.js +++ b/examples/javascript/src/main/resources/scriptcraft/modid/index.js @@ -1,36 +1,12 @@ -import { BlockSettings, Identifier, Registry, BlockState, ActionResult, BlockItem, ItemSettings, CustomItem, CustomBlockWithEntity, CustomBlockEntity, CompoundTag, NumberType } from 'minecraft'; +import { BlockSettings, Identifier, Registry, BlockState, ActionResult, BlockItem, ItemSettings, BuiltinRegistry } from 'minecraft'; console.log('hello'); -class MyBlockEntity extends CustomBlockEntity { - constructor() { - super(); - this.ticks = 0; - } - - toTag(tag) { - tag.set('MyTicks', this.ticks, NumberType.INT); - return tag; - } - - fromTag(tag) { - const obj = tag.get('MyTicks'); - if (typeof obj === 'number') { - this.ticks = obj; - } else { - this.ticks = 0; - } - } - - tick() { - this.ticks++; - this.markDirty(); - } -} +const ironBlock = BuiltinRegistry.BLOCK.get(new Identifier('minecraft:iron_block')); class MyBlock extends CustomBlockWithEntity { constructor() { - super(new BlockSettings('STONE', 'IRON')); + super(new BlockSettings(ironBlock.getMaterial(), ironBlock.getMaterialColor())); } onUse(world, blockState, blockPos, side, player, hand) { @@ -49,28 +25,3 @@ class MyBlock extends CustomBlockWithEntity { Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlock()); Registry.register(Registry.ITEM, new Identifier('modid', 'my_block'), new BlockItem(new Identifier('modid', 'my_block'), new ItemSettings())); - -class MyItem extends CustomItem { - constructor() { - super(new ItemSettings().setItemGroup('building_blocks').setMaxCount(128)); - } - - onUse(world, player, hand) { - console.log('Item Use: Normal'); - return ActionResult.SUCCESS; - } - - onUseOnBlock(world, blockPos, side, player, hand) { - console.log('Item Use: Block ' + blockPos.toString()); - world.spawnEntity(new Identifier('minecraft:cow'), blockPos.offset(side).add(new Pos(0.5, 0, 0.5))).toString(); - return ActionResult.SUCCESS; - } - - onUseOnEntity(player, target, hand) { - console.log('Item Use: Entity ' + target.toTag().toString()); - console.log('Health: ' + target.toTag().get('Health').toString()); - return ActionResult.SUCCESS; - } -} - -Registry.register(Registry.ITEM, new Identifier('modid', 'my_item'), new MyItem());