You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: developer_documentation.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@
22
22
23
23
### Introduction
24
24
25
-
The GeyserOptionalPack is compiled using a program written in Java. It contains various renderers and utilities for converting Java Edition assets into a format that works with Geyser to work on Bedrock Edition.
25
+
The GeyserIntegratedPack is compiled using a program written in Java. It contains various renderers and utilities for converting Java Edition assets into a format that works with Geyser to work on Bedrock Edition.
26
26
27
27
Entity data and entity flags (known as queries in Molang) are pieces of metadata that store various pieces of information about an entity on the Bedrock Edition of Minecraft. You can query for an entity's health, for example (a number query or an entity data), and can query for if an entity is angry (an entity flag, which is either 1.0 or 0.0 in Molang). Not all entities use every query, but every entity has access to most queries, though Bedrock by default ignores these. These queries can be sent by Geyser and change how an entity looks. We use this to our advantage in this resource pack.
The illusioner does not exist in Bedrock Edition. Full implementation, however, would require more than a simple texture swap. This is due to the illusioner's special attack, which creates four duplicate false illusioners, which lack a hit box. The actual illusioner remains invisible during this attack. Implementing this would likely be possible from a technical perspective, but it would require either some kind of helper entity attached to the illusioner by Geyser, such as an invisible armor stand, or the removal of invisibility during the illusioner's special attack. The former would be preferable, as it would maintain some degree of functionality for users without the pack.
78
78
79
-
Currently, the optional pack uses a render controller to perform a simple texture swap on the illusioner. This is accomplished by replacing the evocation illager with the illusioner when the evocation illager returns true for the Molang query `q.is_bribed`. The following texture array is defined in the render controller:
79
+
Currently, the integrated pack uses a render controller to perform a simple texture swap on the illusioner. This is accomplished by replacing the evocation illager with the illusioner when the evocation illager returns true for the Molang query `q.is_bribed`. The following texture array is defined in the render controller:
80
80
81
81
```json
82
82
{
@@ -115,29 +115,29 @@ Both Java Edition and Bedrock Edition have offhand support, though Bedrock is ve
115
115
116
116
The pack replaces many particles that are not displayed for various reasons. Some cannot be displayed due to Bedrock's lack of ability to spawn particles with data from required builtin variables. Others simply do not exist in Bedrock edition. The table below summarizes the particle changes implemented by this pack.
|`barrier`| - |`barrier`| Present in Bedrock Edition, but not as a particle|
122
+
|`bubble`|`basic_bubble_manual`|- | Modified version of the basic_bubble_manual particle is used to spawn in all block types|
123
+
|`crimson_spore`| - |`crimson_spore`| Not present in Bedrock Edition|
124
+
|`damage_indicator`| - |`damage_indicator`| Not present in Bedrock Edition|
125
+
|`enchanted_hit`| - |`enchanted_hit_single`| Not present in Bedrock Edition|
126
+
| - | - |`enchanted_hit_multiple`| Used for playing multiple scattered particles on attack|
127
+
|`flash`| - |`flash`| Not present in Bedrock Edition|
128
+
|`landing_honey`| - |`landing_honey`| Not present in Bedrock Edition|
129
+
|`landing_lava`| - |`landing_lava`| Not present in Bedrock Edition|
130
+
|`landing_obsidian_tear`| - |`landing_obsidian_tear`| Not present in Bedrock Edition|
131
+
|`nautilus`| - |`nautilus`| Not present in Bedrock Edition|
132
+
|`sneeze`| - |`sneeze`|Part of Bedrock Edition as a variant of redstone dust (local use only in integrated pack) |
133
+
|`sweep_attack`| - |`sweep_attack`| Not present in Bedrock Edition|
134
+
|`underwater`| - |`underwater`| Not present in Bedrock Edition|
135
+
|`warped_spore`| - |`warped_spore`| Not present in Bedrock Edition|
136
+
|`white_ash`| - |`white_ash`| Not present in Bedrock Edition|
137
137
138
138
#### Sweep attack
139
139
140
-
Of note, the texture for the sweep attack particle is built using the GeyserOptionalPackCompiler. This creates what is effectively a sprite sheet, and then the UV of the particle is animated from the particle definition. The UV animation in the particle definition is defined as follows:
140
+
Of note, the texture for the sweep attack particle is built using the GeyserIntegratedPackCompiler. This creates what is effectively a sprite sheet, and then the UV of the particle is animated from the particle definition. The UV animation in the particle definition is defined as follows:
141
141
142
142
```jsonc
143
143
{
@@ -153,7 +153,7 @@ Of note, the texture for the sweep attack particle is built using the GeyserOpti
153
153
}
154
154
```
155
155
156
-
The class for rendering the sweep attack texture can be found here: [SweepAttackRenderer.java](https://github.com/GeyserMC/GeyserOptionalPack/blob/master/src/main/java/org/geysermc/optionalpack/renderers/SweepAttackRenderer.java)
156
+
The class for rendering the sweep attack texture can be found here: [SweepAttackRenderer.java](https://github.com/GeyserMC/GeyserIntegratedPack/blob/master/src/main/java/org/geysermc/integratedpack/renderers/SweepAttackRenderer.java)
157
157
158
158
### Phantoms
159
159
@@ -198,9 +198,9 @@ On Java Edition, you are able to toggle your cape and second skin layers. Bedroc
198
198
math.mod(math.floor(q.mark_variant/32), 2) !=1
199
199
```
200
200
201
-
Do note that Geyser does invert the bits - that way, on other servers without the GeyserOptionalPack, `q.mark_variant` being 0 means that all parts should be shown. Java interprets 0 to mean all parts are invisible.
201
+
Do note that Geyser does invert the bits - that way, on other servers without the GeyserIntegratedPack, `q.mark_variant` being 0 means that all parts should be shown. Java interprets 0 to mean all parts are invisible.
202
202
203
-
Also note that capes are technically possible to implement without the OptionalPack, but this requires re-sending the skin data to Bedrock Edition which would be costly on performance and network usage.
203
+
Also note that capes are technically possible to implement without the IntegratedPack, but this requires re-sending the skin data to Bedrock Edition which would be costly on performance and network usage.
204
204
205
205
### Shulkers
206
206
@@ -354,7 +354,7 @@ Hiding the 2x2 crafting grid is a bit more involved. We have to use bindings to
354
354
```
355
355
356
356
This uses the `#is_creative_mode` binding, and applies it to the crafting panel. Note that we insert this modification into the bindings array
357
-
instead of directly modifying the UI - this allows the GeyserOptionalPack to stay compatible with other resource packs that modify this screen.
357
+
instead of directly modifying the UI - this allows the GeyserIntegratedPack to stay compatible with other resource packs that modify this screen.
358
358
359
359
### Structure block texture changes (MCPE-48224)
360
360
@@ -397,7 +397,7 @@ Likely due to a copy and paste mistake as the bamboo and nether wood fence gates
397
397
398
398
This `toggle4` sound does not exist in Bedrock Editions's default resources, meaning that sometimes the Cherry Fence Gate can play no sound.
399
399
400
-
Both Java and Bedrock don't have this sound, so GeyserOptionalPack fixes this by redefining these sound events, and removing `toggle4` from the `sound_definitions.json` as seen below:
400
+
Both Java and Bedrock don't have this sound, so GeyserIntegratedPack fixes this by redefining these sound events, and removing `toggle4` from the `sound_definitions.json` as seen below:
0 commit comments