Skip to content

wiki consistency/objectivity #43

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/.style_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ For example: Action wheel pages and actions are two separate pages, but knowledg

---

## Global pages
## Global Pages

In global pages all functions should be on the right directory sidebar using ###.

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/EntityPoses.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
List of poses a living entity can have, as accessed by <code>:getPose()</code>
List of poses a living entity can have, as accessed by `:getPose()`

**Example**:

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/Loop-Modes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LoopModes

These are the loop modes a blockbench animation can be set to. They can be initialized in blockbench itself or changed in the code via <code>setLoop(String)</code>.
These are the loop modes a Blockbench animation can be set to. They can be initialized in Blockbench itself or changed in the code via `setLoop(String)`.

**Example**:

Expand Down
79 changes: 45 additions & 34 deletions docs/enums/ModelPartParentTypes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,32 @@ import Emoji from '@site/src/components/Emoji';

ParentTypes are applied to ModelParts to apply specific transformations, or change how the ModelPart behaves.

## Applying ParentTypes via BlockBench
## Applying ParentTypes through Blockbench

To apply a ParentType through BlockBench, the <Emoji icon="blockbench/group"/> group name must start with the ParentType. Only <Emoji icon="blockbench/group"/> groups can have ParentTypes applied via BlockBench.
To apply a ParentType through Blockbench, the <Emoji icon="blockbench/group"/> group name must start with the ParentType. Only <Emoji icon="blockbench/group"/> groups can have ParentTypes applied via Blockbench.

:::tip

### Keywords

When setting the ParentType via group names, ParentTypes are commonly referred to as Keywords or BlockBench Keywords.
When setting the ParentType with group names, ParentTypes are commonly referred to as keywords or Blockbench keywords.

:::

**Examples**:
**Keyword Examples**

| Blockbench Name | `Head` ParentType | Reason |
| --------------------------------------------- | :---------------: | --------------------------------------------------------------------------------- |
| <Emoji icon="blockbench/group"/> `Head` | ✔️ | Group's name starts with a ParentType. |
| <Emoji icon="blockbench/group"/> `HeadPhones` | ✔️ | Group's name starts with a ParentType. |
| <Emoji icon="blockbench/group"/> `MagicHead` | ❌ | Group's name does not start with a ParentType. |
| <Emoji icon="blockbench/group"/> `head` | ❌ | Group's name does not start with a ParentType. `head` is not an alias for `Head`. |
| <Emoji icon="blockbench/cube"/> `Head` | ❌ | ParentTypes can only be applied to groups in BlockBench |
| <Emoji icon="blockbench/cube"/> `Head` | ❌ | ParentTypes can only be applied to groups in Blockbench |

---

## Applying ParentTypes via Script
## Applying ParentTypes through Scripting

To apply a ParentType through script, [index the ModelPart](../tutorials/ModelPart%20Indexing) you want to set the ParentType of, then call the `setParentType` method on it, passing in a ParentType as a string as the parameter.

To apply a ParentType through script, [index the ModelPart](../tutorials/ModelPart%20Indexing) you want to set the ParentType of, then call the <code>setParentType</code> method on it, passing in a ParentType as a string as the parameter.<br/>
After an avatar is loaded, there is no difference between <Emoji icon="blockbench/group"/> groups, <Emoji icon="blockbench/cube"/> cubes, or <Emoji icon="file/bbmodel"/> bbmodels. Everything is a ModelPart, meaning everything can have a ParentType.

**Example**:
Expand All @@ -42,8 +41,9 @@ models.myOtherModel.Pet:setParentType("World")

## List of ParentTypes

All ParentTypes have an alternate way of spelling it, an alias, though internally they do the same thing. They will be listed just underneath what Figura considers to be the true ParentType.<br/>
Many ParentTypes share similar properties. You can roughly put them into 3 distinct groups: Mimic, Pivot, and Special. These groupings are not recognized by the mod itself and just serve to make explaining similar ParentTypes more convenient.<br/>
All ParentTypes have an alternate way of spelling it, an alias, though internally they do the same thing. They will be listed just underneath what Figura considers to be the true ParentType.

Many ParentTypes share similar properties. You can roughly put them into 3 distinct groups: Mimic, Pivot, and Special. These groupings are not recognized by the mod itself and just serve to make explaining similar ParentTypes more convenient.

---

Expand All @@ -53,22 +53,22 @@ Many ParentTypes share similar properties. You can roughly put them into 3 disti
- #### `Model` \{#Model}
- #### `MODEL` \{#MODEL}

The default ParentType.<br/>
Using this ParentType as a Keyword has no purpose, as <Emoji icon="blockbench/group"/> groups with no Keyword will have this ParentType, but it can still be used in scripts.
The default ParentType. Using this ParentType as a Keyword has no purpose, as <Emoji icon="blockbench/group"/> groups with no Keyword will have this ParentType, but it can still be used in scripts.

---

## Player Mimic Types

Player Mimic ParentTypes copy transformations (position, rotation, scale) from elsewhere, typically a Vanilla Part, and apply it to the ModelPart. This allows for a script-free way of making a ModelPart behave like a Vanilla Part. These transformations are added on top of any transformations set via script or transformations set via a BlockBench Animation. To prevent this ParentTypes transformations from being applied while a BlockBench Animation is playing, enable the [Animation's Override property](../start_here/BlockBench#animation-properties).
Player Mimic ParentTypes copy transformations (position, rotation, scale) from elsewhere, typically a Vanilla Part, and apply it to the ModelPart. This allows for a script-free way of making a ModelPart behave like a Vanilla Part. These transformations are added on top of any transformations set via script or transformations set via a Blockbench Animation. To prevent this ParentTypes transformations from being applied while a Blockbench Animation is playing, enable the [Animation's Override property](../start_here/Blockbench#animation-properties).

---

### `Head` \{#Head}

- #### `HEAD` \{#HEAD}

Mimics the transformation offsets of the Vanilla <code>HEAD</code><br/>
Mimics the transformation offsets of the Vanilla `HEAD`.

If there is no ModelParts with the [Skull](#skull) ParentType, ModelParts with this ParentType will replace the Vanilla Skull.

---
Expand All @@ -77,15 +77,16 @@ If there is no ModelParts with the [Skull](#skull) ParentType, ModelParts with t

- #### `BODY` \{#BODY}

Mimics the transformation offsets of the Vanilla <code>BODY</code>
Mimics the transformation offsets of the Vanilla `BODY`

---

### `RightArm` \{#RightArm}

- #### `RIGHT_ARM` \{#RIGHT_ARM}

Mimics the transformation offsets of the Vanilla <code>RIGHT_ARM</code><br/>
Mimics the transformation offsets of the Vanilla `RIGHT_ARM`

This ParentType will appear in First Person under the same conditions as the Vanilla RightArm.

---
Expand All @@ -94,7 +95,8 @@ This ParentType will appear in First Person under the same conditions as the Van

- #### `LEFT_ARM` \{#LEFT_ARM}

Mimics the transformation offsets of the Vanilla <code>LEFT_ARM</code><br/>
Mimics the transformation offsets of the Vanilla `LEFT_ARM`

This ParentType will appear in First Person under the same conditions as the Vanilla LeftArm.

---
Expand All @@ -103,15 +105,15 @@ This ParentType will appear in First Person under the same conditions as the Van

- #### `RIGHT_LEG` \{#RIGHT_LEG}

Mimics the transformation offsets of the Vanilla <code>RIGHT_LEG</code>
Mimics the transformation offsets of the Vanilla `RIGHT_LEG`

---

### `LeftLeg` \{#LeftLeg}

- #### `LEFT_LEG` \{#LEFT_LEG}

Mimics the transformation offsets of the Vanilla <code>LEFT_LEG</code>
Mimics the transformation offsets of the Vanilla `LEFT_LEG`

---

Expand All @@ -121,8 +123,9 @@ Mimics the transformation offsets of the Vanilla <code>LEFT_LEG</code>
- #### `RightElytron` \{#RightElytron}
- #### `RIGHT_ELYTRON` \{#RIGHT_ELYTRON}

Mimics the transformation offsets of the Vanilla <code>RIGHT_ELYTRA</code><br/>
ModelParts with this ParentType are only visible while an Elytra is equipped.<br/>
Mimics the transformation offsets of the Vanilla `RIGHT_ELYTRA`

ModelParts with this ParentType are only visible while an Elytra is equipped.

---

Expand All @@ -132,16 +135,18 @@ ModelParts with this ParentType are only visible while an Elytra is equipped.<br
- #### `LeftElytron` \{#LeftElytron}
- #### `LEFT_ELYTRON` \{#LEFT_ELYTRON}

Mimics the transformation offsets of the Vanilla <code>LEFT_ELYTRA</code><br/>
ModelParts with this ParentType are only visible while an Elytra is equipped.<br/>
Mimics the transformation offsets of the Vanilla `LEFT_ELYTRA`

ModelParts with this ParentType are only visible while an Elytra is equipped.

---

### `Cape` \{#Cape}

- #### `CAPE` \{#CAPE}

Mimics the transformation offsets of the Vanilla <code>CAPE</code><br/>
Mimics the transformation offsets of the Vanilla `CAPE`

This ParentType works even if you don't own a vanilla Cape.

---
Expand All @@ -156,9 +161,12 @@ Special ParentTypes are ParentTypes that provide unique rendering functionality

- #### `WORLD` \{#WORLD}

This ParentType will cause the ModelPart to be parented to the Minecraft World itself rather than your Player.<br/>
Position (0,0,0) will be at the world's origin. 1 block is 16 ModelPart units, so multiply the world coordinates by 16 before setting the position of a World ParentType ModelPart.<br/>
Rotation (0,0,0) will be facing South instead of what BlockBench defines as North.<br/>
This ParentType will cause the ModelPart to be parented to the Minecraft World itself rather than your Player.

Position (0,0,0) will be at the world's origin. 1 block is 16 ModelPart units, so multiply the world coordinates by 16 before setting the position of a World ParentType ModelPart.

Rotation (0,0,0) will be facing South instead of what Blockbench defines as North.

ModelParts with this ParentType will be visible while in First Person.

---
Expand All @@ -172,7 +180,8 @@ ModelParts with this ParentType will be visible while in First Person.
- #### `GraphicalUserInterface` \{#GraphicalUserInterface}
- #### `JraficalUserInterface` \{#JraficalUserInterface}

This ParentType causes the ModelPart to render on the Hud instead of on your player. This only affects the owner's Hud, or players that spectate the owner of the avatar.<br/>
This ParentType causes the ModelPart to render on the Hud instead of on your player. This only affects the owner's Hud, or players that spectate the owner of the avatar.

(0,0,0) is the top left of the screen. 1 ModelPart unit is 1 Minecraft Gui unit. -X moves the ModelPart Right on the screen, and -Y moves the ModelPart Down on the screen. The Z axis determines which ModelParts render on top of others, with -Z moving the ModelPart closer. You can even have ModelParts render on top of the vanilla GUI.

---
Expand Down Expand Up @@ -200,17 +209,19 @@ This ParentType causes the ModelPart to replace the Vanilla Skull.

- #### `PORTRAIT` \{#PORTRAIT}

This ParentType will change the player icon in the TAB LIST.<br/>
Blockbench 0, 0, 0 is the bottom center and the valid area extends 4 units horizontally on each since and 8 units up.<br/>
This ParentType will change the player icon in the TAB LIST.

Blockbench 0, 0, 0 is the bottom center and the valid area extends 4 units horizontally on each since and 8 units up.

---

### `Arrow` \{#Arrow}

- #### `ARROW` \{#ARROW}

This ParentType replaces the model of arrows fired by you. The pivot point of the ModelPart that has this ParentType does not matter.<br/>
(0,0,0) in BlockBench is the point on the vanilla arrow's shaft that is just before the arrow head.
This ParentType replaces the model of arrows fired by you. The pivot point of the ModelPart that has this ParentType does not matter.

(0,0,0) in Blockbench is the point on the vanilla arrow's shaft that is just before the arrow head.

---

Expand All @@ -224,7 +235,7 @@ This ParentType designates a Custom Item Model that can be used in the ITEM_REND

## Pivot Types

Pivot ParentTypes move the location of specific Vanilla Parts to the pivot point of the ModelPart. If multiple of the same Pivot ParentType are in a bbmodel, multiple of them are rendered. These ParentTypes will only render their Vanilla Part if the part in the <code>vanilla_model</code> global is visible.
Pivot ParentTypes move the location of specific Vanilla Parts to the pivot point of the ModelPart. If multiple of the same Pivot ParentType are in a bbmodel, multiple of them are rendered. These ParentTypes will only render their Vanilla Part if the part in the `vanilla_model` global is visible.

---

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/PlayStates.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The play state of a Blockbench animation, detected with <code>getPlayState()</code>.
The play state of a Blockbench animation, detected with `getPlayState()`.

**Example**:

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/PlayerModelParts.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
These are outer layer parts used in conjunction with <code>player:isSkinLayerVisible(String)</code> to detect what parts a player has enabled via the Minecraft Skin Customizations setting.
These are outer layer parts used in conjunction with `player:isSkinLayerVisible(String)` to detect what parts a player has enabled via the Minecraft Skin Customizations setting.

**Example:**

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/PostEffects.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
These are the Super Secret Settings screen effects. They can be applied to the avatar user's POV via <code>renderer:setPostEffect(string)</code>.
These are the Super Secret Settings screen effects. They can be applied to the avatar user's POV via `renderer:setPostEffect(string)`.
For more information, consult the [wiki](https://minecraft.wiki/w/Shaders/Before_1.9).

**Example**:
Expand Down
2 changes: 1 addition & 1 deletion docs/enums/RenderTypes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Modelpart render types that can be applied via <code>setPrimaryRenderType(string)</code> or <code>setSecondaryRenderType(string)</code>
Modelpart render types that can be applied via `setPrimaryRenderType(string)` or `setSecondaryRenderType(string)`

There can only be one primary and secondary type applied to a cube at once, so you may get unwanted behavior if you make the primary render type `LINES` as all the pixels aside from the lines will vanish.

Expand Down
2 changes: 1 addition & 1 deletion docs/enums/TextureTypes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Texture Types you can set using <code>setPrimaryTexture</code> and <code>setSecondaryTexture</code><br/>
Texture Types you can set using `setPrimaryTexture` and `setSecondaryTexture`

**Example**:

Expand Down
2 changes: 1 addition & 1 deletion docs/globals/Animations/Animation.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ myAnim:isPaused()

Get the animation's playback state

These will either be `"PLAYING"`, `"STOPPED"`, or `"PAUSED"`
These will either be `PLAYING`, `STOPPED`, or `PAUSED`

**Example**:

Expand Down
6 changes: 5 additions & 1 deletion docs/globals/Events/Events.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,11 @@ If returned true, the event cancels its vanilla function

Calling the player without a <code>player:isLoaded()</code> check will error here.

Note: This event is several ticks slower than its alternative function in the [player API](../globals/Player#isusingitem): <code>player:isUsingItem()</code>
:::tip

This event is several ticks slower than its alternative function in the [player API](../globals/Player#isusingitem), <code>player:isUsingItem()</code>.

:::

```lua
function events.use_item(item, action, particles)
Expand Down
6 changes: 3 additions & 3 deletions docs/globals/Host/Host.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
The host API is accessed through the <code>host</code> global. Like so: <code>host:isFlying()</code>
The host API is accessed through the `host` global. Like so: `host:isFlying()`

Functions in the host API aren't synced, meaning to be useful in multiplayer their information will need to be synced via [pings](../tutorials/Pings).

Expand Down Expand Up @@ -74,7 +74,7 @@ Gets an ItemStack for the item in the given slot

The slot is either their numerical id (0 indexed) or the slot string, as used in the /item command

For the numerical id, 0-8 are the hotbar, 9-35 are the rest of the inventory starting from the top left slot, 99 is the offhand, and 100-103 are the armor slots from the boots to the helmet. <code>player:getItem()</code> is a better alternative for getting equipment slots.
For the numerical id, 0-8 are the hotbar, 9-35 are the rest of the inventory starting from the top left slot, 99 is the offhand, and 100-103 are the armor slots from the boots to the helmet. `player:getItem()` is a better alternative for getting equipment slots.

**Example**:

Expand Down Expand Up @@ -151,7 +151,7 @@ host:getScreen()

Returns a table of all of the player's status effects

The table contains sub-tables, each of which contains the name, amplifier, duration, and particle visibility of each status effect. To access a sub table index the effect table with the sub-table's name. Re the example below: <code>effect.name</code>
The table contains sub-tables, each of which contains the name, amplifier, duration, and particle visibility of each status effect. To access a sub table index the effect table with the sub-table's name. Re the example below: `effect.name`

**Example**:

Expand Down
2 changes: 1 addition & 1 deletion docs/globals/Keybinds/Keybinds.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The name is used in the keybind menu

The key parameter is an identifier for a key, such as "key.keyboard.r"

The boolean gui indicates whether the keybind should always work, or if it should only work when you don't have a screen open
The boolean GUI indicates whether the keybind should always work, or if it should only work when you don't have a screen open

Check the docs enum command for all key names

Expand Down
14 changes: 7 additions & 7 deletions docs/globals/Models/Models.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ models:setRot(0, 90, 0)

### <code>getRot()</code> \{#getRot}

Gets the rotation of the model part, including its rotation in blockbench
Gets the rotation of the model part, including its rotation in Blockbench

For relative rotation values, check out the "offset" rot functions

Expand All @@ -64,7 +64,7 @@ models:setRot()

### <code>setPos(Vector3)</code> \{#setPos}

Sets the position offset for this part from its blockbench position
Sets the position offset for this part from its Blockbench position

Nil values for position are assumed to be 0

Expand All @@ -78,7 +78,7 @@ models:setPos(0, 5, 0)

### <code>getPos()</code> \{#getPos}

Gets the position of the model part, as an offset from its position in blockbench
Gets the position of the model part, as an offset from its position in Blockbench

Only changes from {0,0,0} when you call setPos()

Expand Down Expand Up @@ -106,7 +106,7 @@ models:setScale(2, 2, 2)

### <code>getScale()</code> \{#getScale}

Gets the scale of the model part, as a multiple of its blockbench size
Gets the scale of the model part, as a multiple of its Blockbench size

Only changes from {1,1,1} when you call setScale()

Expand Down Expand Up @@ -136,7 +136,7 @@ models:setPivot(0, 5, 0)

### <code>getPivot()</code> \{#getPivot}

Gets the pivot point of the model part, including its pivot in blockbench
Gets the pivot point of the model part, including its pivot in Blockbench

For relative values, check out the "offset" pivot functions

Expand Down Expand Up @@ -168,7 +168,7 @@ models:setOffsetRot(0, 90, 0)

### <code>getOffsetRot()</code> \{#getOffsetRot}

Gets the offset rotation of the model part, offset from its rotation in blockbench
Gets the offset rotation of the model part, offset from its rotation in Blockbench

For absolute rotation values, check out the non-offset rot functions

Expand Down Expand Up @@ -228,7 +228,7 @@ models:setOffsetPivot(0, 5, 0)

### <code>getOffsetPivot()</code> \{#getOffsetPivot}

Gets the offset pivot of the model part, offset from its pivot in blockbench
Gets the offset pivot of the model part, offset from its pivot in Blockbench

For absolute pivot point values, check out the non-offset pivot functions

Expand Down
Loading