Fix docs format
[no changelog]
This commit is contained in:
@@ -12,8 +12,7 @@ Find the internal id of the item. This is usually stored in the ExtraAttributes
|
||||
keybinds). Once you found it, create an item model in a resource pack like you would for
|
||||
a vanilla item model, but at the coordinate `firmskyblock:<internalid>`. So for an aspect of the end, this would be
|
||||
`firmskyblock:models/item/aspect_of_the_end.json` (or `assets/firmskyblock/models/item/aspect_of_the_end.json`). Then,
|
||||
just use a normal minecraft item model.
|
||||
See https://github.com/romangraef/BadSkyblockTP/blob/master/assets/firmskyblock/models/item/magma_rod.json
|
||||
just use a normal minecraft item model. See https://github.com/romangraef/BadSkyblockTP/blob/master/assets/firmskyblock/models/item/magma_rod.json
|
||||
as an example.
|
||||
|
||||
## (Placed) Skulls by texture id
|
||||
@@ -37,17 +36,14 @@ head model.
|
||||
"textures": {
|
||||
"layer0": "firmskyblock:item/regular_texture"
|
||||
},
|
||||
"firmament:head_model": "minecraft:block/diamond_block"
|
||||
// when wearing on the head render a diamond block instead (can be any item model, including custom ones)
|
||||
"firmament:head_model": "minecraft:block/diamond_block" // when wearing on the head render a diamond block instead (can be any item model, including custom ones)
|
||||
}
|
||||
```
|
||||
|
||||
## Predicates
|
||||
|
||||
Firmament adds the ability for more
|
||||
complex [item model predicates](https://minecraft.wiki/w/Tutorials/Models#Item_predicates).
|
||||
Those predicates work on any model, including models for vanilla items, but they don't mix very well with vanilla model
|
||||
overrides.
|
||||
Firmament adds the ability for more complex [item model predicates](https://minecraft.wiki/w/Tutorials/Models#Item_predicates).
|
||||
Those predicates work on any model, including models for vanilla items, but they don't mix very well with vanilla model overrides.
|
||||
Vanilla predicates only ever get parsed at the top level, so including a vanilla predicate inside of a more complex
|
||||
firmament parser will result in an ignored predicate.
|
||||
|
||||
@@ -93,8 +89,8 @@ Tries to find at least one lore line that matches the given [string matcher](#st
|
||||
|
||||
```json
|
||||
"firmament:lore": {
|
||||
"regex": "Mode: Red Mushrooms",
|
||||
"color": "strip"
|
||||
"regex": "Mode: Red Mushrooms",
|
||||
"color": "strip"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -118,8 +114,8 @@ Inlined match:
|
||||
|
||||
```json5
|
||||
"firmament:extra_attributes": {
|
||||
"path": "gems.JADE_0",
|
||||
"string": "PERFECT"
|
||||
"path": "gems.JADE_0",
|
||||
"string": "PERFECT"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -127,10 +123,10 @@ Sub object match:
|
||||
|
||||
```json5
|
||||
"firmament:extra_attributes": {
|
||||
"path": "gems.JADE_0",
|
||||
"match": {
|
||||
"string": "PERFECT"
|
||||
}
|
||||
"path": "gems.JADE_0",
|
||||
"match": {
|
||||
"string": "PERFECT"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -159,24 +155,24 @@ further filter by level and some other pet info.
|
||||
|
||||
Every part of this matcher is optional.
|
||||
|
||||
|
||||
#### Logic Operators
|
||||
|
||||
Logic operators allow to combine other firmament predicates into one. This is done by building boolean operators:
|
||||
|
||||
```json5
|
||||
"firmament:any": [
|
||||
{
|
||||
"firmament:display_name": "SkyBlock Menu (Click)"
|
||||
},
|
||||
{
|
||||
"firmament:display_name": "SkyBlock",
|
||||
"firmament:lore": "Some Lore Requirement"
|
||||
}
|
||||
{
|
||||
"firmament:display_name": "SkyBlock Menu (Click)"
|
||||
},
|
||||
{
|
||||
"firmament:display_name": "SkyBlock",
|
||||
"firmament:lore": "Some Lore Requirement"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
This `firmament:any` test if the display name is either "SkyBlock Menu (Click)" or "SkyBlock" (aka any of the child
|
||||
predicates match).
|
||||
This `firmament:any` test if the display name is either "SkyBlock Menu (Click)" or "SkyBlock" (aka any of the child predicates match).
|
||||
|
||||
Similarly, there is `firmament:all`, which requires all of its children to match.
|
||||
|
||||
@@ -201,28 +197,27 @@ Directly specifying a raw string value expects the string to be *exactly* equal,
|
||||
|
||||
#### Complex
|
||||
|
||||
A complex string matcher allows you to specify whether the string will get its color codes removed or not before
|
||||
matching
|
||||
A complex string matcher allows you to specify whether the string will get its color codes removed or not before matching
|
||||
|
||||
|
||||
```json5
|
||||
"firmament:display_name": {
|
||||
"color": "strip",
|
||||
"color": "preserve",
|
||||
// When omitting the color property alltogether, you will fall back to "strip"
|
||||
"color": "strip",
|
||||
"color": "preserve",
|
||||
// When omitting the color property alltogether, you will fall back to "strip"
|
||||
}
|
||||
```
|
||||
|
||||
In that same object you can then also specify how the string will be matched using another property. You can only ever
|
||||
specify one of these other matchers and one color preserving property.
|
||||
|
||||
```json5
|
||||
"firmament:display_name": {
|
||||
"color": "strip",
|
||||
// You can use a "regex" property to use a java.util.Pattern regex. It will try to match the entire string.
|
||||
"regex": "So[me] Regex",
|
||||
// You can use an "equals" property to test if the entire string is equal to some value.
|
||||
// Equals is faster than regex, but also more limited.
|
||||
"equals": "Some Text"
|
||||
"color": "strip",
|
||||
// You can use a "regex" property to use a java.util.Pattern regex. It will try to match the entire string.
|
||||
"regex": "So[me] Regex",
|
||||
// You can use an "equals" property to test if the entire string is equal to some value.
|
||||
// Equals is faster than regex, but also more limited.
|
||||
"equals": "Some Text"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -233,10 +228,9 @@ This matches a number against either a range or a specific number.
|
||||
#### Direct number
|
||||
|
||||
You can directly specify a number using that value directly:
|
||||
|
||||
```json5
|
||||
"firmament:pet": {
|
||||
"level": 100
|
||||
"level": 100
|
||||
}
|
||||
```
|
||||
|
||||
@@ -246,9 +240,10 @@ This is best for whole numbers, since decimal numbers can be really close togeth
|
||||
|
||||
For ranges you can instead use an interval. This uses the standard mathematical notation for those as a string:
|
||||
|
||||
|
||||
```json5
|
||||
"firmament:pet": {
|
||||
"level": "(50,100]"
|
||||
"level": "(50,100]"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -271,7 +266,7 @@ compare your number:
|
||||
|
||||
```json5
|
||||
"firmament:pet": {
|
||||
"level": "<50"
|
||||
"level": "<50"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -288,8 +283,8 @@ The `string` type matches like a regular [string matcher](#string-matcher):
|
||||
|
||||
```json
|
||||
"string": {
|
||||
"color": "strip",
|
||||
"regex": "^aaa bbb$"
|
||||
"color": "strip",
|
||||
"regex": "^aaa bbb$"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -303,24 +298,24 @@ Or as a range:
|
||||
|
||||
```json
|
||||
"long": {
|
||||
"min": 0,
|
||||
"max": 1000
|
||||
"min": 0,
|
||||
"max": 1000
|
||||
}
|
||||
```
|
||||
|
||||
Min and max are both optional, but you need to specify at least one. By default `min` is inclusive and `max` is
|
||||
exclusive.
|
||||
Min and max are both optional, but you need to specify at least one. By default `min` is inclusive and `max` is exclusive.
|
||||
You can override that like so:
|
||||
|
||||
```json
|
||||
"short": {
|
||||
"min": 0,
|
||||
"max": 1000,
|
||||
"minExclusive": true,
|
||||
"maxExclusive": false
|
||||
"min": 0,
|
||||
"max": 1000,
|
||||
"minExclusive": true,
|
||||
"maxExclusive": false
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
> [!WARNING]
|
||||
> This syntax for numbers is *just* for **NBT values**. This is also why specifying the type of the number is necessary.
|
||||
> For other number matchers, use [the number matchers](#number-matchers)
|
||||
@@ -335,7 +330,7 @@ To retexture a piece of armor place a json file at `assets/firmskyblock/override
|
||||
{
|
||||
"item_ids": [
|
||||
"TARANTULA_BOOTS",
|
||||
"TARANTULA_LEGGINGS"
|
||||
"TARANTULA_LEGGINGS",
|
||||
// ETC
|
||||
],
|
||||
"layers": [
|
||||
@@ -395,7 +390,7 @@ Firmament predicates will work. You will also just directly specify new layers i
|
||||
{
|
||||
"item_ids": [
|
||||
"TARANTULA_BOOTS",
|
||||
"TARANTULA_LEGGINGS"
|
||||
"TARANTULA_LEGGINGS",
|
||||
// ETC
|
||||
],
|
||||
"layers": [
|
||||
|
||||
Reference in New Issue
Block a user