Skip to content

Commit 982fa6c

Browse files
The rename: Optional is now Integrated (#70)
1 parent 37ac514 commit 982fa6c

File tree

88 files changed

+122
-126
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+122
-126
lines changed

.github/workflows/build.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,36 +26,36 @@ jobs:
2626
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
2727
if: success()
2828
with:
29-
name: GeyserOptionalPack
30-
path: GeyserOptionalPack.mcpack
29+
name: GeyserIntegratedPack
30+
path: GeyserIntegratedPack.mcpack
3131

3232
- name: Get Version
33-
if: ${{ success() && github.repository == 'GeyserMC/GeyserOptionalPack' && github.ref_name == 'master' }}
33+
if: ${{ success() && github.repository == 'GeyserMC/GeyserIntegratedPack' && github.ref_name == 'master' }}
3434
id: get-version
3535
run: |
36-
version=$(cat src/main/resources/optionalpack/manifest.json | jq -r '.header.version | join(".")')
36+
version=$(cat src/main/resources/integratedpack/manifest.json | jq -r '.header.version | join(".")')
3737
echo "VERSION=${version}" >> $GITHUB_OUTPUT
3838
3939
- name: Get Release Metadata
40-
if: ${{ success() && github.repository == 'GeyserMC/GeyserOptionalPack' && github.ref_name == 'master' }}
40+
if: ${{ success() && github.repository == 'GeyserMC/GeyserIntegratedPack' && github.ref_name == 'master' }}
4141
uses: GeyserMC/actions/release@master
4242
id: metadata
4343
with:
4444
appID: ${{ secrets.RELEASE_APP_ID }}
4545
appPrivateKey: ${{ secrets.RELEASE_APP_PK }}
4646
files: |
47-
geyseroptionalpack:GeyserOptionalPack.mcpack
47+
geyserintegratedpack:GeyserIntegratedPack.mcpack
4848
releaseEnabled: false
4949
saveMetadata: true
50-
releaseProject: 'geyseroptionalpack'
50+
releaseProject: 'geyserintegratedpack'
5151
releaseVersion: ${{ steps.get-version.outputs.VERSION }}
5252

5353
- name: Publish to Downloads API
54-
if: ${{ success() && github.repository == 'GeyserMC/GeyserOptionalPack' && github.ref_name == 'master' }}
54+
if: ${{ success() && github.repository == 'GeyserMC/GeyserIntegratedPack' && github.ref_name == 'master' }}
5555
uses: GeyserMC/actions/upload-release@master
5656
with:
5757
username: ${{ vars.DOWNLOADS_USERNAME }}
5858
privateKey: ${{ secrets.DOWNLOADS_PRIVATE_KEY }}
5959
host: ${{ secrets.DOWNLOADS_SERVER_IP }}
6060
files: |
61-
GeyserOptionalPack.mcpack
61+
GeyserIntegratedPack.mcpack

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,8 @@ gradle-app.setting
255255
# End of https://www.toptal.com/developers/gitignore/api/git,java,gradle,eclipse,netbeans,jetbrains+all,visualstudiocode
256256

257257
# Output pack files
258-
GeyserOptionalPack.mcpack
259-
GeyserOptionalPack.zip
258+
GeyserIntegratedPack.mcpack
259+
GeyserIntegratedPack.zip
260260

261261
# Development folders
262262
temp/

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
# GeyserOptionalPack
1+
# GeyserIntegratedPack
22

3-
Optional Bedrock resource pack to extend Geyser functionality. Learn more on its [wiki page](https://geysermc.org/wiki/other/geyseroptionalpack).
3+
> [!IMPORTANT]
4+
> The GeyserIntegratedPack is now included in Geyser. You no longer need to manually add it!
5+
> If you were using the GeyserOptionalPack before, we recommend removing it.
6+
7+
Bedrock resource pack to extend Geyser functionality. Learn more on its [wiki page](https://geysermc.org/wiki/other/geyserintegratedpack).
48

5-
Download: [GeyserOptionalPack.mcpack](https://download.geysermc.org/v2/projects/geyseroptionalpack/versions/latest/builds/latest/downloads/geyseroptionalpack)
69

710
### Implements
811

@@ -20,11 +23,13 @@ Download: [GeyserOptionalPack.mcpack](https://download.geysermc.org/v2/projects/
2023
- Tick-delay and rename fields in the command block menu
2124
- Structure block options that do not exist on Java
2225

26+
Download: [GeyserIntegratedPack.mcpack](https://download.geysermc.org/v2/projects/geyserintegratedpack/versions/latest/builds/latest/downloads/geyserintegratedpack)
27+
2328
### Manually compiling the pack
2429

2530
1. Clone the repo to your computer
2631
2. Run `gradlew run`.
27-
3. When it finishes compiling, it will output the `GeyserOptionalPack.mcpack`.
32+
3. When it finishes compiling, it will output the `GeyserIntegratedPack.mcpack`.
2833

2934
### Legal
3035

build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
application
44
}
55

6-
group = "org.geysermc.optionalpack"
6+
group = "org.geysermc.integratedpack"
77
version = "1.0-SNAPSHOT"
88

99
repositories {
@@ -17,11 +17,11 @@ dependencies {
1717

1818
tasks {
1919
jar {
20-
archiveFileName = "GeyserOptionalPackCompiler.jar"
20+
archiveFileName = "GeyserIntegratedPackCompiler.jar"
2121
manifest.attributes["Main-Class"] = application.mainClass
2222
}
2323
}
2424

2525
application {
26-
mainClass.set("org.geysermc.optionalpack.OptionalPack")
26+
mainClass.set("org.geysermc.integratedpack.IntegratedPack")
2727
}

developer_documentation.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
### Introduction
2424

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.
2626

2727
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.
2828

@@ -76,7 +76,7 @@ v.head_scale = q.is_item_name_any('slot.armor.head', 0, 'minecraft:skull', 'mine
7676

7777
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.
7878

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:
8080

8181
```json
8282
{
@@ -115,29 +115,29 @@ Both Java Edition and Bedrock Edition have offhand support, though Bedrock is ve
115115

116116
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.
117117

118-
| Java (`minecraft:`) | Bedrock (`minecraft:`) | Optional Pack (`geyseropt:`) | Notes |
119-
|:-----------------------:|:-----------------------:|:----------------------------:|:----------------------------------------------------------------------------------------:|
120-
| `ash` | - | `ash` | Not present in Bedrock Edition |
121-
| `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 optional 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 |
118+
| Java (`minecraft:`) | Bedrock (`minecraft:`) | Integrated Pack (`geyseropt:`) for legacy reasons | Notes |
119+
|:-----------------------:|:-----------------------:|:-------------------------------------------------:|:-----------------------------------------------------------------------------------------:|
120+
| `ash` | - | `ash` | Not present in Bedrock Edition |
121+
| `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 |
137137

138138
#### Sweep attack
139139

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:
141141

142142
```jsonc
143143
{
@@ -153,7 +153,7 @@ Of note, the texture for the sweep attack particle is built using the GeyserOpti
153153
}
154154
```
155155
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)
157157
158158
### Phantoms
159159
@@ -198,9 +198,9 @@ On Java Edition, you are able to toggle your cape and second skin layers. Bedroc
198198
math.mod(math.floor(q.mark_variant / 32), 2) != 1
199199
```
200200
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.
202202
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.
204204
205205
### Shulkers
206206
@@ -354,7 +354,7 @@ Hiding the 2x2 crafting grid is a bit more involved. We have to use bindings to
354354
```
355355
356356
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.
358358
359359
### Structure block texture changes (MCPE-48224)
360360
@@ -397,7 +397,7 @@ Likely due to a copy and paste mistake as the bamboo and nether wood fence gates
397397
398398
This `toggle4` sound does not exist in Bedrock Editions's default resources, meaning that sometimes the Cherry Fence Gate can play no sound.
399399
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:
401401
402402
```json
403403
"close.cherry_wood_fence_gate": {

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
rootProject.name = "GeyserOptionalPackCompiler"
1+
rootProject.name = "GeyserIntegratedPackCompiler"
22

src/main/java/org/geysermc/optionalpack/BedrockResourcesWrapper.java renamed to src/main/java/org/geysermc/integratedpack/BedrockResourcesWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.geysermc.optionalpack;
1+
package org.geysermc.integratedpack;
22

33
import java.io.InputStream;
44

src/main/java/org/geysermc/optionalpack/Constants.java renamed to src/main/java/org/geysermc/integratedpack/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.geysermc.optionalpack;
1+
package org.geysermc.integratedpack;
22

33
import com.google.gson.Gson;
44
import com.google.gson.GsonBuilder;

src/main/java/org/geysermc/optionalpack/FileUtils.java renamed to src/main/java/org/geysermc/integratedpack/FileUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.geysermc.optionalpack;
1+
package org.geysermc.integratedpack;
22

33
import java.io.File;
44
import java.io.FileOutputStream;

0 commit comments

Comments
 (0)