Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 29859d0596 |
@@ -1,651 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "http://json-schema.org/draft-07/schema",
|
|
||||||
"type": "object",
|
|
||||||
"definitions": {
|
|
||||||
"typePrimitive": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:primitive",
|
|
||||||
"description": "A primitive type"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeClass": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:class",
|
|
||||||
"description": "A class type"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string",
|
|
||||||
"$ref": "probe.class-definitions.json#/definitions/typeClassname"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeVariable": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:variable",
|
|
||||||
"description": "A variable type"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeParameterized": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"base",
|
|
||||||
"params"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:parameterized"
|
|
||||||
},
|
|
||||||
"base": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
},
|
|
||||||
"params": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeIntersection": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"types"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:intersection"
|
|
||||||
},
|
|
||||||
"types": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeUnion": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"types"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:union"
|
|
||||||
},
|
|
||||||
"types": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeArray": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"component"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:array"
|
|
||||||
},
|
|
||||||
"component": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typeObject": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"members"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:object"
|
|
||||||
},
|
|
||||||
"members": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"key",
|
|
||||||
"value"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"key": {
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyObjectKey"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"value": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyObjectKey": {
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"optional"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"optional": {
|
|
||||||
"type": "boolean",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"$ref": "#/definitions/propertyObjectKey"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"typeJSArray": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"types"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "type:jsArray"
|
|
||||||
},
|
|
||||||
"types": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyType": {
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"type:primitive",
|
|
||||||
"type:class",
|
|
||||||
"type:variable",
|
|
||||||
"type:parameterized",
|
|
||||||
"type:union",
|
|
||||||
"type:intersection",
|
|
||||||
"type:array",
|
|
||||||
"type:object",
|
|
||||||
"type:jsArray"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:underscored"
|
|
||||||
},
|
|
||||||
"underscored": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typePrimitive"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeClass"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeVariable"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeParameterized"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeUnion"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeIntersection"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeArray"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeObject"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/typeJSArray"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"propertyComment": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"lines"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:comment"
|
|
||||||
},
|
|
||||||
"lines": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyHide": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:hide"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyAssign": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"assign"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:assign"
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"assign": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyMod": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"mod"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:mod"
|
|
||||||
},
|
|
||||||
"mod": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyModify": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"index"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:modify"
|
|
||||||
},
|
|
||||||
"index": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"newType": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyReturns": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"returns"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:returns"
|
|
||||||
},
|
|
||||||
"returns": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"propertyClass": {
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"property:comment",
|
|
||||||
"property:hide",
|
|
||||||
"property:assign",
|
|
||||||
"property:mod"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyComment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyHide"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyAssign"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyMod"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"propertyMethod": {
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"property:comment",
|
|
||||||
"property:hide",
|
|
||||||
"property:mod",
|
|
||||||
"property:modify",
|
|
||||||
"property:returns"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyComment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyHide"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyMod"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyModify"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyReturns"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"propertyField": {
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"property:comment",
|
|
||||||
"property:hide",
|
|
||||||
"property:mod"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyComment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyHide"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyMod"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"propertyConstructor": {
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"property:comment",
|
|
||||||
"property:hide",
|
|
||||||
"property:mod",
|
|
||||||
"property:modify"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyComment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyHide"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyMod"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyModify"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"anyOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/definitions/propertyMod"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"classes": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "document:class"
|
|
||||||
},
|
|
||||||
"className": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The class name",
|
|
||||||
"$ref": "probe.class-definitions.json#/definitions/typeClassname"
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyClass"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"methods": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name",
|
|
||||||
"returns"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "document:method"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"static": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"abstract": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"params": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name",
|
|
||||||
"paramType"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:param"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"paramType": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"returns": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyMethod"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"interfaces": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"constructors": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "document:constructor"
|
|
||||||
},
|
|
||||||
"params": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name",
|
|
||||||
"paramType"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "property:param"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"paramType": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyConstructor"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"name",
|
|
||||||
"fieldType"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"const": "document:field"
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"fieldType": {
|
|
||||||
"$ref": "#/definitions/propertyType"
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"$ref": "#/definitions/propertyField"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"final": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"static": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"json.schemas": [
|
|
||||||
{
|
|
||||||
"fileMatch": [
|
|
||||||
"/probe/docs/*.json"
|
|
||||||
],
|
|
||||||
"url": "./.vscode/probe.doc-schema.json"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,34 +1,7 @@
|
|||||||
# wheat-server-kubejs
|
# wheat-server-kubejs
|
||||||
|
|
||||||
## 相关链接
|
## Links
|
||||||
|
|
||||||
- [KubeJS - Official Website](https://kubejs.com/)
|
- [KubeJS - Official Website](https://kubejs.com/)
|
||||||
- [KubeJS - Mods - Modrinth](https://modrinth.com/mod/kubejs)
|
- [KubeJS - Mods - Modrinth](https://modrinth.com/mod/kubejs)
|
||||||
- [KubeJS Additions](https://www.curseforge.com/minecraft/mc-mods/kubejs-additions)
|
|
||||||
- [Prunoideae / ProbeJS](https://github.com/Prunoideae/ProbeJS)
|
- [Prunoideae / ProbeJS](https://github.com/Prunoideae/ProbeJS)
|
||||||
|
|
||||||
## 注意事项
|
|
||||||
|
|
||||||
- 暂不支持解构赋值(2022-08-28)
|
|
||||||
- 暂不支持设置函数参数默认值(2022-08-28)
|
|
||||||
- 暂不支持 try catch(2022-08-28)
|
|
||||||
|
|
||||||
## 参考资料
|
|
||||||
|
|
||||||
### Wiki
|
|
||||||
|
|
||||||
- [自定义方块](https://mods.latvian.dev/books/kubejs/page/custom-blocks)
|
|
||||||
- [tintindex | 森罗万象](https://sqwatermark.com/resguide/vanilla/model/tintindex.html)
|
|
||||||
|
|
||||||
### 代码
|
|
||||||
|
|
||||||
- [KubeJS-Mods / KubeJS](https://github.com/KubeJS-Mods/KubeJS)
|
|
||||||
- [BlockBuilder.java](https://github.com/KubeJS-Mods/KubeJS/blob/1.18/main/common/src/main/java/dev/latvian/mods/kubejs/block/BlockBuilder.java)
|
|
||||||
- [BasicBlockJS.java](https://github.com/KubeJS-Mods/KubeJS/blob/1.18/main/common/src/main/java/dev/latvian/mods/kubejs/block/custom/BasicBlockJS.java)
|
|
||||||
- [WoodenButtonBlockBuilder.java](https://github.com/KubeJS-Mods/KubeJS/blob/1.18/main/common/src/main/java/dev/latvian/mods/kubejs/block/custom/WoodenButtonBlockBuilder.java)
|
|
||||||
- [Cardinally Orientable Blocks and Shuffle Asset Generation](https://github.com/KubeJS-Mods/KubeJS/pull/459)
|
|
||||||
- [Basic BlockState Support and Misc Delegate Methods](https://github.com/KubeJS-Mods/KubeJS/pull/464)
|
|
||||||
|
|
||||||
### 颜色列表
|
|
||||||
|
|
||||||
- [Railcraft/EnumColor.java](https://github.com/Railcraft/Railcraft/blob/mc-1.12.2/src/main/java/mods/railcraft/common/plugins/color/EnumColor.java)
|
|
||||||
|
|||||||
@@ -1,25 +1,3 @@
|
|||||||
// priority: 100
|
// priority: 100
|
||||||
|
|
||||||
const JSON_ASSETS = global.JSON_ASSETS;
|
console.info(`${global.LOG_PREFIX} 加载客户端内容`);
|
||||||
const LOG_PREFIX = global.LOG_PREFIX;
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 加载客户端内容`);
|
|
||||||
|
|
||||||
// 生成客户端资源
|
|
||||||
// event.add(new ResourceLocation(`<命名空间>:<资源相对路径>`), `JSON`);
|
|
||||||
// event.add(new ResourceLocation(`minecraft:models/block/stone`), {});
|
|
||||||
onEvent('client.generate_assets', (event) => {
|
|
||||||
|
|
||||||
if (!Array.isArray(JSON_ASSETS)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 生成客户端资源 - 开始`);
|
|
||||||
|
|
||||||
JSON_ASSETS.forEach((item) => {
|
|
||||||
event.add(new ResourceLocation(item.PATH), item.DATA);
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 生成客户端资源 - 完成`);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
@@ -1,13 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"lib": [
|
"lib": ["ES5", "ES2015"],
|
||||||
"ES5",
|
"typeRoots": ["./probe/generated", "./probe/user"]
|
||||||
"ES2015"
|
|
||||||
],
|
|
||||||
"typeRoots": [
|
|
||||||
"./probe/generated",
|
|
||||||
"./probe/user"
|
|
||||||
],
|
|
||||||
"target": "ES2015"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/// <reference path="./globals.d.ts" />
|
/// <reference path="./globals.d.ts" />
|
||||||
const Vec3d: typeof Vec3
|
const Vec3d: typeof Vec3
|
||||||
const Text: typeof Component
|
|
||||||
const Direction: typeof Facing
|
const Direction: typeof Facing
|
||||||
|
const Text: typeof Component
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
interface String {
|
|
||||||
readonly namespace: string,
|
|
||||||
readonly path: string
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/// <reference path="./globals.d.ts" />
|
/// <reference path="./globals.d.ts" />
|
||||||
declare namespace Registry {
|
declare namespace Registry {
|
||||||
class SoundEvent extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Sound_event extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.SoundEventBuilder;
|
create(id: string, type: "basic"): Internal.SoundEventBuilder;
|
||||||
create(id: string): Internal.SoundEventBuilder;
|
create(id: string): Internal.SoundEventBuilder;
|
||||||
}
|
}
|
||||||
@@ -42,19 +42,19 @@ declare namespace Registry {
|
|||||||
create(id: string, type: "basic"): Internal.EnchantmentBuilder;
|
create(id: string, type: "basic"): Internal.EnchantmentBuilder;
|
||||||
create(id: string): Internal.EnchantmentBuilder;
|
create(id: string): Internal.EnchantmentBuilder;
|
||||||
}
|
}
|
||||||
class MobEffect extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Mob_effect extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.BasicMobEffect$Builder;
|
create(id: string, type: "basic"): Internal.BasicMobEffect$Builder;
|
||||||
create(id: string): Internal.BasicMobEffect$Builder;
|
create(id: string): Internal.BasicMobEffect$Builder;
|
||||||
}
|
}
|
||||||
class EntityType extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Entity_type extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
}
|
}
|
||||||
class BlockEntityType extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Block_entity_type extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
}
|
}
|
||||||
class Potion extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Potion extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.PotionBuilder;
|
create(id: string, type: "basic"): Internal.PotionBuilder;
|
||||||
create(id: string): Internal.PotionBuilder;
|
create(id: string): Internal.PotionBuilder;
|
||||||
}
|
}
|
||||||
class ParticleType extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Particle_type extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.ParticleTypeBuilder;
|
create(id: string, type: "basic"): Internal.ParticleTypeBuilder;
|
||||||
create(id: string): Internal.ParticleTypeBuilder;
|
create(id: string): Internal.ParticleTypeBuilder;
|
||||||
}
|
}
|
||||||
@@ -62,19 +62,19 @@ declare namespace Registry {
|
|||||||
create(id: string, type: "basic"): Internal.MotiveBuilder;
|
create(id: string, type: "basic"): Internal.MotiveBuilder;
|
||||||
create(id: string): Internal.MotiveBuilder;
|
create(id: string): Internal.MotiveBuilder;
|
||||||
}
|
}
|
||||||
class CustomStat extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Custom_stat extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.CustomStatBuilder;
|
create(id: string, type: "basic"): Internal.CustomStatBuilder;
|
||||||
create(id: string): Internal.CustomStatBuilder;
|
create(id: string): Internal.CustomStatBuilder;
|
||||||
}
|
}
|
||||||
class PointOfInterestType extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Point_of_interest_type extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.PoiTypeBuilder;
|
create(id: string, type: "basic"): Internal.PoiTypeBuilder;
|
||||||
create(id: string): Internal.PoiTypeBuilder;
|
create(id: string): Internal.PoiTypeBuilder;
|
||||||
}
|
}
|
||||||
class VillagerType extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Villager_type extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.VillagerTypeBuilder;
|
create(id: string, type: "basic"): Internal.VillagerTypeBuilder;
|
||||||
create(id: string): Internal.VillagerTypeBuilder;
|
create(id: string): Internal.VillagerTypeBuilder;
|
||||||
}
|
}
|
||||||
class VillagerProfession extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
class Villager_profession extends Internal.RegistryObjectBuilderTypes$RegistryEventJS<any> {
|
||||||
create(id: string, type: "basic"): Internal.VillagerProfessionBuilder;
|
create(id: string, type: "basic"): Internal.VillagerProfessionBuilder;
|
||||||
create(id: string): Internal.VillagerProfessionBuilder;
|
create(id: string): Internal.VillagerProfessionBuilder;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,51 +1,3 @@
|
|||||||
/** 方块构造器 */
|
|
||||||
type B_Builder = Internal.BlockBuilder;
|
|
||||||
|
|
||||||
/** 方块碰撞箱类型 */
|
|
||||||
type B_BoxType = 'custom' | 'full' | 'half';
|
|
||||||
|
|
||||||
/** 方块材质类型 */
|
|
||||||
type B_Material = Internal.MaterialJS_;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 方块渲染类型
|
|
||||||
* - `cutout`: required for blocks with texture like glass
|
|
||||||
* - `translucent`: required for blocks like stained glass
|
|
||||||
*/
|
|
||||||
type B_RenderType = 'solid' | 'cutout' | 'cutout_mipped' | 'translucent';
|
|
||||||
|
|
||||||
/** 配置选项 */
|
|
||||||
type SetBlockPropsOpts = {
|
|
||||||
/** 碰撞箱配置(自定义) */
|
|
||||||
boxConfig: number[];
|
|
||||||
/** 碰撞箱类型(内置) */
|
|
||||||
boxType: B_BoxType;
|
|
||||||
/** 开启碰撞箱,默认:true */
|
|
||||||
collision: boolean;
|
|
||||||
/** 方块显示名称 */
|
|
||||||
displayName: string;
|
|
||||||
/** 默认:8 */
|
|
||||||
hardness: number;
|
|
||||||
/** 是否为完整方块,默认:true */
|
|
||||||
isSolid: boolean;
|
|
||||||
/** 范围:0 ~ 1 */
|
|
||||||
lightLevel: number;
|
|
||||||
/** 默认:stone */
|
|
||||||
material: B_Material;
|
|
||||||
/** 模型文件路径 */
|
|
||||||
modelPath: string;
|
|
||||||
/** 默认:solid */
|
|
||||||
renderType: B_RenderType;
|
|
||||||
/** 默认:16 */
|
|
||||||
resistance: number;
|
|
||||||
/** fullBlock(未使用)*/
|
|
||||||
isFull: boolean;
|
|
||||||
/** opaque(未使用)*/
|
|
||||||
isOpaque: boolean;
|
|
||||||
/** transparent(未使用)*/
|
|
||||||
transparent: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
declare const global: {
|
declare const global: {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -55,25 +7,6 @@ declare const global: {
|
|||||||
*/
|
*/
|
||||||
defaults<TValue>(v: TValue, d: TValue): TValue;
|
defaults<TValue>(v: TValue, d: TValue): TValue;
|
||||||
|
|
||||||
/**
|
|
||||||
* @desc 设置方块基础属性
|
|
||||||
* @param block 方块
|
|
||||||
* @param opts 配置选项
|
|
||||||
*/
|
|
||||||
setBlockProps(block: B_Builder, opts: SetBlockPropsOpts): boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @desc 设置方块水平旋转属性
|
|
||||||
* @param block 方块
|
|
||||||
* @param type 旋转类型
|
|
||||||
* @param model 模型路径
|
|
||||||
*/
|
|
||||||
setHorizontalFacing(
|
|
||||||
block: B_Builder,
|
|
||||||
type: 'revert' | 'same',
|
|
||||||
model: string
|
|
||||||
): boolean;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @desc 写入 JSON 文件
|
* @desc 写入 JSON 文件
|
||||||
* @param path 文件路径,相对于 `.minecraft`
|
* @param path 文件路径,相对于 `.minecraft`
|
||||||
@@ -91,12 +24,6 @@ declare const global: {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 需要在 `client.generate_assets` 生成的 JSON 文件 */
|
|
||||||
JSON_ASSETS: Array<{
|
|
||||||
PATH: string;
|
|
||||||
DATA: Internal.JsonElement;
|
|
||||||
}>;
|
|
||||||
|
|
||||||
/** 日志前缀 */
|
/** 日志前缀 */
|
||||||
LOG_PREFIX: string;
|
LOG_PREFIX: string;
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
// priority: 0
|
|
||||||
|
|
||||||
// 玩家切换世界时设置为冒险模式(KubeJS Additions)
|
|
||||||
onEvent('player.change_dimension', (event) => {
|
|
||||||
|
|
||||||
const evServer = event.getServer();
|
|
||||||
const evPlayer = event.getPlayer();
|
|
||||||
const player = evServer ? evServer.getPlayer(evPlayer) : null;
|
|
||||||
|
|
||||||
if (!player) {
|
|
||||||
console.error('自动切换游戏模式失败:找不到玩家');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player.isCreativeMode()) {
|
|
||||||
player.setGameMode('adventure');
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
@@ -1,119 +1,24 @@
|
|||||||
// priority: 100
|
// priority: 100
|
||||||
|
|
||||||
|
// 注意事项:
|
||||||
|
// - 暂不支持解构赋值(2022-08-28)
|
||||||
|
// - 暂不支持设置函数参数默认值(2022-08-28)
|
||||||
|
// - 暂不支持 try catch(2022-08-28)
|
||||||
|
|
||||||
|
// 自定义方块:
|
||||||
|
// https://mods.latvian.dev/books/kubejs/page/custom-blocks
|
||||||
|
|
||||||
global.defaults = function (v, d) {
|
global.defaults = function (v, d) {
|
||||||
(typeof d === 'undefined') && (d = null);
|
(typeof d === 'undefined') && (d = null);
|
||||||
return ((typeof v === 'undefined' || v === null) ? d : v);
|
return ((typeof v === 'undefined' || v === null) ? d : v);
|
||||||
};
|
};
|
||||||
|
|
||||||
global.setBlockProps = function (block, opts) {
|
|
||||||
|
|
||||||
if (!block) {
|
|
||||||
console.error(`${LOG_PREFIX} 设置方块属性失败:缺少“block”参数`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!opts) {
|
|
||||||
opts = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
const boxConfig = defaults(opts.boxConfig, null);
|
|
||||||
const boxType = defaults(opts.boxType, '');
|
|
||||||
const collision = defaults(opts.collision, true);
|
|
||||||
const displayName = defaults(opts.displayName, '');
|
|
||||||
const hardness = defaults(opts.hardness, 8);
|
|
||||||
const isSolid = defaults(opts.isSolid, true);
|
|
||||||
const lightLevel = defaults(opts.lightLevel, 0);
|
|
||||||
const material = defaults(opts.material, 'stone');
|
|
||||||
const modelPath = defaults(opts.modelPath, '');
|
|
||||||
const renderType = defaults(opts.renderType, 'solid');
|
|
||||||
const resistance = defaults(opts.resistance, 16);
|
|
||||||
|
|
||||||
if (boxConfig) {
|
|
||||||
block.box.apply(block, boxConfig);
|
|
||||||
} else if (boxType === 'full') {
|
|
||||||
block.box(0, 0, 0, 16, 16, 16, true);
|
|
||||||
} else if (boxType === 'half') {
|
|
||||||
block.box(0, 0, 0, 16, 8, 16, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!collision) {
|
|
||||||
block.noCollision();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (displayName) {
|
|
||||||
block.displayName(displayName);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isSolid) {
|
|
||||||
block.notSolid();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (modelPath) {
|
|
||||||
block.model(modelPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
block.hardness(hardness);
|
|
||||||
block.lightLevel(lightLevel);
|
|
||||||
block.material(material);
|
|
||||||
block.renderType(renderType);
|
|
||||||
block.resistance(resistance);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
global.setHorizontalFacing = function (block, type, model) {
|
|
||||||
|
|
||||||
const prop = BlockProperties.HORIZONTAL_FACING;
|
|
||||||
|
|
||||||
// 设置模型旋转
|
|
||||||
block.blockstateJson = {
|
|
||||||
'variants': {
|
|
||||||
'facing=north': { model: model, y: 0 },
|
|
||||||
'facing=east': { model: model, y: 90 },
|
|
||||||
'facing=south': { model: model, y: 180 },
|
|
||||||
'facing=west': { model: model, y: 270 }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 添加属性
|
|
||||||
block.property(prop);
|
|
||||||
|
|
||||||
// 处理默认状态
|
|
||||||
block.defaultState((ev) => {
|
|
||||||
ev.set(prop, 'north');
|
|
||||||
});
|
|
||||||
|
|
||||||
// 处理放置状态
|
|
||||||
switch (type) {
|
|
||||||
// 与玩家朝向相反
|
|
||||||
case 'revert':
|
|
||||||
block.placementState((ev) => {
|
|
||||||
const d = ev.getHorizontalDirection().getOpposite().toString();
|
|
||||||
ev.set(prop, d);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
// 与玩家朝向相同
|
|
||||||
case 'same':
|
|
||||||
block.placementState((ev) => {
|
|
||||||
const d = ev.getHorizontalDirection().toString();
|
|
||||||
ev.set(prop, d);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
// 其它
|
|
||||||
default:
|
|
||||||
console.error(`${LOG_PREFIX} 设置旋转属性失败:参数“type”错误`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
global.writeJSON = function (path, data) {
|
global.writeJSON = function (path, data) {
|
||||||
JsonIO.write(path, data);
|
JsonIO.write(path, data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 参考:
|
||||||
|
// https://github.com/Railcraft/Railcraft/blob/mc-1.12.2/src/main/java/mods/railcraft/common/plugins/color/EnumColor.java
|
||||||
global.COLORS = {
|
global.COLORS = {
|
||||||
WHITE: {
|
WHITE: {
|
||||||
CODE: 'white',
|
CODE: 'white',
|
||||||
@@ -213,7 +118,6 @@ global.COLORS = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
global.JSON_ASSETS = [];
|
|
||||||
global.LOG_PREFIX = '[KubeJS]';
|
global.LOG_PREFIX = '[KubeJS]';
|
||||||
|
|
||||||
console.info(`${global.LOG_PREFIX} 启动`);
|
console.info(`${global.LOG_PREFIX} 启动`);
|
||||||
|
|||||||
@@ -1,27 +1,100 @@
|
|||||||
// priority: 0
|
// priority: 0
|
||||||
|
|
||||||
const defaults = global.defaults;
|
const defaults = global.defaults;
|
||||||
const setBlockProps = global.setBlockProps;
|
|
||||||
const setHorizontalFacing = global.setHorizontalFacing;
|
|
||||||
|
|
||||||
const COLORS = global.COLORS;
|
const COLORS = global.COLORS;
|
||||||
const JSON_ASSETS = global.JSON_ASSETS;
|
|
||||||
const LOG_PREFIX = global.LOG_PREFIX;
|
const LOG_PREFIX = global.LOG_PREFIX;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc 方块构造器
|
||||||
|
* @typedef B.Builder
|
||||||
|
* @type {Internal.BlockBuilder}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc 方块碰撞箱类型
|
||||||
|
* @typedef B.BoxType
|
||||||
|
* @type {'full'|'half'}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc 方块材质类型
|
||||||
|
* @typedef B.Material
|
||||||
|
* @type {Internal.MaterialJS_}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @desc 方块渲染类型
|
||||||
|
* - `cutout`: required for blocks with texture like glass
|
||||||
|
* - `translucent`: required for blocks like stained glass
|
||||||
|
* @typedef B.RenderType
|
||||||
|
* @type {'solid'|'cutout'|'translucent'}
|
||||||
|
*/
|
||||||
|
|
||||||
/** 模组 ID */
|
/** 模组 ID */
|
||||||
const MOD_ID = 'wheat_plus';
|
const MOD_ID = 'wheat_plus';
|
||||||
|
|
||||||
/** 方块模型、纹理文件基础短路径 */
|
/** 模型文件基础路径 */
|
||||||
const P_BLOCK = `${MOD_ID}:block`;
|
const PATH_MODEL = `${MOD_ID}:block`;
|
||||||
|
|
||||||
/** 方块模型文件基础长路径 */
|
/** 纹理文件基础路径 */
|
||||||
const P_BLOCK_MODEL = `${MOD_ID}:models/block`;
|
const PATH_TEXTURE = `${MOD_ID}:block`;
|
||||||
|
|
||||||
/** 物品模型、纹理文件基础短路径*/
|
/**
|
||||||
const P_ITEM = `${MOD_ID}:item`;
|
* @description 设置方块基础属性
|
||||||
|
* @param {B.Builder} block
|
||||||
|
* @param {object} options
|
||||||
|
* @param {B.BoxType} options.boxType 碰撞箱类型
|
||||||
|
* @param {string} options.displayName
|
||||||
|
* @param {number} options.hardness
|
||||||
|
* @param {boolean} options.isFull 是否完整方块
|
||||||
|
* @param {boolean} options.isOpaque 是否不透明
|
||||||
|
* @param {number} options.lightLevel 范围 0 ~ 1
|
||||||
|
* @param {B.Material} options.material
|
||||||
|
* @param {B.RenderType} options.renderType
|
||||||
|
* @param {number} options.resistance
|
||||||
|
*/
|
||||||
|
const setBlockProps = function (block, options) {
|
||||||
|
|
||||||
/** 物品模型文件基础长路径 */
|
if (!block) {
|
||||||
const P_ITEM_MODEL = `${MOD_ID}:models/item`;
|
console.error(`${LOG_PREFIX} 设置方块属性失败:缺少“block”参数`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!options) {
|
||||||
|
options = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
const boxType = defaults(options.boxType, '');
|
||||||
|
const displayName = defaults(options.displayName, '');
|
||||||
|
const hardness = defaults(options.hardness, 8);
|
||||||
|
const isFull = defaults(options.isFull, true);
|
||||||
|
const isOpaque = defaults(options.isOpaque, true);
|
||||||
|
const lightLevel = defaults(options.lightLevel, 0);
|
||||||
|
const material = defaults(options.material, 'stone');
|
||||||
|
const renderType = defaults(options.renderType, 'solid');
|
||||||
|
const resistance = defaults(options.resistance, 16);
|
||||||
|
|
||||||
|
if (displayName) {
|
||||||
|
block.displayName(displayName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (boxType === 'full') {
|
||||||
|
block.box(0, 0, 0, 16, 16, 16, true);
|
||||||
|
} else if (boxType === 'half') {
|
||||||
|
block.box(0, 0, 0, 16, 8, 16, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
block.fullBlock(isFull);
|
||||||
|
block.hardness(hardness);
|
||||||
|
block.lightLevel(lightLevel);
|
||||||
|
block.opaque(isOpaque);
|
||||||
|
block.material(material);
|
||||||
|
block.renderType(renderType);
|
||||||
|
block.resistance(resistance);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 处理 ${MOD_ID} 相关内容`);
|
console.info(`${LOG_PREFIX} 处理 ${MOD_ID} 相关内容`);
|
||||||
|
|
||||||
@@ -30,11 +103,12 @@ onEvent('block.registry', (event) => {
|
|||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 路 - 开始`);
|
console.info(`${LOG_PREFIX} 注册方块 - 路 - 开始`);
|
||||||
|
|
||||||
const blockList = [
|
/** 普通路方块 */
|
||||||
|
const roadBlocksNormal = [
|
||||||
{
|
{
|
||||||
name: 'road_blank',
|
name: 'road_blank',
|
||||||
label: '路 - 空白',
|
label: '路 - 空白',
|
||||||
texturePath: 'common/transparent',
|
texturePath: 'transparent',
|
||||||
hasNormal: true, // 普通 / 直线
|
hasNormal: true, // 普通 / 直线
|
||||||
hasSlant: false, // 斜线
|
hasSlant: false, // 斜线
|
||||||
hasSide: false, // 侧边纹理
|
hasSide: false, // 侧边纹理
|
||||||
@@ -96,12 +170,12 @@ onEvent('block.registry', (event) => {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
blockList.forEach((config) => {
|
roadBlocksNormal.forEach((config) => {
|
||||||
|
|
||||||
/** 方块名称 */
|
/** 方块 ID,包含模组 ID */
|
||||||
const blockName = config.name;
|
const id = `${MOD_ID}:${config.name}`;
|
||||||
|
|
||||||
/** 方块文本 */
|
/** 方块名称文本 */
|
||||||
const label = (config.label || 'Unknown');
|
const label = (config.label || 'Unknown');
|
||||||
|
|
||||||
/** 纹理文件相对路径 */
|
/** 纹理文件相对路径 */
|
||||||
@@ -110,123 +184,99 @@ onEvent('block.registry', (event) => {
|
|||||||
/** 是否存在侧边纹理 */
|
/** 是否存在侧边纹理 */
|
||||||
const tSide = config.hasSide;
|
const tSide = config.hasSide;
|
||||||
|
|
||||||
// 完整,普通 / 直线
|
// 完整,直线
|
||||||
if (config.hasNormal) {
|
if (config.hasNormal) {
|
||||||
|
|
||||||
const blockId = `${blockName}_full`;
|
const block = event.create(`${id}_full`, 'basic');
|
||||||
const fullId = `${MOD_ID}:${blockId}`;
|
|
||||||
const block = event.create(fullId, 'basic');
|
|
||||||
const suffix = (config.isBlank ? '' : ',直线');
|
const suffix = (config.isBlank ? '' : ',直线');
|
||||||
|
|
||||||
const modelPathL = `${P_BLOCK_MODEL}/${blockId}`;
|
|
||||||
const modelPathS = `${P_BLOCK}/${blockId}`;
|
|
||||||
const modelJSON = {
|
|
||||||
parent: `${P_BLOCK}/road/base_full`,
|
|
||||||
textures: {
|
|
||||||
content: `${P_BLOCK}/${tPath}`,
|
|
||||||
side: tSide ? `${P_BLOCK}/${tPath}` : undefined
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
JSON_ASSETS.push({ PATH: modelPathL, DATA: modelJSON });
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${label},完整${suffix}`,
|
displayName: `${label},完整${suffix}`,
|
||||||
modelPath: modelPathS,
|
|
||||||
renderType: 'cutout',
|
renderType: 'cutout',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (tPath) {
|
||||||
|
block.modelJson = {
|
||||||
|
parent: `${PATH_MODEL}/road/base_full`,
|
||||||
|
textures: {
|
||||||
|
content: `${PATH_TEXTURE}/${tPath}`,
|
||||||
|
side: tSide ? `${PATH_TEXTURE}/${tPath}` : undefined
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 完整,斜线
|
// 完整,斜线
|
||||||
if (config.hasSlant) {
|
if (config.hasSlant) {
|
||||||
|
|
||||||
const blockId = `${blockName}_full_slant`;
|
const block = event.create(`${id}_full_slant`, 'basic');
|
||||||
const fullId = `${MOD_ID}:${blockId}`;
|
const suffix = (config.isBlank ? '' : ',斜线');
|
||||||
const block = event.create(fullId, 'basic');
|
|
||||||
const suffix = ',斜线';
|
|
||||||
|
|
||||||
const modelPathL = `${P_BLOCK_MODEL}/${blockId}`;
|
|
||||||
const modelPathS = `${P_BLOCK}/${blockId}`;
|
|
||||||
const modelJSON = {
|
|
||||||
parent: `${P_BLOCK}/road/base_full`,
|
|
||||||
textures: {
|
|
||||||
content: `${P_BLOCK}/${tPath}_slant`,
|
|
||||||
side: tSide ? `${P_BLOCK}/${tPath}` : undefined
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
JSON_ASSETS.push({ PATH: modelPathL, DATA: modelJSON });
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${label},完整${suffix}`,
|
displayName: `${label},完整${suffix}`,
|
||||||
modelPath: modelPathS,
|
|
||||||
renderType: 'cutout',
|
renderType: 'cutout',
|
||||||
});
|
});
|
||||||
|
|
||||||
setHorizontalFacing(block, 'same', modelPathS);
|
if (tPath) {
|
||||||
|
block.modelJson = {
|
||||||
|
parent: `${PATH_MODEL}/road/base_full`,
|
||||||
|
textures: {
|
||||||
|
content: `${PATH_TEXTURE}/${tPath}_slant`,
|
||||||
|
side: tSide ? `${PATH_TEXTURE}/${tPath}` : undefined
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 一半,普通 / 直线
|
// 一半,直线
|
||||||
if (config.hasNormal) {
|
if (config.hasNormal) {
|
||||||
|
|
||||||
const blockId = `${blockName}_half`;
|
const block = event.create(`${id}_half`, 'basic');
|
||||||
const fullId = `${MOD_ID}:${blockId}`;
|
|
||||||
const block = event.create(fullId, 'basic');
|
|
||||||
const suffix = (config.isBlank ? '' : ',直线');
|
const suffix = (config.isBlank ? '' : ',直线');
|
||||||
|
|
||||||
const modelPathL = `${P_BLOCK_MODEL}/${blockId}`;
|
|
||||||
const modelPathS = `${P_BLOCK}/${blockId}`;
|
|
||||||
const modelJSON = {
|
|
||||||
parent: `${P_BLOCK}/road/base_half`,
|
|
||||||
textures: {
|
|
||||||
content: `${P_BLOCK}/${tPath}`,
|
|
||||||
side: tSide ? `${P_BLOCK}/${tPath}` : undefined
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
JSON_ASSETS.push({ PATH: modelPathL, DATA: modelJSON });
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'half',
|
boxType: 'half',
|
||||||
displayName: `${label},一半${suffix}`,
|
displayName: `${label},一半${suffix}`,
|
||||||
modelPath: modelPathS,
|
|
||||||
renderType: 'cutout',
|
renderType: 'cutout',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (tPath) {
|
||||||
|
block.modelJson = {
|
||||||
|
parent: `${PATH_MODEL}/road/base_half`,
|
||||||
|
textures: {
|
||||||
|
content: `${PATH_TEXTURE}/${tPath}`,
|
||||||
|
side: tSide ? `${PATH_TEXTURE}/${tPath}` : undefined
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 一半,斜线
|
// 一半,斜线
|
||||||
if (config.hasSlant) {
|
if (config.hasSlant) {
|
||||||
|
|
||||||
const blockId = `${blockName}_half_slant`;
|
const block = event.create(`${id}_half_slant`, 'basic');
|
||||||
const fullId = `${MOD_ID}:${blockId}`;
|
const suffix = (config.isBlank ? '' : ',斜线');
|
||||||
const block = event.create(fullId, 'basic');
|
|
||||||
const suffix = ',斜线';
|
|
||||||
|
|
||||||
const modelPathL = `${P_BLOCK_MODEL}/${blockId}`;
|
|
||||||
const modelPathS = `${P_BLOCK}/${blockId}`;
|
|
||||||
const modelJSON = {
|
|
||||||
parent: `${P_BLOCK}/road/base_half`,
|
|
||||||
textures: {
|
|
||||||
content: `${P_BLOCK}/${tPath}_slant`,
|
|
||||||
side: tSide ? `${P_BLOCK}/${tPath}` : undefined
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
JSON_ASSETS.push({ PATH: modelPathL, DATA: modelJSON });
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'half',
|
boxType: 'half',
|
||||||
displayName: `${label},一半${suffix}`,
|
displayName: `${label},一半${suffix}`,
|
||||||
modelPath: modelPathS,
|
|
||||||
renderType: 'cutout',
|
renderType: 'cutout',
|
||||||
});
|
});
|
||||||
|
|
||||||
setHorizontalFacing(block, 'same', modelPathS);
|
if (tPath) {
|
||||||
|
block.modelJson = {
|
||||||
|
parent: `${PATH_MODEL}/road/base_half`,
|
||||||
|
textures: {
|
||||||
|
content: `${PATH_TEXTURE}/${tPath}_slant`,
|
||||||
|
side: tSide ? `${PATH_TEXTURE}/${tPath}` : undefined
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,50 +298,33 @@ onEvent('block.registry', (event) => {
|
|||||||
const color = COLORS[key];
|
const color = COLORS[key];
|
||||||
const id = `${MOD_ID}:reinforced_concrete_${color.CODE}`;
|
const id = `${MOD_ID}:reinforced_concrete_${color.CODE}`;
|
||||||
const block = event.create(id, 'basic');
|
const block = event.create(id, 'basic');
|
||||||
const texture = `${P_BLOCK}/reinforced_concrete/${color.CODE}`;
|
const texture = `${PATH_TEXTURE}/reinforced_concrete/${color.CODE}`;
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${color.LABEL_CN}强化混凝土`,
|
displayName: `${color.LABEL_CN}强化混凝土`,
|
||||||
});
|
});
|
||||||
|
|
||||||
block.textureAll(texture);
|
block.modelJson = {
|
||||||
|
parent: 'minecraft:block/cube_all',
|
||||||
|
textures: { all: texture },
|
||||||
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 覆盖默认语言(en_US)
|
|
||||||
JSON_ASSETS.push({
|
|
||||||
PATH: 'minecraft:lang/en_us',
|
|
||||||
DATA: {
|
|
||||||
'block.minecraft.ancient_debris': 'White Reinforced Concrete',
|
|
||||||
'block.minecraft.raw_copper_block': 'Gray Reinforced Concrete',
|
|
||||||
'block.minecraft.raw_iron_block': 'Light Gray Reinforced Concrete',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// 覆盖默认语言(zh_CN)
|
|
||||||
JSON_ASSETS.push({
|
|
||||||
PATH: 'minecraft:lang/zh_cn',
|
|
||||||
DATA: {
|
|
||||||
'block.minecraft.ancient_debris': '白色强化混凝土',
|
|
||||||
'block.minecraft.raw_copper_block': '灰色强化混凝土',
|
|
||||||
'block.minecraft.raw_iron_block': '淡灰色强化混凝土',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 强化混凝土 - 完成`);
|
console.info(`${LOG_PREFIX} 注册方块 - 强化混凝土 - 完成`);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 注册方块 - 现代灯
|
// 注册方块 - 灯
|
||||||
onEvent('block.registry', (event) => {
|
onEvent('block.registry', (event) => {
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 现代灯 - 开始`);
|
console.info(`${LOG_PREFIX} 注册方块 - 灯 - 开始`);
|
||||||
|
|
||||||
const keys = Object.keys(COLORS);
|
const keys = Object.keys(COLORS);
|
||||||
|
|
||||||
/** 父模型路径 */
|
/** 父模型路径 */
|
||||||
const parent = `${P_BLOCK}/lamp/modern`;
|
const parent = `${PATH_MODEL}/lamp/modern`;
|
||||||
|
|
||||||
keys.forEach((key) => {
|
keys.forEach((key) => {
|
||||||
|
|
||||||
@@ -301,12 +334,11 @@ onEvent('block.registry', (event) => {
|
|||||||
|
|
||||||
// 纹理文件路径前缀
|
// 纹理文件路径前缀
|
||||||
// wheat_plus:block/lamp_modern/color_
|
// wheat_plus:block/lamp_modern/color_
|
||||||
const tBase = `${P_BLOCK}/lamp_modern/${color.CODE}`;
|
const tBase = `${PATH_TEXTURE}/lamp_modern/${color.CODE}`;
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `现代${color.LABEL_CN}灯`,
|
displayName: `现代${color.LABEL_CN}灯`,
|
||||||
isSolid: false,
|
|
||||||
lightLevel: 1,
|
lightLevel: 1,
|
||||||
material: 'glass',
|
material: 'glass',
|
||||||
renderType: 'translucent',
|
renderType: 'translucent',
|
||||||
@@ -323,202 +355,7 @@ onEvent('block.registry', (event) => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 现代灯 - 完成`);
|
console.info(`${LOG_PREFIX} 注册方块 - 灯 - 完成`);
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// 注册方块 - 简约灯
|
|
||||||
onEvent('block.registry', (event) => {
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 简约灯 - 开始`);
|
|
||||||
|
|
||||||
const blocks = [
|
|
||||||
{
|
|
||||||
name: 'lamp_simple_large',
|
|
||||||
label: '简约灯(大)',
|
|
||||||
model: 'lamp/simple_large',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'lamp_simple_medium',
|
|
||||||
label: '简约灯(中)',
|
|
||||||
model: 'lamp/simple_medium',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'lamp_simple_small',
|
|
||||||
label: '简约灯(小)',
|
|
||||||
model: 'lamp/simple_small',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'lamp_simple_stripe',
|
|
||||||
label: '简约灯(条状)',
|
|
||||||
model: 'lamp/simple_stripe',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
blocks.forEach((config) => {
|
|
||||||
|
|
||||||
const blockName = config.name;
|
|
||||||
const blockId = `${MOD_ID}:${blockName}`;
|
|
||||||
const block = event.create(blockId, 'stone_button');
|
|
||||||
|
|
||||||
// 用于替换默认模型
|
|
||||||
const modelJSON = { parent: `${P_BLOCK}/${config.model}` };
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
|
||||||
displayName: config.label,
|
|
||||||
lightLevel: 0.8,
|
|
||||||
material: 'glass',
|
|
||||||
renderType: 'translucent',
|
|
||||||
});
|
|
||||||
|
|
||||||
// 按钮方块默认状态
|
|
||||||
JSON_ASSETS.push({
|
|
||||||
PATH: `${P_BLOCK_MODEL}/${blockName}`,
|
|
||||||
DATA: modelJSON,
|
|
||||||
});
|
|
||||||
|
|
||||||
// 按钮方块按下状态
|
|
||||||
JSON_ASSETS.push({
|
|
||||||
PATH: `${P_BLOCK_MODEL}/${blockName}_pressed`,
|
|
||||||
DATA: modelJSON,
|
|
||||||
});
|
|
||||||
|
|
||||||
// 按钮物品状态
|
|
||||||
JSON_ASSETS.push({
|
|
||||||
PATH: `${P_ITEM_MODEL}/${blockName}`,
|
|
||||||
DATA: modelJSON,
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 简约灯 - 完成`);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// 注册方块 - 纯色方块
|
|
||||||
onEvent('block.registry', (event) => {
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 纯色方块 - 开始`);
|
|
||||||
|
|
||||||
const blocks = [
|
|
||||||
{
|
|
||||||
name: 'color_black',
|
|
||||||
label: '纯色方块(黑色)',
|
|
||||||
color: [0, 0, 0, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_white',
|
|
||||||
label: '纯色方块(白色)',
|
|
||||||
color: [255, 255, 255, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_blue',
|
|
||||||
label: '纯色方块(蓝色)',
|
|
||||||
color: [0, 0, 255, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_green',
|
|
||||||
label: '纯色方块(绿色)',
|
|
||||||
color: [0, 255, 0, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_red',
|
|
||||||
label: '纯色方块(红色)',
|
|
||||||
color: [255, 0, 0, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_yellow',
|
|
||||||
label: '纯色方块(黄色)',
|
|
||||||
color: [255, 255, 0, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_39c5bb',
|
|
||||||
label: '纯色方块(#39C5BB)',
|
|
||||||
color: [57, 197, 187, 1],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'color_66ccff',
|
|
||||||
label: '纯色方块(#66CCFF)',
|
|
||||||
color: [102, 204, 255, 1],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const texture = `${P_BLOCK}/common/color_base`;
|
|
||||||
|
|
||||||
blocks.forEach((config) => {
|
|
||||||
|
|
||||||
const id = `${MOD_ID}:${config.name}`;
|
|
||||||
const block = event.create(id, 'basic');
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
|
||||||
displayName: config.label,
|
|
||||||
isSolid: false,
|
|
||||||
material: 'stone',
|
|
||||||
});
|
|
||||||
|
|
||||||
block.textureAll(texture);
|
|
||||||
block.color(0, Color.rgba.apply(Color, config.color));
|
|
||||||
block.item((item) => {
|
|
||||||
item.color(0, Color.rgba.apply(Color, config.color));
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 纯色方块 - 完成`);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// 注册方块 - 其它
|
|
||||||
onEvent('block.registry', (event) => {
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 其它 - 开始`);
|
|
||||||
|
|
||||||
const blocks = [
|
|
||||||
{
|
|
||||||
name: 'isolation_pile_a',
|
|
||||||
box: [5, 0, 5, 11, 16, 11, true],
|
|
||||||
label: '隔离桩',
|
|
||||||
model: 'common/isolation_pile_a',
|
|
||||||
orientable: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'statue_player_alex',
|
|
||||||
box: [4, 0, 6, 12, 31, 10, true],
|
|
||||||
label: '模型(Alex)',
|
|
||||||
model: 'statue/player_alex',
|
|
||||||
orientable: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'statue_player_steve',
|
|
||||||
box: [4, 0, 6, 12, 31, 10, true],
|
|
||||||
label: '模型(Steve)',
|
|
||||||
model: 'statue/player_steve',
|
|
||||||
orientable: true,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
blocks.forEach((config) => {
|
|
||||||
|
|
||||||
const id = `${MOD_ID}:${config.name}`;
|
|
||||||
const block = event.create(id, 'basic');
|
|
||||||
const model = `${P_BLOCK}/${config.model}`;
|
|
||||||
|
|
||||||
setBlockProps(block, {
|
|
||||||
boxConfig: config.box,
|
|
||||||
boxType: 'custom',
|
|
||||||
displayName: config.label,
|
|
||||||
isSolid: false,
|
|
||||||
material: 'stone',
|
|
||||||
modelPath: model,
|
|
||||||
renderType: 'cutout',
|
|
||||||
});
|
|
||||||
|
|
||||||
if (config.orientable) {
|
|
||||||
setHorizontalFacing(block, 'revert', model);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 其它 - 完成`);
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -528,8 +365,64 @@ onEvent('block.registry', (event) => {
|
|||||||
// console.info(`${LOG_PREFIX} 注册物品 - 完成`);
|
// console.info(`${LOG_PREFIX} 注册物品 - 完成`);
|
||||||
// });
|
// });
|
||||||
|
|
||||||
// 注册声音
|
// 注册命令 example
|
||||||
// onEvent('sound.registry', (event) => {
|
// https://github.com/KubeJS-Mods/KubeJS/blob/1.18/main/common/src/main/java/dev/latvian/mods/kubejs/command/CommandRegistryEventJS.java
|
||||||
// console.info(`${LOG_PREFIX} 注册声音 - 开始`);
|
onEvent('command.registry', (event) => {
|
||||||
// console.info(`${LOG_PREFIX} 注册声音 - 完成`);
|
|
||||||
// });
|
console.info(`${LOG_PREFIX} 注册命令 - example - 开始`);
|
||||||
|
|
||||||
|
const { commands: Commands, arguments: Arguments } = event;
|
||||||
|
|
||||||
|
event.register(
|
||||||
|
Commands.literal('wp-example').then(
|
||||||
|
Commands.literal('add').then(
|
||||||
|
Commands.argument('name', Arguments.STRING.create(event))
|
||||||
|
.executes((ctx) => {
|
||||||
|
|
||||||
|
const arName = Arguments.STRING.getResult(ctx, 'name');
|
||||||
|
const msg = `Example ${arName} added.`;
|
||||||
|
|
||||||
|
ctx.source.sendSuccess(msg, true);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
})
|
||||||
|
)
|
||||||
|
).then(
|
||||||
|
Commands.literal('edit').then(
|
||||||
|
Commands.argument('name', Arguments.STRING.create(event)).then(
|
||||||
|
Commands.argument('property', Arguments.STRING.create(event))
|
||||||
|
.suggests((ctx, builder) => {
|
||||||
|
return ctx.source.suggest(['test-1', 'test-2'], builder);
|
||||||
|
}).executes((ctx) => {
|
||||||
|
|
||||||
|
const arName = Arguments.STRING.getResult(ctx, 'name');
|
||||||
|
const arProperty = Arguments.STRING.getResult(ctx, 'property');
|
||||||
|
const msg = `Example property ${arProperty} for ${arName} has been edited.`
|
||||||
|
|
||||||
|
ctx.source.sendSuccess(msg, true);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
).then(
|
||||||
|
Commands.literal('remove').then(
|
||||||
|
Commands.argument('name', Arguments.STRING.create(event))
|
||||||
|
.executes((ctx) => {
|
||||||
|
|
||||||
|
const arName = Arguments.STRING.getResult(ctx, 'name');
|
||||||
|
|
||||||
|
ctx.source.sendSuccess(`Example ${arName} removed.`, true);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
console.info(`${LOG_PREFIX} 注册命令 - example - 完成`);
|
||||||
|
|
||||||
|
});
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"block.minecraft.ancient_debris": "White Reinforced Concrete",
|
||||||
|
"block.minecraft.raw_copper_block": "Gray Reinforced Concrete",
|
||||||
|
"block.minecraft.raw_iron_block": "Light Gray Reinforced Concrete"
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"block.minecraft.ancient_debris": "白色强化混凝土",
|
||||||
|
"block.minecraft.raw_copper_block": "灰色强化混凝土",
|
||||||
|
"block.minecraft.raw_iron_block": "淡灰色强化混凝土"
|
||||||
|
}
|
||||||
@@ -1,268 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "block/block",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"black": "block/black_concrete",
|
|
||||||
"particle": "block/yellow_concrete",
|
|
||||||
"yellow": "block/yellow_concrete"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"from": [7, 12, 5],
|
|
||||||
"to": [9, 16, 6],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [10, 0, 11, 4], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [5, 0, 6, 4], "texture": "#yellow"},
|
|
||||||
"up": {"uv": [7, 5, 9, 6], "texture": "#yellow", "cullface": "up"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"from": [6, 12, 6],
|
|
||||||
"to": [10, 16, 7],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [9, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [6, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [6, 0, 7, 4], "texture": "#yellow"},
|
|
||||||
"up": {"uv": [6, 6, 10, 7], "texture": "#yellow", "cullface": "up"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"from": [5, 12, 7],
|
|
||||||
"to": [11, 16, 9],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 0, 11, 4], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [5, 0, 11, 4], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"up": {"uv": [5, 7, 11, 9], "texture": "#yellow", "cullface": "up"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"from": [6, 12, 9],
|
|
||||||
"to": [10, 16, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [6, 0, 7, 4], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [6, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [9, 0, 10, 4], "texture": "#yellow"},
|
|
||||||
"up": {"uv": [6, 9, 10, 10], "texture": "#yellow", "cullface": "up"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"from": [7, 12, 10],
|
|
||||||
"to": [9, 16, 11],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [5, 0, 6, 4], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [7, 0, 9, 4], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [10, 0, 11, 4], "texture": "#yellow"},
|
|
||||||
"up": {"uv": [7, 10, 9, 11], "texture": "#yellow", "cullface": "up"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"from": [7, 8, 5],
|
|
||||||
"to": [9, 12, 6],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 4, 9, 8], "texture": "#black"},
|
|
||||||
"east": {"uv": [10, 4, 11, 8], "texture": "#black"},
|
|
||||||
"south": {"uv": [7, 4, 9, 8], "texture": "#black"},
|
|
||||||
"west": {"uv": [5, 4, 6, 8], "texture": "#black"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"from": [6, 8, 6],
|
|
||||||
"to": [10, 12, 7],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 4, 10, 8], "texture": "#black"},
|
|
||||||
"east": {"uv": [9, 4, 10, 8], "texture": "#black"},
|
|
||||||
"south": {"uv": [6, 4, 10, 8], "texture": "#black"},
|
|
||||||
"west": {"uv": [6, 4, 7, 8], "texture": "#black"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"from": [5, 8, 7],
|
|
||||||
"to": [11, 12, 9],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 4, 11, 8], "texture": "#black"},
|
|
||||||
"east": {"uv": [7, 4, 9, 8], "texture": "#black"},
|
|
||||||
"south": {"uv": [5, 4, 11, 8], "texture": "#black"},
|
|
||||||
"west": {"uv": [7, 4, 9, 8], "texture": "#black"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"from": [6, 8, 9],
|
|
||||||
"to": [10, 12, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 4, 10, 8], "texture": "#black"},
|
|
||||||
"east": {"uv": [6, 4, 7, 8], "texture": "#black"},
|
|
||||||
"south": {"uv": [6, 4, 10, 8], "texture": "#black"},
|
|
||||||
"west": {"uv": [9, 4, 10, 8], "texture": "#black"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"from": [7, 8, 10],
|
|
||||||
"to": [9, 12, 11],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 4, 9, 8], "texture": "#black"},
|
|
||||||
"east": {"uv": [5, 4, 6, 8], "texture": "#black"},
|
|
||||||
"south": {"uv": [7, 4, 9, 8], "texture": "#black"},
|
|
||||||
"west": {"uv": [10, 4, 11, 8], "texture": "#black"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"from": [7, 4, 5],
|
|
||||||
"to": [9, 8, 6],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 8, 9, 12], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [10, 8, 11, 12], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [7, 8, 9, 12], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [5, 8, 6, 12], "texture": "#yellow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"from": [6, 4, 6],
|
|
||||||
"to": [10, 8, 7],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 8, 10, 12], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [9, 8, 10, 12], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [6, 8, 10, 12], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [6, 8, 7, 12], "texture": "#yellow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"from": [5, 4, 7],
|
|
||||||
"to": [11, 8, 9],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 8, 11, 12], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [7, 8, 9, 12], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [5, 8, 11, 12], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [7, 8, 9, 12], "texture": "#yellow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"from": [6, 4, 9],
|
|
||||||
"to": [10, 8, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 8, 10, 12], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [6, 8, 7, 12], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [6, 8, 10, 12], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [9, 8, 10, 12], "texture": "#yellow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"from": [7, 4, 10],
|
|
||||||
"to": [9, 8, 11],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 8, 9, 12], "texture": "#yellow"},
|
|
||||||
"east": {"uv": [5, 8, 6, 12], "texture": "#yellow"},
|
|
||||||
"south": {"uv": [7, 8, 9, 12], "texture": "#yellow"},
|
|
||||||
"west": {"uv": [10, 8, 11, 12], "texture": "#yellow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "A",
|
|
||||||
"from": [7, 0, 5],
|
|
||||||
"to": [9, 4, 6],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"east": {"uv": [10, 12, 11, 16], "texture": "#black"},
|
|
||||||
"south": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"west": {"uv": [5, 12, 6, 16], "texture": "#black"},
|
|
||||||
"down": {"uv": [7, 10, 9, 11], "texture": "#black", "cullface": "down"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "B",
|
|
||||||
"from": [6, 0, 6],
|
|
||||||
"to": [10, 4, 7],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 12, 10, 16], "texture": "#black"},
|
|
||||||
"east": {"uv": [9, 12, 10, 16], "texture": "#black"},
|
|
||||||
"south": {"uv": [6, 12, 10, 16], "texture": "#black"},
|
|
||||||
"west": {"uv": [6, 12, 7, 16], "texture": "#black"},
|
|
||||||
"down": {"uv": [6, 9, 10, 10], "texture": "#black", "cullface": "down"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "C",
|
|
||||||
"from": [5, 0, 7],
|
|
||||||
"to": [11, 4, 9],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 12, 11, 16], "texture": "#black"},
|
|
||||||
"east": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"south": {"uv": [5, 12, 11, 16], "texture": "#black"},
|
|
||||||
"west": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"down": {"uv": [5, 7, 11, 9], "texture": "#black", "cullface": "down"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "D",
|
|
||||||
"from": [6, 0, 9],
|
|
||||||
"to": [10, 4, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6, 12, 10, 16], "texture": "#black"},
|
|
||||||
"east": {"uv": [6, 12, 7, 16], "texture": "#black"},
|
|
||||||
"south": {"uv": [6, 12, 10, 16], "texture": "#black"},
|
|
||||||
"west": {"uv": [9, 12, 10, 16], "texture": "#black"},
|
|
||||||
"down": {"uv": [6, 6, 10, 7], "texture": "#black", "cullface": "down"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "E",
|
|
||||||
"from": [7, 0, 10],
|
|
||||||
"to": [9, 4, 11],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"east": {"uv": [5, 12, 6, 16], "texture": "#black"},
|
|
||||||
"south": {"uv": [7, 12, 9, 16], "texture": "#black"},
|
|
||||||
"west": {"uv": [10, 12, 11, 16], "texture": "#black"},
|
|
||||||
"down": {"uv": [7, 5, 9, 6], "texture": "#black", "cullface": "down"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "L4",
|
|
||||||
"origin": [0, 0, 0],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3, 4]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "L3",
|
|
||||||
"origin": [0, 0, 0],
|
|
||||||
"color": 0,
|
|
||||||
"children": [5, 6, 7, 8, 9]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "L2",
|
|
||||||
"origin": [0, 0, 0],
|
|
||||||
"color": 0,
|
|
||||||
"children": [10, 11, 12, 13, 14]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "L1",
|
|
||||||
"origin": [0, 0, 0],
|
|
||||||
"color": 0,
|
|
||||||
"children": [15, 16, 17, 18, 19]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "block/block",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "block/gray_concrete",
|
|
||||||
"base": "block/gray_concrete",
|
|
||||||
"core": "wheat_plus:block/lamp_common/white_core",
|
|
||||||
"glow": "wheat_plus:block/lamp_common/white_glow"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "core",
|
|
||||||
"from": [3, 1.5, 3],
|
|
||||||
"to": [13, 3.5, 13],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [3, 13, 13, 15], "texture": "#core"},
|
|
||||||
"east": {"uv": [3, 13, 13, 15], "texture": "#core"},
|
|
||||||
"south": {"uv": [3, 13, 13, 15], "texture": "#core"},
|
|
||||||
"west": {"uv": [3, 13, 13, 15], "texture": "#core"},
|
|
||||||
"up": {"uv": [3, 3, 13, 13], "texture": "#core"},
|
|
||||||
"down": {"uv": [3, 3, 13, 13], "texture": "#core"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "glow",
|
|
||||||
"from": [2, 1.5, 2],
|
|
||||||
"to": [14, 4.5, 14],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2, 12, 14, 15], "texture": "#glow"},
|
|
||||||
"east": {"uv": [2, 12, 14, 15], "texture": "#glow"},
|
|
||||||
"south": {"uv": [2, 12, 14, 15], "texture": "#glow"},
|
|
||||||
"west": {"uv": [2, 12, 14, 15], "texture": "#glow"},
|
|
||||||
"up": {"uv": [2, 2, 14, 14], "texture": "#glow"},
|
|
||||||
"down": {"uv": [2, 2, 14, 14], "texture": "#glow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "base",
|
|
||||||
"from": [1, 0, 1],
|
|
||||||
"to": [15, 1.5, 15],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 15, 15, 16], "texture": "#base"},
|
|
||||||
"east": {"uv": [1, 15, 15, 16], "texture": "#base"},
|
|
||||||
"south": {"uv": [1, 15, 15, 16], "texture": "#base"},
|
|
||||||
"west": {"uv": [1, 15, 15, 16], "texture": "#base"},
|
|
||||||
"up": {"uv": [1, 1, 15, 15], "texture": "#base"},
|
|
||||||
"down": {"uv": [1, 1, 15, 15], "texture": "#base"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "block/block",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "block/gray_concrete",
|
|
||||||
"base": "block/gray_concrete",
|
|
||||||
"core": "wheat_plus:block/lamp_common/white_core",
|
|
||||||
"glow": "wheat_plus:block/lamp_common/white_glow"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "core",
|
|
||||||
"from": [4.5, 1, 4.5],
|
|
||||||
"to": [11.5, 3, 11.5],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [4.5, 13, 11.5, 15], "texture": "#core"},
|
|
||||||
"east": {"uv": [4.5, 13, 11.5, 15], "texture": "#core"},
|
|
||||||
"south": {"uv": [4.5, 13, 11.5, 15], "texture": "#core"},
|
|
||||||
"west": {"uv": [4.5, 13, 11.5, 15], "texture": "#core"},
|
|
||||||
"up": {"uv": [4.5, 4.5, 11.5, 11.5], "texture": "#core"},
|
|
||||||
"down": {"uv": [4.5, 4.5, 11.5, 11.5], "texture": "#core"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "glow",
|
|
||||||
"from": [4, 1, 4],
|
|
||||||
"to": [12, 3.5, 12],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [4, 12.5, 12, 15], "texture": "#glow"},
|
|
||||||
"east": {"uv": [4, 12.5, 12, 15], "texture": "#glow"},
|
|
||||||
"south": {"uv": [4, 12.5, 12, 15], "texture": "#glow"},
|
|
||||||
"west": {"uv": [4, 12.5, 12, 15], "texture": "#glow"},
|
|
||||||
"up": {"uv": [4, 4, 12, 12], "texture": "#glow"},
|
|
||||||
"down": {"uv": [4, 4, 12, 12], "texture": "#glow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "base",
|
|
||||||
"from": [3.5, 0, 3.5],
|
|
||||||
"to": [12.5, 1, 12.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [3.5, 15, 12.5, 16], "texture": "#base"},
|
|
||||||
"east": {"uv": [3.5, 15, 12.5, 16], "texture": "#base"},
|
|
||||||
"south": {"uv": [3.5, 15, 12.5, 16], "texture": "#base"},
|
|
||||||
"west": {"uv": [3.5, 15, 12.5, 16], "texture": "#base"},
|
|
||||||
"up": {"uv": [3.5, 3.5, 12.5, 12.5], "texture": "#base"},
|
|
||||||
"down": {"uv": [3.5, 3.5, 12.5, 12.5], "texture": "#base"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "block/block",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "block/gray_concrete",
|
|
||||||
"base": "block/gray_concrete",
|
|
||||||
"core": "wheat_plus:block/lamp_common/white_core",
|
|
||||||
"glow": "wheat_plus:block/lamp_common/white_glow"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "core",
|
|
||||||
"from": [7, 0.5, 7],
|
|
||||||
"to": [9, 1, 9],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [7, 15, 9, 15.5], "texture": "#core"},
|
|
||||||
"east": {"uv": [7, 15, 9, 15.5], "texture": "#core"},
|
|
||||||
"south": {"uv": [7, 15, 9, 15.5], "texture": "#core"},
|
|
||||||
"west": {"uv": [7, 15, 9, 15.5], "texture": "#core"},
|
|
||||||
"up": {"uv": [7, 7, 9, 9], "texture": "#core"},
|
|
||||||
"down": {"uv": [7, 7, 9, 9], "texture": "#core"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "glow",
|
|
||||||
"from": [6.75, 0.25, 6.75],
|
|
||||||
"to": [9.25, 1.25, 9.25],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6.75, 14.75, 9.25, 15.75], "texture": "#glow"},
|
|
||||||
"east": {"uv": [6.75, 14.75, 9.25, 15.75], "texture": "#glow"},
|
|
||||||
"south": {"uv": [6.75, 14.75, 9.25, 15.75], "texture": "#glow"},
|
|
||||||
"west": {"uv": [6.75, 14.75, 9.25, 15.75], "texture": "#glow"},
|
|
||||||
"up": {"uv": [6.75, 6.75, 9.25, 9.25], "texture": "#glow"},
|
|
||||||
"down": {"uv": [6.75, 6.75, 9.25, 9.25], "texture": "#glow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "base",
|
|
||||||
"from": [6.5, 0, 6.5],
|
|
||||||
"to": [9.5, 0.5, 9.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [6.5, 15.5, 9.5, 16], "texture": "#base"},
|
|
||||||
"east": {"uv": [6.5, 15.5, 9.5, 16], "texture": "#base"},
|
|
||||||
"south": {"uv": [6.5, 15.5, 9.5, 16], "texture": "#base"},
|
|
||||||
"west": {"uv": [6.5, 15.5, 9.5, 16], "texture": "#base"},
|
|
||||||
"up": {"uv": [6.5, 6.5, 9.5, 9.5], "texture": "#base"},
|
|
||||||
"down": {"uv": [6.5, 6.5, 9.5, 9.5], "texture": "#base"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "block/block",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "block/gray_concrete",
|
|
||||||
"base": "block/gray_concrete",
|
|
||||||
"core": "wheat_plus:block/lamp_common/white_core",
|
|
||||||
"glow": "wheat_plus:block/lamp_common/white_glow"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "core",
|
|
||||||
"from": [3, 1, 7],
|
|
||||||
"to": [13, 2, 9],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [3, 14, 13, 15], "texture": "#core"},
|
|
||||||
"east": {"uv": [7, 14, 9, 15], "texture": "#core"},
|
|
||||||
"south": {"uv": [3, 14, 13, 15], "texture": "#core"},
|
|
||||||
"west": {"uv": [7, 14, 9, 15], "texture": "#core"},
|
|
||||||
"up": {"uv": [3, 7, 13, 9], "texture": "#core"},
|
|
||||||
"down": {"uv": [3, 7, 13, 9], "texture": "#core"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "glow",
|
|
||||||
"from": [2.5, 1, 6.5],
|
|
||||||
"to": [13.5, 2.5, 9.5],
|
|
||||||
"shade": false,
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2.5, 13.5, 13.5, 15], "texture": "#glow"},
|
|
||||||
"east": {"uv": [6.5, 13.5, 9.5, 15], "texture": "#glow"},
|
|
||||||
"south": {"uv": [2.5, 13.5, 13.5, 15], "texture": "#glow"},
|
|
||||||
"west": {"uv": [6.5, 13.5, 9.5, 15], "texture": "#glow"},
|
|
||||||
"up": {"uv": [2.5, 6.5, 13.5, 9.5], "texture": "#glow"},
|
|
||||||
"down": {"uv": [2.5, 6.5, 13.5, 9.5], "texture": "#glow"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "base",
|
|
||||||
"from": [2, 0, 6],
|
|
||||||
"to": [14, 1, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2, 15, 14, 16], "texture": "#base"},
|
|
||||||
"east": {"uv": [6, 15, 10, 16], "texture": "#base"},
|
|
||||||
"south": {"uv": [2, 15, 14, 16], "texture": "#base"},
|
|
||||||
"west": {"uv": [6, 15, 10, 16], "texture": "#base"},
|
|
||||||
"up": {"uv": [2, 6, 14, 10], "texture": "#base"},
|
|
||||||
"down": {"uv": [2, 6, 14, 10], "texture": "#base"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
"particle": "wheat_plus:block/road/base",
|
"particle": "wheat_plus:block/road/base",
|
||||||
"base": "wheat_plus:block/road/base",
|
"base": "wheat_plus:block/road/base",
|
||||||
"content": "wheat_plus:block/road/content_gray",
|
"content": "wheat_plus:block/road/content_gray",
|
||||||
"side": "wheat_plus:block/common/transparent"
|
"side": "wheat_plus:block/transparent"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"particle": "wheat_plus:block/road/base",
|
"particle": "wheat_plus:block/road/base",
|
||||||
"base": "wheat_plus:block/road/base",
|
"base": "wheat_plus:block/road/base",
|
||||||
"content": "wheat_plus:block/road/content_gray",
|
"content": "wheat_plus:block/road/content_gray",
|
||||||
"side": "wheat_plus:block/common/transparent"
|
"side": "wheat_plus:block/transparent"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [70, 0, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [70, 0, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"translation": [1, 0, 0],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"translation": [1, 0, 0],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 2, 0],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [20, -145, 0],
|
|
||||||
"translation": [0, -3, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"head": {
|
|
||||||
"translation": [11, 0, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"translation": [0, -4, -1],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,175 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "wheat_plus:block/statue/player",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "wheat_plus:block/statue/alex",
|
|
||||||
"texture": "wheat_plus:block/statue/alex"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "head",
|
|
||||||
"from": [4, 23.5, 4],
|
|
||||||
"to": [12, 31.5, 12],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2, 2, 4, 4], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 2, 2, 4], "texture": "#texture"},
|
|
||||||
"south": {"uv": [6, 2, 8, 4], "texture": "#texture"},
|
|
||||||
"west": {"uv": [4, 2, 6, 4], "texture": "#texture"},
|
|
||||||
"up": {"uv": [4, 2, 2, 0], "texture": "#texture"},
|
|
||||||
"down": {"uv": [6, 0, 4, 2], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "body",
|
|
||||||
"from": [4, 11.5, 6],
|
|
||||||
"to": [12, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 5, 7, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 5, 5, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [8, 5, 10, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [7, 5, 8, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [7, 5, 5, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [9, 4, 7, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_arm",
|
|
||||||
"from": [12, 11.5, 6],
|
|
||||||
"to": [15, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [11, 5, 11.75, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [10, 5, 11, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [12.75, 5, 13.5, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [11.75, 5, 12.75, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [11.75, 5, 11, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [12.5, 4, 11.75, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_arm",
|
|
||||||
"from": [1, 11.5, 6],
|
|
||||||
"to": [4, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [9, 13, 9.75, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [8, 13, 9, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [10.75, 13, 11.5, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [9.75, 13, 10.75, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [9.75, 13, 9, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [10.5, 12, 9.75, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_leg",
|
|
||||||
"from": [4, -0.5, 6],
|
|
||||||
"to": [8, 11.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 13, 6, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 13, 5, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [7, 13, 8, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [6, 13, 7, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [6, 13, 5, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [7, 12, 6, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_leg",
|
|
||||||
"from": [8, -0.5, 6],
|
|
||||||
"to": [12, 11.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 5, 2, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 5, 1, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 5, 4, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [2, 5, 3, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 5, 1, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 4, 2, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "head_2nd_layer",
|
|
||||||
"from": [3.5, 23, 3.5],
|
|
||||||
"to": [12.5, 32, 12.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [10, 2, 12, 4], "texture": "#texture"},
|
|
||||||
"east": {"uv": [8, 2, 10, 4], "texture": "#texture"},
|
|
||||||
"south": {"uv": [14, 2, 16, 4], "texture": "#texture"},
|
|
||||||
"west": {"uv": [12, 2, 14, 4], "texture": "#texture"},
|
|
||||||
"up": {"uv": [12, 2, 10, 0], "texture": "#texture"},
|
|
||||||
"down": {"uv": [14, 0, 12, 2], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "body_2nd_layer",
|
|
||||||
"from": [4, 11.02, 5.49],
|
|
||||||
"to": [12, 24.03, 10.49],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 9, 7, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 9, 5, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [8, 9, 10, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [7, 9, 8, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [7, 9, 5, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [9, 8, 7, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_arm_2nd_layer",
|
|
||||||
"from": [11.5, 11, 5.5],
|
|
||||||
"to": [15.5, 24, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [10.75, 9, 11.5, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [10, 9, 11, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [12.75, 9, 13.5, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [11.75, 9, 12.75, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [11.75, 9, 11, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [12.5, 8, 11.75, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_arm_2nd_layer",
|
|
||||||
"from": [0.5, 11, 5.5],
|
|
||||||
"to": [4.5, 24, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [13, 13, 13.75, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [12, 13, 13, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [14.75, 13, 15.5, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [13.75, 13, 14.75, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [13.75, 13, 13, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [14.5, 12, 13.75, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_leg_2nd_layer",
|
|
||||||
"from": [7.5, -1, 5.5],
|
|
||||||
"to": [12.5, 12, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 9, 2, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 9, 1, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 9, 4, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [0, 9, 1, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 9, 1, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 8, 2, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_leg_2nd_layer",
|
|
||||||
"from": [3.5, -1, 5.5],
|
|
||||||
"to": [8.5, 12, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 13, 2, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 13, 1, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 13, 4, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [2, 13, 3, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 13, 1, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 12, 2, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "Alex",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,175 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Created by Frost-ZX using Blockbench.",
|
|
||||||
"parent": "wheat_plus:block/statue/player",
|
|
||||||
"ambientocclusion": false,
|
|
||||||
"textures": {
|
|
||||||
"particle": "wheat_plus:block/statue/steve",
|
|
||||||
"texture": "wheat_plus:block/statue/steve"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "head",
|
|
||||||
"from": [4, 23.5, 4],
|
|
||||||
"to": [12, 31.5, 12],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2, 2, 4, 4], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 2, 2, 4], "texture": "#texture"},
|
|
||||||
"south": {"uv": [6, 2, 8, 4], "texture": "#texture"},
|
|
||||||
"west": {"uv": [4, 2, 6, 4], "texture": "#texture"},
|
|
||||||
"up": {"uv": [4, 2, 2, 0], "texture": "#texture"},
|
|
||||||
"down": {"uv": [6, 0, 4, 2], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "body",
|
|
||||||
"from": [4, 11.5, 6],
|
|
||||||
"to": [12, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 5, 7, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 5, 5, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [8, 5, 10, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [7, 5, 8, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [7, 5, 5, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [9, 4, 7, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_arm",
|
|
||||||
"from": [12, 11.5, 6],
|
|
||||||
"to": [16, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [11, 5, 12, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [10, 5, 11, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [13, 5, 14, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [12, 5, 13, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [12, 5, 11, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [13, 4, 12, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_arm",
|
|
||||||
"from": [0, 11.5, 6],
|
|
||||||
"to": [4, 23.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [9, 13, 10, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [8, 13, 9, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [11, 13, 12, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [10, 13, 11, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [10, 13, 9, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [11, 12, 10, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_leg",
|
|
||||||
"from": [8, -0.5, 6],
|
|
||||||
"to": [12, 11.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 5, 2, 8], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 5, 1, 8], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 5, 4, 8], "texture": "#texture"},
|
|
||||||
"west": {"uv": [2, 5, 3, 8], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 5, 1, 4], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 4, 2, 5], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_leg",
|
|
||||||
"from": [4, -0.5, 6],
|
|
||||||
"to": [8, 11.5, 10],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 13, 6, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 13, 5, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [7, 13, 8, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [6, 13, 7, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [6, 13, 5, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [7, 12, 6, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "head_2nd_layer",
|
|
||||||
"from": [3.5, 23, 3.5],
|
|
||||||
"to": [12.5, 32, 12.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [10, 2, 12, 4], "texture": "#texture"},
|
|
||||||
"east": {"uv": [8, 2, 10, 4], "texture": "#texture"},
|
|
||||||
"south": {"uv": [14, 2, 16, 4], "texture": "#texture"},
|
|
||||||
"west": {"uv": [12, 2, 14, 4], "texture": "#texture"},
|
|
||||||
"up": {"uv": [12, 2, 10, 0], "texture": "#texture"},
|
|
||||||
"down": {"uv": [14, 0, 12, 2], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "body_2nd_layer",
|
|
||||||
"from": [4, 11.02, 5.5],
|
|
||||||
"to": [12, 24.03, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [5, 9, 7, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [4, 9, 5, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [8, 9, 10, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [7, 9, 8, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [7, 9, 5, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [9, 8, 7, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_arm_2nd_layer",
|
|
||||||
"from": [11.5, 11, 5.5],
|
|
||||||
"to": [16.49, 24, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [11, 9, 12, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [10, 9, 11, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [13, 9, 14, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [12, 9, 13, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [12, 9, 11, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [13, 8, 12, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_arm_2nd_layer",
|
|
||||||
"from": [-0.5, 11, 5.5],
|
|
||||||
"to": [4.5, 24, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [13, 13, 14, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [12, 13, 13, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [15, 13, 16, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [14, 13, 15, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [14, 13, 13, 12], "texture": "#texture"},
|
|
||||||
"down": {"uv": [15, 12, 14, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "right_leg_2nd_layer",
|
|
||||||
"from": [7.5, -1, 5.5],
|
|
||||||
"to": [12.5, 12, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 9, 2, 12], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 9, 1, 12], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 9, 4, 12], "texture": "#texture"},
|
|
||||||
"west": {"uv": [2, 9, 3, 12], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 9, 1, 8], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 8, 2, 9], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "left_leg_2nd_layer",
|
|
||||||
"from": [3.5, -1, 5.5],
|
|
||||||
"to": [8.5, 12, 10.5],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 13, 2, 16], "texture": "#texture"},
|
|
||||||
"east": {"uv": [0, 13, 1, 16], "texture": "#texture"},
|
|
||||||
"south": {"uv": [3, 13, 4, 16], "texture": "#texture"},
|
|
||||||
"west": {"uv": [2, 13, 3, 16], "texture": "#texture"},
|
|
||||||
"up": {"uv": [2, 12, 1, 11], "texture": "#texture"},
|
|
||||||
"down": {"uv": [3, 12, 2, 13], "texture": "#texture"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "Steve",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 157 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |