Test mod
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# bworld
|
||||
|
||||
Textures and sprites by Kenney, from these CC0 packs:
|
||||
|
||||
# Tiny town
|
||||
|
||||
https://kenney.nl/assets/tiny-town
|
||||
|
||||
license: [Creative Commons CC0](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||
|
||||
# Roguelike
|
||||
|
||||
https://kenney.nl/assets/roguelike-rpg-pack
|
||||
|
||||
license: [Creative Commons CC0](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||
|
||||
# UI
|
||||
|
||||
https://kenney.nl/assets/ui-pack-pixel-adventure
|
||||
|
||||
license: [Creative Commons CC0](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||
|
||||
# m6x11.ttf
|
||||
|
||||
Font by Daniel Linssen (https://managore.itch.io)
|
||||
|
||||
https://managore.itch.io/m6x11 (https://web.archive.org/web/20260217032856/https://managore.itch.io/m6x11)
|
||||
|
||||
license: `free to use with attribution`
|
||||
|
||||
# Tiny wonder farm
|
||||
|
||||
https://butterymilk.itch.io/tiny-wonder-farm-asset-pack
|
||||
(https://web.archive.org/web/20260204234306/https://butterymilk.itch.io/tiny-wonder-farm-asset-pack)
|
||||
|
||||
license:
|
||||
|
||||
```
|
||||
There's two versions, free and paid (premium):
|
||||
|
||||
Free: It includes a limited number of items available for free.
|
||||
|
||||
You are free to use sprites included in the pack in any of your non-commercial projects as well as edit the sprites and
|
||||
add something new!
|
||||
|
||||
Premium: It includes everything shown from the showcase, all tilemaps, sprites, characters and more!
|
||||
|
||||
You are free to use sprites included in the pack in any of your commercial or non-commercial projects as well as edit
|
||||
the sprites and add something new!
|
||||
|
||||
You can't resell the sprites, even if changes were made. You cannot use it in any projects related to NFT."
|
||||
```
|
||||
|
||||
# Farmer's delight
|
||||
|
||||
https://github.com/vectorwing/FarmersDelight
|
||||
|
||||
License:
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 vectorwing
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
# bworld
|
||||
|
||||
The base game as a mod, following "The base game as a mod" in `MODS.md`.
|
||||
|
||||
**The game doesn't load this yet.** Until the mod loader exists, the game still registers everything from
|
||||
`common/blocks/`, `common/items/`, `server/game/crafting.ts` and `server/game/blocks.ts`. The `blocks/`, `items/` and
|
||||
`recipes/` folders here are generated from those by:
|
||||
|
||||
```sh
|
||||
deno task export-bworld
|
||||
```
|
||||
|
||||
Run it after changing any of them. `tests/bworld_mod_test.ts` fails when this folder and the game disagree.
|
||||
|
||||
Still to move here, by phase:
|
||||
|
||||
| Phase | What |
|
||||
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 1 | Textures from `assets/sprites/textures/` (the build still reads them from there). |
|
||||
| 2 | Block behavior from `server/game/blocks.ts`: `bworld:hoeable`, `bworld:storage`, `bworld:furnace`, and the watering can's `bworld:watering_can` item component. |
|
||||
| 3 | Terrain, biomes, trees and ores from `common/generation.ts`. |
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:chest",
|
||||
"textures": "bworld:planks",
|
||||
"collision": false,
|
||||
"mining": {
|
||||
"toughness": 8,
|
||||
"tool": "axe"
|
||||
},
|
||||
"drops": "bworld:chest",
|
||||
"interactive": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:coal_ore",
|
||||
"textures": "bworld:stone_coal",
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:coal_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:copper_ore",
|
||||
"textures": "bworld:stone_copper",
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:copper_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:dirt",
|
||||
"textures": "bworld:dirt",
|
||||
"collision": false,
|
||||
"mining": {
|
||||
"toughness": 2,
|
||||
"tool": "shovel"
|
||||
},
|
||||
"drops": "bworld:dirt"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:furnace",
|
||||
"textures": {
|
||||
"front": "bworld:furnace",
|
||||
"side": "bworld:stone"
|
||||
},
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:furnace",
|
||||
"interactive": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:glass",
|
||||
"textures": "bworld:glass",
|
||||
"transparent": true,
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "pickaxe"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:gold_ore",
|
||||
"textures": "bworld:stone_gold",
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:gold_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:grass",
|
||||
"textures": {
|
||||
"top": "bworld:grass_top",
|
||||
"bottom": "bworld:dirt",
|
||||
"side": "bworld:grass_side"
|
||||
},
|
||||
"collision": false,
|
||||
"mining": {
|
||||
"toughness": 2,
|
||||
"tool": "shovel"
|
||||
},
|
||||
"drops": "bworld:dirt",
|
||||
"item": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:hoed_dirt",
|
||||
"textures": {
|
||||
"side": "bworld:dirt",
|
||||
"top": "bworld:hoed_dirt",
|
||||
"bottom": "bworld:dirt"
|
||||
},
|
||||
"collision": false,
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "shovel"
|
||||
},
|
||||
"drops": "bworld:dirt",
|
||||
"states": [
|
||||
{
|
||||
"name": "watered",
|
||||
"bits": 1,
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:iron_ore",
|
||||
"textures": "bworld:stone_iron",
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:iron_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:leaves",
|
||||
"textures": "bworld:leaves",
|
||||
"transparent": true,
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "hoe"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:log",
|
||||
"textures": {
|
||||
"side": "bworld:log_side",
|
||||
"top": "bworld:log_top",
|
||||
"bottom": "bworld:log_top"
|
||||
},
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "axe"
|
||||
},
|
||||
"drops": "bworld:log"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:planks",
|
||||
"textures": "bworld:planks",
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "axe"
|
||||
},
|
||||
"drops": "bworld:log"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:sand",
|
||||
"textures": "bworld:sand",
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "shovel"
|
||||
},
|
||||
"drops": "bworld:sand"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:snow",
|
||||
"textures": "bworld:snow",
|
||||
"mining": {
|
||||
"toughness": 2,
|
||||
"tool": "shovel",
|
||||
"requires_tool": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:stone",
|
||||
"textures": "bworld:stone",
|
||||
"mining": {
|
||||
"toughness": 3,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:stone"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:tin_ore",
|
||||
"textures": "bworld:stone_tin",
|
||||
"mining": {
|
||||
"toughness": 5,
|
||||
"tool": "pickaxe",
|
||||
"requires_tool": true
|
||||
},
|
||||
"drops": "bworld:tin_ore"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"block": {
|
||||
"id": "bworld:water",
|
||||
"textures": "bworld:water",
|
||||
"transparent": true,
|
||||
"alpha": 0.8,
|
||||
"collision": false,
|
||||
"item": false,
|
||||
"replaceable": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:axe",
|
||||
"texture": "bworld:axe",
|
||||
"tool": "axe"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:coal",
|
||||
"texture": "bworld:coal"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:copper_ingot",
|
||||
"texture": "bworld:copper_ingot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:gold_ingot",
|
||||
"texture": "bworld:gold_ingot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:hoe",
|
||||
"texture": "bworld:hoe"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:iron_ingot",
|
||||
"texture": "bworld:iron_ingot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:pickaxe",
|
||||
"texture": "bworld:pickaxe"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:stick",
|
||||
"texture": "bworld:stick"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:tin_ingot",
|
||||
"texture": "bworld:tin_ingot"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:watering_can",
|
||||
"texture": "bworld:watering_can"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"item": {
|
||||
"id": "bworld:wood_pickaxe",
|
||||
"texture": "bworld:wood_pickaxe",
|
||||
"tool": "pickaxe"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"id": "bworld",
|
||||
"name": "bworld",
|
||||
"description": "The base game: its blocks, items, recipes and world.",
|
||||
"version": "0.1.0",
|
||||
"authors": ["paula"],
|
||||
"game_version": ">=0.1.0",
|
||||
"credits": "CREDITS.md"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "shaped",
|
||||
"pattern": [
|
||||
"PPP",
|
||||
"P P",
|
||||
"PPP"
|
||||
],
|
||||
"key": {
|
||||
"P": "bworld:planks"
|
||||
},
|
||||
"result": {
|
||||
"id": "bworld:chest",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "shaped",
|
||||
"pattern": [
|
||||
"SSS",
|
||||
"S S",
|
||||
"SSS"
|
||||
],
|
||||
"key": {
|
||||
"S": "bworld:stone"
|
||||
},
|
||||
"result": {
|
||||
"id": "bworld:furnace",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "shaped",
|
||||
"pattern": [
|
||||
"L"
|
||||
],
|
||||
"key": {
|
||||
"L": "bworld:log"
|
||||
},
|
||||
"result": {
|
||||
"id": "bworld:planks",
|
||||
"count": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "shaped",
|
||||
"pattern": [
|
||||
"P",
|
||||
"P"
|
||||
],
|
||||
"key": {
|
||||
"P": "bworld:planks"
|
||||
},
|
||||
"result": {
|
||||
"id": "bworld:stick",
|
||||
"count": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "shaped",
|
||||
"pattern": [
|
||||
"PPP",
|
||||
" S ",
|
||||
" S "
|
||||
],
|
||||
"key": {
|
||||
"P": "bworld:planks",
|
||||
"S": "bworld:stick"
|
||||
},
|
||||
"result": {
|
||||
"id": "bworld:wood_pickaxe",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "fuel",
|
||||
"item": "bworld:coal",
|
||||
"burn_time": 1000
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "fuel",
|
||||
"item": "bworld:log",
|
||||
"burn_time": 100
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:coal_ore",
|
||||
"output": {
|
||||
"id": "bworld:coal",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 100
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:copper_ore",
|
||||
"output": {
|
||||
"id": "bworld:copper_ingot",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 200
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:gold_ore",
|
||||
"output": {
|
||||
"id": "bworld:gold_ingot",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 200
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:iron_ore",
|
||||
"output": {
|
||||
"id": "bworld:iron_ingot",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 200
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:log",
|
||||
"output": {
|
||||
"id": "bworld:coal",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 100
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"format_version": 1,
|
||||
"recipe": {
|
||||
"type": "furnace",
|
||||
"input": "bworld:tin_ore",
|
||||
"output": {
|
||||
"id": "bworld:tin_ingot",
|
||||
"count": 1
|
||||
},
|
||||
"cook_time": 200
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user