Compare commits
7 Commits
efa49a98b7
...
feature/js
| Author | SHA1 | Date | |
|---|---|---|---|
| 4268dc6047 | |||
| cc95fb0f9d | |||
| 10d2e4a813 | |||
| 782c7c6092 | |||
| bc4bbe1ff2 | |||
|
|
1baa2d6672 | ||
|
|
236e7c0433 |
1
.gitignore
vendored
@@ -14,6 +14,7 @@
|
|||||||
*.pch
|
*.pch
|
||||||
*.sbr
|
*.sbr
|
||||||
build/
|
build/
|
||||||
|
build_debug/
|
||||||
Build/
|
Build/
|
||||||
bin/
|
bin/
|
||||||
Debug/
|
Debug/
|
||||||
|
|||||||
251
AGENTS.md
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
# Code Modification Guidelines
|
||||||
|
|
||||||
|
## 1. Git Branch Protection
|
||||||
|
|
||||||
|
- Never modify code directly on the `main` branch.
|
||||||
|
- Before editing, check the current branch:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git branch --show-current
|
||||||
|
````
|
||||||
|
|
||||||
|
* If the result is `main`, create or switch to a development branch first:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git checkout -b feature/xxx
|
||||||
|
```
|
||||||
|
|
||||||
|
* Do not bypass branch protection by:
|
||||||
|
|
||||||
|
* Committing directly to `main`.
|
||||||
|
* Running code generation, formatting, or large refactors on `main`.
|
||||||
|
* Rewriting or damaging `main` history.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Code Comments
|
||||||
|
|
||||||
|
* All new comments must be written in English.
|
||||||
|
* Comments must be:
|
||||||
|
|
||||||
|
* Short and clear.
|
||||||
|
* Explain the purpose, not repeat the code.
|
||||||
|
* Avoid unnecessary details.
|
||||||
|
|
||||||
|
Recommended:
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
// AI-generated: Prevent stale handle access.
|
||||||
|
```
|
||||||
|
|
||||||
|
Avoid:
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
// AI-generated: This checks if the handle is invalid because...
|
||||||
|
```
|
||||||
|
|
||||||
|
* Important AI-added or modified logic should include:
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
// AI-generated
|
||||||
|
```
|
||||||
|
|
||||||
|
* Do not add comments for trivial changes such as:
|
||||||
|
|
||||||
|
* One or two line logic fixes.
|
||||||
|
* Spelling corrections.
|
||||||
|
* Simple variable renames.
|
||||||
|
|
||||||
|
### 2.1 Do not write excessive or granular comments
|
||||||
|
|
||||||
|
AI must avoid sprinkling small explanatory comments throughout code.
|
||||||
|
Specifically:
|
||||||
|
|
||||||
|
* **No line-by-line narration.** Do not add a comment above (or beside)
|
||||||
|
every field, signal, slot, branch, or block just to restate what it is.
|
||||||
|
If the name is self-explanatory, no comment is needed.
|
||||||
|
* **No multi-part explanations on a single marker.** A line like
|
||||||
|
`// AI-generated: abort the in-flight download; finished handler clears state.`
|
||||||
|
is too much. Either drop it, or shorten to a single short clause
|
||||||
|
(e.g. `// AI-generated: abort in-flight download.`).
|
||||||
|
* **Prefer zero or one comment per file/section**, not many. A short
|
||||||
|
header comment explaining the file's purpose is acceptable; dozens of
|
||||||
|
inline labels are not.
|
||||||
|
* **Do not comment obvious QML/C++ bindings, layout splits, or default
|
||||||
|
values** (e.g. `// AI-generated: index 0 -> zh_CN, index 1 -> en.`).
|
||||||
|
The code already says that.
|
||||||
|
* **When in doubt, omit the comment.** A missing comment is fine; a
|
||||||
|
redundant one is noise that future maintainers must clean up.
|
||||||
|
|
||||||
|
Rule of thumb: if removing the comment would not lose useful
|
||||||
|
information, remove it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Project Style
|
||||||
|
|
||||||
|
Follow the existing project style strictly:
|
||||||
|
|
||||||
|
* Naming conventions.
|
||||||
|
* File organization.
|
||||||
|
* Formatting rules.
|
||||||
|
* Include order.
|
||||||
|
* Existing architecture.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Introduce unrelated coding styles.
|
||||||
|
* Add unnecessary design patterns.
|
||||||
|
* Create duplicate systems.
|
||||||
|
* Add abstractions without need.
|
||||||
|
* Change module responsibilities.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Modification Scope
|
||||||
|
|
||||||
|
Only modify the minimum code required.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Format unrelated files.
|
||||||
|
* Remove existing comments.
|
||||||
|
* Rename large numbers of symbols.
|
||||||
|
* Change public APIs.
|
||||||
|
* Perform large refactors without confirmation.
|
||||||
|
|
||||||
|
If large changes are required, explain first:
|
||||||
|
|
||||||
|
1. Current problem.
|
||||||
|
2. Required changes.
|
||||||
|
3. Affected modules.
|
||||||
|
4. Expected impact.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Build and Test
|
||||||
|
|
||||||
|
After modifications:
|
||||||
|
|
||||||
|
* Verify compilation.
|
||||||
|
* Check for new warnings.
|
||||||
|
* Ensure existing features still work.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Commit without verification.
|
||||||
|
* Ignore compiler errors.
|
||||||
|
* Hide problems with temporary hacks.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Compatibility
|
||||||
|
|
||||||
|
Consider:
|
||||||
|
|
||||||
|
* Existing callers.
|
||||||
|
* API/ABI compatibility.
|
||||||
|
* Serialization formats.
|
||||||
|
* Network protocols.
|
||||||
|
* Save data.
|
||||||
|
* Threading impact.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Change network structures without compatibility handling.
|
||||||
|
* Break old data formats.
|
||||||
|
* Change public data layouts carelessly.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Multi-threading Safety
|
||||||
|
|
||||||
|
For multi-threaded code, check:
|
||||||
|
|
||||||
|
* Data races.
|
||||||
|
* Object lifetime.
|
||||||
|
* Lock contention.
|
||||||
|
* Atomic correctness.
|
||||||
|
* Cross-thread resource access.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Assume single-threaded execution.
|
||||||
|
* Modify shared data without protection.
|
||||||
|
* Add hidden locks that hurt performance.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Memory Safety
|
||||||
|
|
||||||
|
Consider:
|
||||||
|
|
||||||
|
* Ownership.
|
||||||
|
* Lifetime.
|
||||||
|
* RAII.
|
||||||
|
* Memory leaks.
|
||||||
|
* Dangling references.
|
||||||
|
* Iterator invalidation.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Return references to local variables.
|
||||||
|
* Store pointers to temporary objects.
|
||||||
|
* Use uninitialized data.
|
||||||
|
* Introduce undefined behavior.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Third-party Libraries
|
||||||
|
|
||||||
|
Before adding or changing dependencies:
|
||||||
|
|
||||||
|
Check:
|
||||||
|
|
||||||
|
* Existing project dependencies.
|
||||||
|
* Build system impact.
|
||||||
|
* Maintenance cost.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Add large libraries for simple features.
|
||||||
|
* Duplicate existing library functionality.
|
||||||
|
* Modify third-party source code.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. AI Behavior Rules
|
||||||
|
|
||||||
|
AI-generated code must:
|
||||||
|
|
||||||
|
* Reuse existing code first.
|
||||||
|
* Preserve current architecture.
|
||||||
|
* Prefer simple solutions.
|
||||||
|
* Minimize risk and code changes.
|
||||||
|
|
||||||
|
Do not:
|
||||||
|
|
||||||
|
* Guess requirements.
|
||||||
|
* Add unrequested features.
|
||||||
|
* Redesign architecture.
|
||||||
|
* Add unnecessary abstraction layers.
|
||||||
|
|
||||||
|
Choose the implementation with:
|
||||||
|
|
||||||
|
> The smallest change, lowest risk, and best compatibility with existing code.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Pre-commit Checklist
|
||||||
|
|
||||||
|
Before committing:
|
||||||
|
|
||||||
|
* [ ] Not on `main`.
|
||||||
|
* [ ] Changes match the requested task.
|
||||||
|
* [ ] New comments are in English.
|
||||||
|
* [ ] AI changes are marked when needed.
|
||||||
|
* [ ] No unrelated formatting changes.
|
||||||
|
* [ ] Build passes.
|
||||||
|
* [ ] No obvious performance/security/thread issues.
|
||||||
|
* [ ] No API, protocol, or data format breakage.
|
||||||
|
|
||||||
@@ -148,6 +148,7 @@ target_link_libraries(${PROJECT_NAME}
|
|||||||
OpenAL::OpenAL
|
OpenAL::OpenAL
|
||||||
harfbuzz::harfbuzz
|
harfbuzz::harfbuzz
|
||||||
Opus::Opus
|
Opus::Opus
|
||||||
|
assimp::assimp
|
||||||
$<$<PLATFORM_ID:Windows>:ws2_32>
|
$<$<PLATFORM_ID:Windows>:ws2_32>
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|||||||
14
assets/cubed/blocks/air.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"name": "air",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": true,
|
||||||
|
"is_passable": true,
|
||||||
|
"is_discard": true,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": false,
|
||||||
|
"is_gas": true,
|
||||||
|
"roughness": 1.0
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/dirt.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "dirt",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": true,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 1.0
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/dirt",
|
||||||
|
"normal": "cubed:normals/blocks/dirt"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/dirt/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/dirt/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/dirt/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
22
assets/cubed/blocks/grass.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "grass",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": true,
|
||||||
|
"is_transparent": true,
|
||||||
|
"is_passable": true,
|
||||||
|
"is_discard": true,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": false,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.9
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cross",
|
||||||
|
"path": "cubed:textures/blocks/grass"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/grass/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/grass/place.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/grass_block.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "grass_block",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": true,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.9
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/grass_block",
|
||||||
|
"normal": "cubed:normals/blocks/grass_block"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/grass_block/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/grass_block/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/grass_block/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
23
assets/cubed/blocks/leaf.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "leaf",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": true,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": true,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": false,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.7
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/leaf"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/leaf/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/leaf/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/leaf/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/log.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "log",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": false,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.7
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/log",
|
||||||
|
"normal": "cubed:normals/blocks/log"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/log/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/log/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/log/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/sand.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "sand",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": true,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.8
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/sand",
|
||||||
|
"normal": "cubed:normals/blocks/sand"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/sand/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/sand/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/sand/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/snowy_grass_block.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "snowy_grass_block",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": true,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.9
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/snowy_grass_block",
|
||||||
|
"normal": "cubed:normals/blocks/snowy_grass_block"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/snowy_grass_block/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/snowy_grass_block/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/snowy_grass_block/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
24
assets/cubed/blocks/stone.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "stone",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": false,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": false,
|
||||||
|
"is_passable": false,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": false,
|
||||||
|
"is_transitional": true,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.75
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/stone",
|
||||||
|
"normal": "cubed:normals/blocks/stone"
|
||||||
|
},
|
||||||
|
"sounds": {
|
||||||
|
"break": "cubed:sounds/blocks/stone/break.ogg",
|
||||||
|
"place": "cubed:sounds/blocks/stone/place.ogg",
|
||||||
|
"walk": "cubed:sounds/blocks/stone/walk.ogg"
|
||||||
|
}
|
||||||
|
}
|
||||||
18
assets/cubed/blocks/water.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "water",
|
||||||
|
"properties": {
|
||||||
|
"is_liquid": true,
|
||||||
|
"is_cross_plane": false,
|
||||||
|
"is_transparent": true,
|
||||||
|
"is_passable": true,
|
||||||
|
"is_discard": false,
|
||||||
|
"is_blend": true,
|
||||||
|
"is_transitional": false,
|
||||||
|
"is_gas": false,
|
||||||
|
"roughness": 0.02
|
||||||
|
},
|
||||||
|
"texture": {
|
||||||
|
"type": "cuboid",
|
||||||
|
"path": "cubed:textures/blocks/water"
|
||||||
|
}
|
||||||
|
}
|
||||||
6
assets/cubed/creatures/pig.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"name": "pig",
|
||||||
|
"model": "cubed:models/creatures/pig/pig.glb",
|
||||||
|
"animation": "cubed:models/creatures/pig/animation.json",
|
||||||
|
"collision": "cubed:models/creatures/pig/collision.json"
|
||||||
|
}
|
||||||
5
assets/cubed/creatures/player.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "player",
|
||||||
|
"model": "cubed:models/creatures/player/player.glb",
|
||||||
|
"collision": "cubed:models/creatures/player/collision.json"
|
||||||
|
}
|
||||||
7
assets/cubed/items/air.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "air",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:air",
|
||||||
|
"texture": "cubed:textures/items/block/air.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/dirt.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "dirt",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:dirt",
|
||||||
|
"texture": "cubed:textures/items/block/dirt.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/grass.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "grass",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:grass",
|
||||||
|
"texture": "cubed:textures/items/block/grass.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/grass_block.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "grass_block",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:grass_block",
|
||||||
|
"texture": "cubed:textures/items/block/grass_block.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/leaf.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "leaf",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:leaf",
|
||||||
|
"texture": "cubed:textures/items/block/leaf.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/log.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "log",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:log",
|
||||||
|
"texture": "cubed:textures/items/block/log.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/pig_spawn_egg.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "pig_spawn_egg",
|
||||||
|
"type": "spawn_egg",
|
||||||
|
"creature": "cubed:pig",
|
||||||
|
"texture": "cubed:textures/items/spawn_egg/pig_spawn_egg.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/sand.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "sand",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:sand",
|
||||||
|
"texture": "cubed:textures/items/block/sand.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/snowy_grass_block.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "snowy_grass_block",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:snowy_grass_block",
|
||||||
|
"texture": "cubed:textures/items/block/snowy_grass_block.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/stone.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "stone",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:stone",
|
||||||
|
"texture": "cubed:textures/items/block/stone.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
7
assets/cubed/items/water.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "water",
|
||||||
|
"type": "block",
|
||||||
|
"block": "cubed:water",
|
||||||
|
"texture": "cubed:textures/items/block/water.png",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
33
assets/cubed/models/creatures/pig/animation.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"walk": {
|
||||||
|
"speed": 6.0,
|
||||||
|
"amplitude": 25.0
|
||||||
|
},
|
||||||
|
"run": {
|
||||||
|
"speed": 12.0,
|
||||||
|
"amplitude": 40.0
|
||||||
|
},
|
||||||
|
"body_bob": 0.03,
|
||||||
|
"head": {
|
||||||
|
"node": "Head",
|
||||||
|
"amplitude": 4.0
|
||||||
|
},
|
||||||
|
"legs": [
|
||||||
|
{
|
||||||
|
"node": "Foot_FL",
|
||||||
|
"phase": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node": "Foot_FR",
|
||||||
|
"phase": 3.14159
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node": "Foot_HL",
|
||||||
|
"phase": 3.14159
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node": "Foot_HR",
|
||||||
|
"phase": 0.0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
assets/cubed/models/creatures/pig/collision.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"boxes": [
|
||||||
|
{
|
||||||
|
"center": [
|
||||||
|
0,
|
||||||
|
0.78,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"half": [
|
||||||
|
0.53,
|
||||||
|
0.78,
|
||||||
|
0.406
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
assets/cubed/models/creatures/pig/pig.glb
Normal file
16
assets/cubed/models/creatures/player/collision.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"boxes": [
|
||||||
|
{
|
||||||
|
"center": [
|
||||||
|
0,
|
||||||
|
0.9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"half": [
|
||||||
|
0.3,
|
||||||
|
0.9,
|
||||||
|
0.3
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
assets/cubed/models/creatures/player/player.glb
Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 955 B After Width: | Height: | Size: 955 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 955 B After Width: | Height: | Size: 955 B |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
27
assets/cubed/registry.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"blocks": {
|
||||||
|
"air": 0,
|
||||||
|
"grass_block": 1,
|
||||||
|
"dirt": 2,
|
||||||
|
"stone": 3,
|
||||||
|
"sand": 4,
|
||||||
|
"log": 5,
|
||||||
|
"leaf": 6,
|
||||||
|
"water": 7,
|
||||||
|
"snowy_grass_block": 8,
|
||||||
|
"grass": 9
|
||||||
|
},
|
||||||
|
"items": {
|
||||||
|
"air": 0,
|
||||||
|
"grass_block": 1,
|
||||||
|
"dirt": 2,
|
||||||
|
"stone": 3,
|
||||||
|
"sand": 4,
|
||||||
|
"log": 5,
|
||||||
|
"leaf": 6,
|
||||||
|
"water": 7,
|
||||||
|
"snowy_grass_block": 8,
|
||||||
|
"grass": 9,
|
||||||
|
"pig_spawn_egg": 10
|
||||||
|
}
|
||||||
|
}
|
||||||