Update Docs And Fix Gradle Plugin
All checks were successful
ScriptCraft/pipeline/head This commit looks good
All checks were successful
ScriptCraft/pipeline/head This commit looks good
This commit is contained in:
parent
82f5dabd58
commit
e7a6b55d76
@ -7,4 +7,6 @@
|
|||||||
|
|
||||||
[View Architecture](ARCHITECTURE.md)
|
[View Architecture](ARCHITECTURE.md)
|
||||||
|
|
||||||
|
[View Tutorials](tutorials/README.md)
|
||||||
|
|
||||||
[View TypeDoc](https://jenkins.thebrokenrail.com/job/ScriptCraft/job/master/TypeDoc/)
|
[View TypeDoc](https://jenkins.thebrokenrail.com/job/ScriptCraft/job/master/TypeDoc/)
|
48
docs/tutorials/BLOCK.md
Normal file
48
docs/tutorials/BLOCK.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# Create A Block
|
||||||
|
|
||||||
|
## Create Your Block Class
|
||||||
|
JavaScript:
|
||||||
|
```javascript
|
||||||
|
import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlock } from 'minecraft';
|
||||||
|
|
||||||
|
class MyBlock extends CustomBlock {
|
||||||
|
constructor() {
|
||||||
|
super(new BlockSettings('STONE', 'IRON'));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world, blockState, blockPos, side, player, hand) {
|
||||||
|
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
```typescript
|
||||||
|
import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock } from 'minecraft';
|
||||||
|
|
||||||
|
class MyBlock extends CustomBlock {
|
||||||
|
constructor() {
|
||||||
|
super(new BlockSettings('STONE', 'IRON'));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world: World, blockState: BlockState, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult {
|
||||||
|
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register Your Block
|
||||||
|
```javascript
|
||||||
|
import { Registry, Identifier } from 'minecraft';
|
||||||
|
|
||||||
|
Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlock());
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register Your Block Item
|
||||||
|
```javascript
|
||||||
|
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')));
|
||||||
|
```
|
112
docs/tutorials/BLOCK_ENTITY.md
Normal file
112
docs/tutorials/BLOCK_ENTITY.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# Create A Block
|
||||||
|
|
||||||
|
## Create Your Block Entity Class
|
||||||
|
JavaScript:
|
||||||
|
```javascript
|
||||||
|
import { CustomBlockEntity, NumberType } from 'minecraft';
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
```typescript
|
||||||
|
import { CustomBlockEntity, CompoundTag, NumberType } from 'minecraft';
|
||||||
|
|
||||||
|
class MyBlockEntity extends CustomBlockEntity {
|
||||||
|
ticks = 0;
|
||||||
|
|
||||||
|
toTag(tag: CompoundTag): CompoundTag {
|
||||||
|
tag.set('MyTicks', this.ticks, NumberType.INT);
|
||||||
|
return tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
fromTag(tag: CompoundTag): void {
|
||||||
|
const obj = tag.get('MyTicks');
|
||||||
|
if (typeof obj === 'number') {
|
||||||
|
this.ticks = obj;
|
||||||
|
} else {
|
||||||
|
this.ticks = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tick(): void {
|
||||||
|
this.ticks++;
|
||||||
|
this.markDirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create Your Block Class
|
||||||
|
JavaScript:
|
||||||
|
```javascript
|
||||||
|
import { Identifier, BlockState, BlockSettings, ActionResult, CustomBlockWithEntity } from 'minecraft';
|
||||||
|
|
||||||
|
class MyBlock extends CustomBlockWithEntity {
|
||||||
|
constructor() {
|
||||||
|
super(new BlockSettings('STONE', 'IRON'));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world, blockState, blockPos, side, player, hand) {
|
||||||
|
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
createBlockEntity() {
|
||||||
|
return new MyBlockEntity();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
```typescript
|
||||||
|
import { Identifier, BlockState, BlockSettings, ActionResult, World, Pos, Hand, PlayerEntity, Direction, CustomBlock } from 'minecraft';
|
||||||
|
|
||||||
|
class MyBlock extends CustomBlock {
|
||||||
|
constructor() {
|
||||||
|
super(new BlockSettings('STONE', 'IRON'));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world: World, blockState: BlockState, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult {
|
||||||
|
world.setBlockState(blockPos.offset(side), BlockState.getDefaultState(new Identifier('minecraft:stone')));
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register Your Block
|
||||||
|
```javascript
|
||||||
|
import { Registry, Identifier } from 'minecraft';
|
||||||
|
|
||||||
|
Registry.register(Registry.BLOCK, new Identifier('modid', 'my_block'), new MyBlock());
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register Your Block Item
|
||||||
|
```javascript
|
||||||
|
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')));
|
||||||
|
```
|
61
docs/tutorials/ITEM.md
Normal file
61
docs/tutorials/ITEM.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Create A Item
|
||||||
|
|
||||||
|
## Create Your Item Class
|
||||||
|
JavaScript:
|
||||||
|
```javascript
|
||||||
|
import { ActionResult, ItemSettings, CustomItem } from 'minecraft';
|
||||||
|
|
||||||
|
class MyItem extends CustomItem {
|
||||||
|
constructor() {
|
||||||
|
super(new ItemSettings().setItemGroup('building_blocks').setMaxCount(128));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world, player, hand) {
|
||||||
|
console.log('Item Use');
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseOnBlock(world, blockPos, side, player, hand) {
|
||||||
|
console.log('Item Use: Block ' + blockPos.toString());
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseOnEntity(player, target, hand) {
|
||||||
|
console.log('Item Use: Entity ' + target.toString());
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
JavaScript:
|
||||||
|
```typescript
|
||||||
|
import { ActionResult, World, Pos, Hand, PlayerEntity, ItemSettings, CustomItem, Direction, LivingEntity } from 'minecraft';
|
||||||
|
|
||||||
|
class MyItem extends CustomItem {
|
||||||
|
constructor() {
|
||||||
|
super(new ItemSettings().setItemGroup('building_blocks').setMaxCount(128));
|
||||||
|
}
|
||||||
|
|
||||||
|
onUse(world: World, player: PlayerEntity, hand: Hand): ActionResult {
|
||||||
|
console.log('Item Use');
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseOnBlock(world: World, blockPos: Pos, side: Direction, player: PlayerEntity, hand: Hand): ActionResult {
|
||||||
|
console.log('Item Use: Block ' + blockPos.toString());
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
onUseOnEntity(player: PlayerEntity, target: LivingEntity, hand: Hand): ActionResult {
|
||||||
|
console.log('Item Use: Entity ' + target.toString());
|
||||||
|
return ActionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register Your Item
|
||||||
|
```javascript
|
||||||
|
import { Registry, Identifier } from 'minecraft';
|
||||||
|
|
||||||
|
Registry.register(Registry.ITEM, new Identifier('modid', 'my_item'), new MyItem());
|
||||||
|
```
|
6
docs/tutorials/README.md
Normal file
6
docs/tutorials/README.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Tutorials
|
||||||
|
[Create A Block](BLOCK.md)
|
||||||
|
|
||||||
|
[Create A Block Entity](BLOCK_ENTITY.md)
|
||||||
|
|
||||||
|
[Create A Item](ITEM.md)
|
@ -3,7 +3,10 @@ import { BlockSettings, Identifier, Registry, BlockState, ActionResult, World, P
|
|||||||
console.log('hello');
|
console.log('hello');
|
||||||
|
|
||||||
class MyBlockEntity extends CustomBlockEntity {
|
class MyBlockEntity extends CustomBlockEntity {
|
||||||
ticks = 0;
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.ticks = 0;
|
||||||
|
}
|
||||||
|
|
||||||
toTag(tag) {
|
toTag(tag) {
|
||||||
tag.set('MyTicks', this.ticks, NumberType.INT);
|
tag.set('MyTicks', this.ticks, NumberType.INT);
|
||||||
|
@ -159,11 +159,11 @@ class ScriptCraftPlugin : Plugin<Project> {
|
|||||||
tasks.named<Copy>("processResources") {
|
tasks.named<Copy>("processResources") {
|
||||||
dependsOn(typescriptTask)
|
dependsOn(typescriptTask)
|
||||||
|
|
||||||
|
into("scriptcraft") {
|
||||||
from(Callable {
|
from(Callable {
|
||||||
File(extension.root, "build/ts")
|
File(extension.root, "build/ts")
|
||||||
})
|
})
|
||||||
|
}
|
||||||
into("scriptcraft")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -43,7 +43,8 @@ public class QuickJSModules {
|
|||||||
}
|
}
|
||||||
stream.close();
|
stream.close();
|
||||||
|
|
||||||
return isDirectory(textBuilder.toString(), path, mod.getClass()) ? null : textBuilder.toString();
|
String data = textBuilder.toString();
|
||||||
|
return isDirectory(data, path, mod.getClass()) ? null : data;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user