From 7aff085a7e2aca18abd57e4313d8980d4dcf11ed Mon Sep 17 00:00:00 2001 From: Edelweiss Date: Thu, 15 Feb 2024 01:19:54 -0600 Subject: [PATCH] Humble Beginnings Starting on the rewrite. --- .github/workflows/build-and-deploy.yml | 88 ---- .github/workflows/build.yml | 41 ++ .gitignore | 7 + CHANGELOG.md | 37 -- LICENSE | 143 +++++- README.md | 24 - build.gradle | 128 +++--- gradle.properties | 30 +- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 51 ++- gradlew.bat | 15 +- img/alert.png | Bin 3148 -> 0 bytes img/cloth_config_api.png | Bin 22342 -> 0 bytes img/darkmode/gui.png | Bin 4156 -> 0 bytes img/darkmode/tab.png | Bin 1145 -> 0 bytes img/fabric_api.png | Bin 29321 -> 0 bytes img/icon.png | Bin 146413 -> 0 bytes img/logo.png | Bin 179292 -> 0 bytes settings.gradle | 18 +- .../playerex/PlayerexdirectorscutClient.kt | 9 + .../playerex-directors-cut.client.mixins.json | 9 + .../clevernucleus/playerex/PlayerEx.java | 82 ---- .../playerex/api/EntityAttributeSupplier.java | 42 -- .../clevernucleus/playerex/api/ExAPI.java | 126 ------ .../clevernucleus/playerex/api/ExConfig.java | 95 ---- .../playerex/api/ExperienceData.java | 8 - .../playerex/api/PacketType.java | 122 ----- .../playerex/api/PlayerData.java | 67 --- .../playerex/api/client/ClientUtil.java | 129 ------ .../playerex/api/client/PageLayer.java | 73 --- .../playerex/api/client/PageRegistry.java | 46 -- .../playerex/api/client/RenderComponent.java | 127 ------ .../playerex/api/damage/DamageFunction.java | 23 - .../playerex/api/damage/DamagePredicate.java | 23 - .../api/event/LivingEntityEvents.java | 119 ----- .../api/event/PlayerEntityEvents.java | 49 -- .../playerex/client/PageRegistryImpl.java | 48 -- .../playerex/client/PlayerExClient.java | 50 --- .../client/factory/EventFactoryClient.java | 50 --- .../client/factory/NetworkFactoryClient.java | 85 ---- .../client/gui/AttributesPageLayer.java | 421 ------------------ .../playerex/client/gui/CombatPageLayer.java | 256 ----------- .../playerex/client/gui/ExScreen.java | 128 ------ .../playerex/client/gui/ExScreenData.java | 13 - .../playerex/client/gui/Page.java | 57 --- .../client/gui/widget/ScreenButtonWidget.java | 90 ---- .../client/gui/widget/TabButtonWidget.java | 74 --- .../playerex/config/ConfigImpl.java | 177 -------- .../playerex/config/ConfigServer.java | 83 ---- .../playerex/config/ModMenuCompat.java | 14 - .../playerex/factory/DamageFactory.java | 53 --- .../playerex/factory/EventFactory.java | 116 ----- .../playerex/factory/ExScreenFactory.java | 60 --- .../playerex/factory/NetworkFactory.java | 96 ---- .../playerex/factory/PlaceholderFactory.java | 86 ---- .../playerex/factory/RefundFactory.java | 30 -- .../playerex/impl/CommandsImpl.java | 414 ----------------- .../playerex/impl/DamageModificationImpl.java | 26 -- .../impl/ExperienceDataContainer.java | 14 - .../playerex/impl/ExperienceDataManager.java | 68 --- .../playerex/impl/LevelValue.java | 60 --- .../playerex/impl/PlayerDataContainer.java | 15 - .../playerex/impl/PlayerDataManager.java | 312 ------------- .../playerex/impl/RefundConditionImpl.java | 22 - .../mixin/ExperienceOrbEntityMixin.java | 37 -- .../playerex/mixin/LivingEntityMixin.java | 72 --- .../PersistentProjectileEntityMixin.java | 79 ---- .../playerex/mixin/PlayerEntityMixin.java | 28 -- .../playerex/mixin/PlayerInventoryMixin.java | 33 -- .../mixin/ServerPlayerEntityMixin.java | 43 -- .../playerex/mixin/ServerWorldMixin.java | 22 - .../client/AbstractInventoryScreenMixin.java | 72 --- .../mixin/client/InventoryScreenMixin.java | 37 -- .../playerex/mixin/client/ItemStackMixin.java | 147 ------ .../client/LivingEntityRendererMixin.java | 135 ------ .../playerex/Playerexdirectorscut.kt | 12 + .../PlayerexdirectorscutDataGenerator.kt | 9 + src/main/resources/LICENSE_exp4j | 206 --------- .../assets/playerex-directors-cut/icon.png | Bin 0 -> 144328 bytes src/main/resources/assets/playerex/icon.png | Bin 162196 -> 0 bytes .../resources/assets/playerex/lang/en_us.json | 165 ------- .../resources/assets/playerex/lang/es_mx.json | 165 ------- .../resources/assets/playerex/lang/ko_kr.json | 165 ------- .../resources/assets/playerex/lang/ru_ru.json | 165 ------- .../resources/assets/playerex/lang/zh_cn.json | 165 ------- .../resources/assets/playerex/sounds.json | 14 - .../assets/playerex/sounds/level_up.ogg | Bin 41259 -> 0 bytes .../assets/playerex/sounds/sp_spend.ogg | Bin 13251 -> 0 bytes .../playerex/textures/gui/attributes.png | Bin 212 -> 0 bytes .../assets/playerex/textures/gui/blank.png | Bin 126 -> 0 bytes .../assets/playerex/textures/gui/combat.png | Bin 196 -> 0 bytes .../assets/playerex/textures/gui/default.png | Bin 8993 -> 0 bytes .../assets/playerex/textures/gui/gui.png | Bin 4228 -> 0 bytes .../assets/playerex/textures/gui/gui_dark.png | Bin 639 -> 0 bytes .../playerex/textures/gui/inventory.png | Bin 303 -> 0 bytes .../assets/playerex/textures/gui/tab.png | Bin 1122 -> 0 bytes .../assets/playerex/textures/gui/tab_dark.png | Bin 1145 -> 0 bytes .../attributes/overrides/generic.armor.json | 8 - .../overrides/generic.armor_toughness.json | 8 - .../generic.knockback_resistance.json | 8 - .../overrides/generic.max_health.json | 8 - .../playerex/attributes/entity_types.json | 26 -- .../data/playerex/attributes/functions.json | 82 ---- .../attributes/overrides/breaking_speed.json | 8 - .../attributes/overrides/constitution.json | 8 - .../attributes/overrides/dexterity.json | 8 - .../attributes/overrides/evasion.json | 8 - .../attributes/overrides/fire_resistance.json | 8 - .../overrides/freeze_resistance.json | 8 - .../overrides/heal_amplification.json | 8 - .../overrides/health_regeneration.json | 8 - .../attributes/overrides/intelligence.json | 8 - .../playerex/attributes/overrides/level.json | 8 - .../attributes/overrides/lifesteal.json | 8 - .../overrides/lightning_resistance.json | 8 - .../attributes/overrides/luckiness.json | 8 - .../overrides/melee_crit_chance.json | 8 - .../overrides/melee_crit_damage.json | 8 - .../overrides/poison_resistance.json | 8 - .../overrides/ranged_crit_chance.json | 8 - .../overrides/ranged_crit_damage.json | 8 - .../attributes/overrides/strength.json | 8 - .../overrides/wither_resistance.json | 8 - .../data/playerex/attributes/properties.json | 67 --- .../attributes/overrides/generic.json | 8 - src/main/resources/fabric.mod.json | 102 ++--- .../playerex-directors-cut.mixins.json | 11 + src/main/resources/playerex.mixins.json | 24 - 129 files changed, 390 insertions(+), 6546 deletions(-) delete mode 100644 .github/workflows/build-and-deploy.yml create mode 100644 .github/workflows/build.yml delete mode 100644 CHANGELOG.md delete mode 100644 README.md delete mode 100644 img/alert.png delete mode 100644 img/cloth_config_api.png delete mode 100644 img/darkmode/gui.png delete mode 100644 img/darkmode/tab.png delete mode 100644 img/fabric_api.png delete mode 100644 img/icon.png delete mode 100644 img/logo.png create mode 100644 src/client/kotlin/com/edelweiss/playerex/PlayerexdirectorscutClient.kt create mode 100644 src/client/resources/playerex-directors-cut.client.mixins.json delete mode 100644 src/main/java/com/github/clevernucleus/playerex/PlayerEx.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/EntityAttributeSupplier.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/ExAPI.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/ExConfig.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/ExperienceData.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/PacketType.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/PlayerData.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/client/ClientUtil.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/client/PageLayer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/client/PageRegistry.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/client/RenderComponent.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/damage/DamageFunction.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/damage/DamagePredicate.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/event/LivingEntityEvents.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/api/event/PlayerEntityEvents.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/PageRegistryImpl.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/PlayerExClient.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/factory/EventFactoryClient.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/factory/NetworkFactoryClient.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/AttributesPageLayer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/CombatPageLayer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreen.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreenData.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/Page.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/widget/ScreenButtonWidget.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/client/gui/widget/TabButtonWidget.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/config/ConfigImpl.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/config/ConfigServer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/config/ModMenuCompat.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/DamageFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/EventFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/ExScreenFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/NetworkFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/PlaceholderFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/factory/RefundFactory.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/CommandsImpl.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/DamageModificationImpl.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataContainer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataManager.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/LevelValue.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataContainer.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataManager.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/impl/RefundConditionImpl.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/ExperienceOrbEntityMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/LivingEntityMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/PersistentProjectileEntityMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/PlayerEntityMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/PlayerInventoryMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/ServerPlayerEntityMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/ServerWorldMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/client/AbstractInventoryScreenMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/client/InventoryScreenMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/client/ItemStackMixin.java delete mode 100644 src/main/java/com/github/clevernucleus/playerex/mixin/client/LivingEntityRendererMixin.java create mode 100644 src/main/kotlin/com/edelweiss/playerex/Playerexdirectorscut.kt create mode 100644 src/main/kotlin/com/edelweiss/playerex/PlayerexdirectorscutDataGenerator.kt delete mode 100644 src/main/resources/LICENSE_exp4j create mode 100644 src/main/resources/assets/playerex-directors-cut/icon.png delete mode 100644 src/main/resources/assets/playerex/icon.png delete mode 100644 src/main/resources/assets/playerex/lang/en_us.json delete mode 100644 src/main/resources/assets/playerex/lang/es_mx.json delete mode 100644 src/main/resources/assets/playerex/lang/ko_kr.json delete mode 100644 src/main/resources/assets/playerex/lang/ru_ru.json delete mode 100644 src/main/resources/assets/playerex/lang/zh_cn.json delete mode 100644 src/main/resources/assets/playerex/sounds.json delete mode 100644 src/main/resources/assets/playerex/sounds/level_up.ogg delete mode 100644 src/main/resources/assets/playerex/sounds/sp_spend.ogg delete mode 100644 src/main/resources/assets/playerex/textures/gui/attributes.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/blank.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/combat.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/default.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/gui.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/gui_dark.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/inventory.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/tab.png delete mode 100644 src/main/resources/assets/playerex/textures/gui/tab_dark.png delete mode 100644 src/main/resources/data/minecraft/attributes/overrides/generic.armor.json delete mode 100644 src/main/resources/data/minecraft/attributes/overrides/generic.armor_toughness.json delete mode 100644 src/main/resources/data/minecraft/attributes/overrides/generic.knockback_resistance.json delete mode 100644 src/main/resources/data/minecraft/attributes/overrides/generic.max_health.json delete mode 100644 src/main/resources/data/playerex/attributes/entity_types.json delete mode 100644 src/main/resources/data/playerex/attributes/functions.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/breaking_speed.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/constitution.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/dexterity.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/evasion.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/fire_resistance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/freeze_resistance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/heal_amplification.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/health_regeneration.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/intelligence.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/level.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/lifesteal.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/lightning_resistance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/luckiness.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/melee_crit_chance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/melee_crit_damage.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/poison_resistance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/ranged_crit_chance.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/ranged_crit_damage.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/strength.json delete mode 100644 src/main/resources/data/playerex/attributes/overrides/wither_resistance.json delete mode 100644 src/main/resources/data/playerex/attributes/properties.json delete mode 100644 src/main/resources/data/projectile_damage/attributes/overrides/generic.json create mode 100644 src/main/resources/playerex-directors-cut.mixins.json delete mode 100644 src/main/resources/playerex.mixins.json diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml deleted file mode 100644 index 5a3b41f9..00000000 --- a/.github/workflows/build-and-deploy.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Build and Deploy -on: - push: - branches: - - '*/main' - -jobs: - build-and-deploy: - env: - BRANCH_PREFIX: $(cat gradle.properties | grep mod_version | cut -d'+' -f2) - strategy: - matrix: - java: [ - 17, - ] - runs-on: ubuntu-latest - steps: - - name: check environment variables - run: env - - name: checkout repository - uses: actions/checkout@v3 - - name: validate gradle wrapper - uses: gradle/wrapper-validation-action@v1 - - name: setup jdk ${{ matrix.java }} - uses: actions/setup-java@v3 - with: - java-version: ${{ matrix.java }} - distribution: 'microsoft' - - name: make gradle wrapper executable - run: chmod +x ./gradlew - - name: build - if: github.ref == 'refs/heads/${{ env.BRANCH_PREFIX }}/main' - run: ./gradlew build - - name: capture build artifacts - if: | - ${{ matrix.java == '17' }} - github.ref == 'refs/heads/${{ env.BRANCH_PREFIX }}/main' - uses: actions/upload-artifact@v3 - with: - name: Artifacts - path: build/libs/ - - name: get mod version - if: github.ref == 'refs/heads/${{ env.BRANCH_PREFIX }}/main' - id: mod_version - run: | - mod_version_val=$(grep "mod_version" gradle.properties | cut -d'=' -f2 | tr -d '\n') - echo "mod_version=$mod_version_val" >> $GITHUB_OUTPUT - - name: get minecraft version - if: github.ref == 'refs/heads/${{ env.BRANCH_PREFIX }}/main' - id: minecraft_version - run: | - minecraft_version_val=$(grep "mod_version" gradle.properties | cut -d'+' -f2 | tr -d '\n') - echo "minecraft_version=$minecraft_version_val" >> $GITHUB_OUTPUT - - name: deploy with mc-publish - if: github.ref == 'refs/heads/${{ env.BRANCH_PREFIX }}/main' - uses: Kir-Antipov/mc-publish@v3.3 - with: - curseforge-id: 409221 - curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} - curseforge-dependencies: | - fabric-api@0.76.0+1.19.2(required){modrinth:P7dR8mSH}{curseforge:306612}#(ignore:github) - data-attributes@1.4.6+1.19.2(required){modrinth:wFyCClLQ}{curseforge:514734}#(ignore:github) - cloth-config@8.2.88(required){modrinth:9s6osm5g}{curseforge:348521}#(ignore:github) - projectile-damage-attribute@3.2.1+1.19-fabric(embedded){modrinth:AOyJhFvl}{curseforge:643780}#(ignore:github) - cardinal-components@5.0.2(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github) - - modrinth-id: o5GUN4b1 - modrinth-token: "${{ secrets.MODRINTH_TOKEN }}" - modrinth-dependencies: | - fabric-api@0.76.0+1.19.2(required){modrinth:P7dR8mSH}{curseforge:306612}#(ignore:github) - data-attributes@1.4.6+1.19.2(required){modrinth:wFyCClLQ}{curseforge:514734}#(ignore:github) - cloth-config@8.2.88(required){modrinth:9s6osm5g}{curseforge:348521}#(ignore:github) - projectile-damage-attribute@3.2.1+1.19-fabric(embedded){modrinth:AOyJhFvl}{curseforge:643780}#(ignore:github) - cardinal-components@5.0.2(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github) - offline-player-cache@0.6.4(embedded){modrinth:kD9Vl1lR}#(ignore:curseforge)#(ignore:github) - # Modrinth has issues accepting javadocs right now - - github-tag: "${{ steps.mod_version.outputs.mod_version }}" - github-token: ${{ secrets.REPOSITORY_TOKEN }} - github-commitish: ${{ steps.minecraft_version.outputs.minecraft_version }}/main - - version: "${{ steps.mod_version.outputs.mod_version }}" - version-type: release - changelog-file: CHANGELOG.md - - loaders: fabric - game-versions: "${{ steps.minecraft_version.outputs.minecraft_version }}" - java: "${{ matrix.java }}" \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..5adf394e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,41 @@ +# Automatically build the project and run any configured tests for every push +# and submitted pull request. This can help catch issues that only occur on +# certain platforms or Java versions, and provides a first line of defence +# against bad commits. + +name: build +on: [pull_request, push] + +jobs: + build: + strategy: + matrix: + # Use these Java versions + java: [ + 17, # Current Java LTS & minimum supported by Minecraft + 21, # Current Java LTS + ] + # and run on both Linux and Windows + os: [ubuntu-22.04, windows-2022] + runs-on: ${{ matrix.os }} + steps: + - name: checkout repository + uses: actions/checkout@v4 + - name: validate gradle wrapper + uses: gradle/wrapper-validation-action@v1 + - name: setup jdk ${{ matrix.java }} + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java }} + distribution: 'microsoft' + - name: make gradle wrapper executable + if: ${{ runner.os != 'Windows' }} + run: chmod +x ./gradlew + - name: build + run: ./gradlew build + - name: capture build artifacts + if: ${{ runner.os == 'Linux' && matrix.java == '21' }} # Only upload artifacts built from latest java on one OS + uses: actions/upload-artifact@v3 + with: + name: Artifacts + path: build/libs/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 09cd281f..c476faf2 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,10 @@ bin/ # fabric run/ + +# java + +hs_err_*.log +replay_*.log +*.hprof +*.jfr diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index cbf7f875..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,37 +0,0 @@ -### Changelog - -#### Dependencies - --Requires Fabric API version `0.84.0+1.20.1` or greater. - --Requires Data Attributes version `1.5.1+1.20.1` or greater. - --Now comes embedded (jar-in-jar) with [Projectile Damage](https://github.com/ZsoltMolnarrr/ProjectileDamage) `3.2.2+1.20.1-fabric`. - -#### Game Play - -+Added client side config option to disable inventory tabs but still allow hotkey access. This is superseded by the server side config option to disable the attributes screen. - --Removed Ranged Damage attribute. - -+Added support for [Projectile Damage](https://github.com/ZsoltMolnarrr/ProjectileDamage). - -*Attribute screen text is now a bit smaller by default. - -+Added localisation for skill/level sounds. - -+Updated chinese translation (thanks [Annijang](https://github.com/Annijang)). - -*Reworked reset on death config option: is now a percentage slider (0 - 100); 0 means all attributes/skill points/refund points/levels are reset to their defaults on death; 100 means all attributes/skill points/refund points/levels are kept on death; and any percentage in between is equivalent to the percentage of attributes/skill points/refund points/levels that are kept on death. For example, 30% means you will only keep 30% of the aforementioned on death. - -*Command `/playerex reset ` now adheres to the current reset on death config option. - -+Added command `/playerex reset_all`: this applies the command `/playerex reset ` to all currently online players. Note that to reset offline players *whilst they are offline* you will still need to manually edit their NBT data. - -*Modified command `/playerex resetChunk` to be `/playerex reset_chunk`. - -*Modified command `/playerex refundAttribute` to be `/playerex refund_attribute`. - -*Modified command `/playerex skillAttribute` to be `/playerex skill_attribute` - -*Lots of minor performance tweaks. \ No newline at end of file diff --git a/LICENSE b/LICENSE index 0ff0de68..1625c179 100644 --- a/LICENSE +++ b/LICENSE @@ -1,22 +1,121 @@ -MIT License - -Copyright (c) 2022 CleverNucleus -Copyright (c) 2024 MerryweatherLost - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index c2721385..00000000 --- a/README.md +++ /dev/null @@ -1,24 +0,0 @@ -![Betterlogo](https://cdn.discordapp.com/attachments/1085950866063892481/1192708739212529724/pexdc.png?ex=65aa0f92&is=65979a92&hm=79710b2bb6737a1db5ee6362c79757ccf5bfd970c00a9203af8205abce72d42b&) -[![GitHub license](https://img.shields.io/badge/MIT-MIT?style=for-the-badge&label=LICENCE&labelColor=582b11&color=a48350&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fblob%2F1.20.1%2Fmain%2FLICENSE)](https://github.com/PlayerEXDirectorsCut/playerex/blob/1.20.1/main/LICENSE) -[![GitHub stars](https://img.shields.io/github/stars/MerryweatherLost/playerex?style=for-the-badge&logo=github&color=ffb046&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fstargazers -)](https://github.com/PlayerEXDirectorsCut/playerex/stargazers) -[![GitHub forks](https://img.shields.io/github/forks/MerryweatherLost/playerex?style=for-the-badge&logo=github&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fforks -)](https://github.com/PlayerEXDirectorsCut/playerex/forks) -[![GitHub issues](https://img.shields.io/github/issues/MerryweatherLost/playerex?style=for-the-badge&logo=github&label=ISSUES&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fissues -)](https://github.com/PlayerEXDirectorsCut/playerex/issues) - -PlayerEX: Directors Cut is port of [PlayerEx](https://www.curseforge.com/minecraft/mc-mods/playerex), a mod built using Fabric that adds RPG themed attributes to the game and the player. It is available to download from [Curseforge](https://curseforge.com/minecraft/mc-mods/playerex-directors-cut) and [Modrinth](https://modrinth.com/mod/playerex-directors-cut). - -Find the original mod [here!](https://modrinth.com/mod/playerex) - -### • Content - -In addition to attributes powered by [Data Attributes: Directors Cut](https://www.curseforge.com/minecraft/mc-mods/data-attributes-directors-cut), PlayerEX: Directors Cut adds a levelling system and skill points to spend, enabled through a nonintrusive vanilla-styled gui accessible from the inventory or by hotkey. For further documentation, as well as how to use the PlayerEX:Directors Cut API in your own project, please see the [wiki](https://github.com/CleverNucleus/PlayerEx/wiki). - -### Contributors - - [gyular](https://github.com/gyular) - Korean translation. - - [Hertz](https://github.com/elhertz) - Spanish translation. - - [MrTYZzik](https://github.com/MrTYZzik) - Russian translation. - - [Orygeunik](https://github.com/Orygeunik) - Russian translation improvements. - - [NianGuu](https://github.com/NianGuu) - Simplified Chinese - - [sky_bai](https://github.com/a1640727878) - Simplified Chinese (legacy release) diff --git a/build.gradle b/build.gradle index ed153e9b..39e759a4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,79 +1,53 @@ -//https://maven.ladysnake.org/releases plugins { - id 'fabric-loom' version '1.1-SNAPSHOT' + id 'fabric-loom' version '1.5-SNAPSHOT' id 'maven-publish' + id "org.jetbrains.kotlin.jvm" version "1.9.22" } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 - -archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group +base { + archivesName = project.archives_base_name +} + repositories { - mavenCentral() - maven { - name = "Ladysnake" - url = "https://maven.ladysnake.org/releases" - } - maven { - name = "Shedaniel" - url = "https://maven.shedaniel.me/" - } - maven { - name = "TerraformersMC" - url = "https://maven.terraformersmc.com" - } - maven { - name = "Nucleoid" - url = "https://maven.nucleoid.xyz/" - } - maven { - name = "Modrinth" - url = "https://api.modrinth.com/maven" - content { - includeGroup "maven.modrinth" + // Add repositories to retrieve artifacts from in here. + // You should only use this when depending on other mods because + // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. + // See https://docs.gradle.org/current/userguide/declaring_repositories.html + // for more information about repositories. +} + +loom { + splitEnvironmentSourceSets() + + mods { + "playerex-directors-cut" { + sourceSet sourceSets.main + sourceSet sourceSets.client } } - maven { - name = "Cursemaven" - url = "https://cursemaven.com" - } + +} + +fabricApi { + configureDataGeneration() } dependencies { + // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - modImplementation "maven.modrinth:data-attributes-directors-cut:${project.dataattributes_version}" - - modImplementation "maven.modrinth:opc-directors-cut:${project.opc_dc_version}" - include "maven.modrinth:opc-directors-cut:${project.opc_dc_version}" - - modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cardinal_components_version}" - include "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cardinal_components_version}" - modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-entity:${project.cardinal_components_version}" - include "dev.onyxstudios.cardinal-components-api:cardinal-components-entity:${project.cardinal_components_version}" - modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-chunk:${project.cardinal_components_version}" - include "dev.onyxstudios.cardinal-components-api:cardinal-components-chunk:${project.cardinal_components_version}" - - modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") { - exclude(group: "net.fabricmc.fabric-api") - } - - modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}") { - exclude(group: "net.fabricmc.fabric-api") - } - - modImplementation "maven.modrinth:projectile-damage-attribute:${project.projectile_damage_attribute_version}-fabric" - modImplementation include("eu.pb4:placeholder-api:${project.placeholder_api}") - - implementation 'net.objecthunter:exp4j:0.4.8' - include 'net.objecthunter:exp4j:0.4.8' + modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}" + // Uncomment the following line to enable the deprecated Fabric API modules. + // These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time. + + // modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}" } processResources { @@ -88,41 +62,41 @@ tasks.withType(JavaCompile).configureEach { it.options.release = 17 } -javadoc { - options.addStringOption("Xdoclint:none", "-quiet") - classpath = files(sourceSets.main.compileClasspath) - include("**/api/**") -} - -task javadocJar(type: Jar) { - dependsOn javadoc - dependsOn processResources - from javadoc.destinationDir - from file("build/resources/main/fabric.mod.json") - archiveClassifier = "javadoc" +tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { + kotlinOptions { + jvmTarget = 17 + } } -// Modrinth has issues accepting javadocs right now -// build.dependsOn javadocJar - java { + // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task + // if it is present. + // If you remove this line, sources will not be generated. withSourcesJar() + + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } jar { from("LICENSE") { - rename { "${it}_${project.archivesBaseName}"} + rename { "${it}_${project.base.archivesName.get()}"} } } +// configure the maven publication publishing { publications { mavenJava(MavenPublication) { from components.java } } - + + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { - + // Add repositories to publish to here. + // Notice: This block does NOT have the same function as the block in the top level. + // The repositories here will be used for publishing your artifact, not for + // retrieving dependencies. } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 82527602..f143f539 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,20 +1,18 @@ +# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G +org.gradle.parallel=true -minecraft_version = 1.20.1 -yarn_mappings = 1.20.1+build.10 -loader_version = 0.15.3 +# Fabric Properties +# check these on https://fabricmc.net/develop +minecraft_version=1.20.1 +yarn_mappings=1.20.1+build.10 +loader_version=0.15.6 +fabric_kotlin_version=1.10.17+kotlin.1.9.22 -#Fabric api -fabric_version = 0.91.0+1.20.1 +# Mod Properties +mod_version=1.0.0 +maven_group=com.edelweiss.playerex +archives_base_name=playerex-directors-cut -mod_version = 3.6.1+1.20.1 -maven_group = com.github.clevernucleus -archives_base_name = playerex - -dataattributes_version=1.6.0+1.20.1 -opc_dc_version=0.6.5+1.20.1 -cardinal_components_version=5.2.2 -placeholder_api=2.1.1+1.20 -cloth_config_version=11.0.99 -modmenu_version=7.1.0 -projectile_damage_attribute_version=3.2.2+1.20.1 +# Dependencies +fabric_version=0.92.0+1.20.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..d64cd4917707c1f8861d8cb53dd15194d4248596 100644 GIT binary patch literal 43462 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 literal 59536 zcma&NbC71ylI~qywr$(CZQJHswz}-9F59+k+g;UV+cs{`J?GrGXYR~=-ydruB3JCa zB64N^cILAcWk5iofq)<(fq;O7{th4@;QxID0)qN`mJ?GIqLY#rX8-|G{5M0pdVW5^ zzXk$-2kQTAC?_N@B`&6-N-rmVFE=$QD?>*=4<|!MJu@}isLc4AW#{m2if&A5T5g&~ ziuMQeS*U5sL6J698wOd)K@oK@1{peP5&Esut<#VH^u)gp`9H4)`uE!2$>RTctN+^u z=ASkePDZA-X8)rp%D;p*~P?*a_=*Kwc<^>QSH|^<0>o37lt^+Mj1;4YvJ(JR-Y+?%Nu}JAYj5 z_Qc5%Ao#F?q32i?ZaN2OSNhWL;2oDEw_({7ZbgUjna!Fqn3NzLM@-EWFPZVmc>(fZ z0&bF-Ch#p9C{YJT9Rcr3+Y_uR^At1^BxZ#eo>$PLJF3=;t_$2|t+_6gg5(j{TmjYU zK12c&lE?Eh+2u2&6Gf*IdKS&6?rYbSEKBN!rv{YCm|Rt=UlPcW9j`0o6{66#y5t9C zruFA2iKd=H%jHf%ypOkxLnO8#H}#Zt{8p!oi6)7#NqoF({t6|J^?1e*oxqng9Q2Cc zg%5Vu!em)}Yuj?kaP!D?b?(C*w!1;>R=j90+RTkyEXz+9CufZ$C^umX^+4|JYaO<5 zmIM3#dv`DGM;@F6;(t!WngZSYzHx?9&$xEF70D1BvfVj<%+b#)vz)2iLCrTeYzUcL z(OBnNoG6Le%M+@2oo)&jdOg=iCszzv59e zDRCeaX8l1hC=8LbBt|k5?CXgep=3r9BXx1uR8!p%Z|0+4Xro=xi0G!e{c4U~1j6!) zH6adq0}#l{%*1U(Cb%4AJ}VLWKBPi0MoKFaQH6x?^hQ!6em@993xdtS%_dmevzeNl z(o?YlOI=jl(`L9^ z0O+H9k$_@`6L13eTT8ci-V0ljDMD|0ifUw|Q-Hep$xYj0hTO@0%IS^TD4b4n6EKDG z??uM;MEx`s98KYN(K0>c!C3HZdZ{+_53DO%9k5W%pr6yJusQAv_;IA}925Y%;+!tY z%2k!YQmLLOr{rF~!s<3-WEUs)`ix_mSU|cNRBIWxOox_Yb7Z=~Q45ZNe*u|m^|)d* zog=i>`=bTe!|;8F+#H>EjIMcgWcG2ORD`w0WD;YZAy5#s{65~qfI6o$+Ty&-hyMyJ z3Ra~t>R!p=5ZpxA;QkDAoPi4sYOP6>LT+}{xp}tk+<0k^CKCFdNYG(Es>p0gqD)jP zWOeX5G;9(m@?GOG7g;e74i_|SmE?`B2i;sLYwRWKLy0RLW!Hx`=!LH3&k=FuCsM=9M4|GqzA)anEHfxkB z?2iK-u(DC_T1};KaUT@3nP~LEcENT^UgPvp!QC@Dw&PVAhaEYrPey{nkcn(ro|r7XUz z%#(=$7D8uP_uU-oPHhd>>^adbCSQetgSG`e$U|7mr!`|bU0aHl_cmL)na-5x1#OsVE#m*+k84Y^+UMeSAa zbrVZHU=mFwXEaGHtXQq`2ZtjfS!B2H{5A<3(nb-6ARVV8kEmOkx6D2x7~-6hl;*-*}2Xz;J#a8Wn;_B5=m zl3dY;%krf?i-Ok^Pal-}4F`{F@TYPTwTEhxpZK5WCpfD^UmM_iYPe}wpE!Djai6_{ z*pGO=WB47#Xjb7!n2Ma)s^yeR*1rTxp`Mt4sfA+`HwZf%!7ZqGosPkw69`Ix5Ku6G z@Pa;pjzV&dn{M=QDx89t?p?d9gna*}jBly*#1!6}5K<*xDPJ{wv4& zM$17DFd~L*Te3A%yD;Dp9UGWTjRxAvMu!j^Tbc}2v~q^59d4bz zvu#!IJCy(BcWTc`;v$9tH;J%oiSJ_i7s;2`JXZF+qd4C)vY!hyCtl)sJIC{ebI*0> z@x>;EzyBv>AI-~{D6l6{ST=em*U( z(r$nuXY-#CCi^8Z2#v#UXOt`dbYN1z5jzNF2 z411?w)whZrfA20;nl&C1Gi+gk<`JSm+{|*2o<< zqM#@z_D`Cn|0H^9$|Tah)0M_X4c37|KQ*PmoT@%xHc3L1ZY6(p(sNXHa&49Frzto& zR`c~ClHpE~4Z=uKa5S(-?M8EJ$zt0&fJk~p$M#fGN1-y$7!37hld`Uw>Urri(DxLa;=#rK0g4J)pXMC zxzraOVw1+kNWpi#P=6(qxf`zSdUC?D$i`8ZI@F>k6k zz21?d+dw7b&i*>Kv5L(LH-?J%@WnqT7j#qZ9B>|Zl+=> z^U-pV@1y_ptHo4hl^cPRWewbLQ#g6XYQ@EkiP z;(=SU!yhjHp%1&MsU`FV1Z_#K1&(|5n(7IHbx&gG28HNT)*~-BQi372@|->2Aw5It z0CBpUcMA*QvsPy)#lr!lIdCi@1k4V2m!NH)%Px(vu-r(Q)HYc!p zJ^$|)j^E#q#QOgcb^pd74^JUi7fUmMiNP_o*lvx*q%_odv49Dsv$NV;6J z9GOXKomA{2Pb{w}&+yHtH?IkJJu~}Z?{Uk++2mB8zyvh*xhHKE``99>y#TdD z&(MH^^JHf;g(Tbb^&8P*;_i*2&fS$7${3WJtV7K&&(MBV2~)2KB3%cWg#1!VE~k#C z!;A;?p$s{ihyojEZz+$I1)L}&G~ml=udD9qh>Tu(ylv)?YcJT3ihapi!zgPtWb*CP zlLLJSRCj-^w?@;RU9aL2zDZY1`I3d<&OMuW=c3$o0#STpv_p3b9Wtbql>w^bBi~u4 z3D8KyF?YE?=HcKk!xcp@Cigvzy=lnFgc^9c%(^F22BWYNAYRSho@~*~S)4%AhEttv zvq>7X!!EWKG?mOd9&n>vvH1p4VzE?HCuxT-u+F&mnsfDI^}*-d00-KAauEaXqg3k@ zy#)MGX!X;&3&0s}F3q40ZmVM$(H3CLfpdL?hB6nVqMxX)q=1b}o_PG%r~hZ4gUfSp zOH4qlEOW4OMUc)_m)fMR_rl^pCfXc{$fQbI*E&mV77}kRF z&{<06AJyJ!e863o-V>FA1a9Eemx6>^F$~9ppt()ZbPGfg_NdRXBWoZnDy2;#ODgf! zgl?iOcF7Meo|{AF>KDwTgYrJLb$L2%%BEtO>T$C?|9bAB&}s;gI?lY#^tttY&hfr# zKhC+&b-rpg_?~uVK%S@mQleU#_xCsvIPK*<`E0fHE1&!J7!xD#IB|SSPW6-PyuqGn3^M^Rz%WT{e?OI^svARX&SAdU77V(C~ zM$H{Kg59op{<|8ry9ecfP%=kFm(-!W&?U0@<%z*+!*<e0XesMxRFu9QnGqun6R_%T+B%&9Dtk?*d$Q zb~>84jEAPi@&F@3wAa^Lzc(AJz5gsfZ7J53;@D<;Klpl?sK&u@gie`~vTsbOE~Cd4 z%kr56mI|#b(Jk&;p6plVwmNB0H@0SmgdmjIn5Ne@)}7Vty(yb2t3ev@22AE^s!KaN zyQ>j+F3w=wnx7w@FVCRe+`vUH)3gW%_72fxzqX!S&!dchdkRiHbXW1FMrIIBwjsai8`CB2r4mAbwp%rrO>3B$Zw;9=%fXI9B{d(UzVap7u z6piC-FQ)>}VOEuPpuqznpY`hN4dGa_1Xz9rVg(;H$5Te^F0dDv*gz9JS<|>>U0J^# z6)(4ICh+N_Q`Ft0hF|3fSHs*?a=XC;e`sJaU9&d>X4l?1W=|fr!5ShD|nv$GK;j46@BV6+{oRbWfqOBRb!ir88XD*SbC(LF}I1h#6@dvK%Toe%@ zhDyG$93H8Eu&gCYddP58iF3oQH*zLbNI;rN@E{T9%A8!=v#JLxKyUe}e}BJpB{~uN zqgxRgo0*-@-iaHPV8bTOH(rS(huwK1Xg0u+e!`(Irzu@Bld&s5&bWgVc@m7;JgELd zimVs`>vQ}B_1(2#rv#N9O`fJpVfPc7V2nv34PC);Dzbb;p!6pqHzvy?2pD&1NE)?A zt(t-ucqy@wn9`^MN5apa7K|L=9>ISC>xoc#>{@e}m#YAAa1*8-RUMKwbm|;5p>T`Z zNf*ph@tnF{gmDa3uwwN(g=`Rh)4!&)^oOy@VJaK4lMT&5#YbXkl`q?<*XtsqD z9PRK6bqb)fJw0g-^a@nu`^?71k|m3RPRjt;pIkCo1{*pdqbVs-Yl>4E>3fZx3Sv44grW=*qdSoiZ9?X0wWyO4`yDHh2E!9I!ZFi zVL8|VtW38}BOJHW(Ax#KL_KQzarbuE{(%TA)AY)@tY4%A%P%SqIU~8~-Lp3qY;U-} z`h_Gel7;K1h}7$_5ZZT0&%$Lxxr-<89V&&TCsu}LL#!xpQ1O31jaa{U34~^le*Y%L za?7$>Jk^k^pS^_M&cDs}NgXlR>16AHkSK-4TRaJSh#h&p!-!vQY%f+bmn6x`4fwTp z$727L^y`~!exvmE^W&#@uY!NxJi`g!i#(++!)?iJ(1)2Wk;RN zFK&O4eTkP$Xn~4bB|q8y(btx$R#D`O@epi4ofcETrx!IM(kWNEe42Qh(8*KqfP(c0 zouBl6>Fc_zM+V;F3znbo{x#%!?mH3`_ANJ?y7ppxS@glg#S9^MXu|FM&ynpz3o&Qh z2ujAHLF3($pH}0jXQsa#?t--TnF1P73b?4`KeJ9^qK-USHE)4!IYgMn-7z|=ALF5SNGkrtPG@Y~niUQV2?g$vzJN3nZ{7;HZHzWAeQ;5P|@Tl3YHpyznGG4-f4=XflwSJY+58-+wf?~Fg@1p1wkzuu-RF3j2JX37SQUc? zQ4v%`V8z9ZVZVqS8h|@@RpD?n0W<=hk=3Cf8R?d^9YK&e9ZybFY%jdnA)PeHvtBe- zhMLD+SSteHBq*q)d6x{)s1UrsO!byyLS$58WK;sqip$Mk{l)Y(_6hEIBsIjCr5t>( z7CdKUrJTrW%qZ#1z^n*Lb8#VdfzPw~OIL76aC+Rhr<~;4Tl!sw?Rj6hXj4XWa#6Tp z@)kJ~qOV)^Rh*-?aG>ic2*NlC2M7&LUzc9RT6WM%Cpe78`iAowe!>(T0jo&ivn8-7 zs{Qa@cGy$rE-3AY0V(l8wjI^uB8Lchj@?L}fYal^>T9z;8juH@?rG&g-t+R2dVDBe zq!K%{e-rT5jX19`(bP23LUN4+_zh2KD~EAYzhpEO3MUG8@}uBHH@4J zd`>_(K4q&>*k82(dDuC)X6JuPrBBubOg7qZ{?x!r@{%0);*`h*^F|%o?&1wX?Wr4b z1~&cy#PUuES{C#xJ84!z<1tp9sfrR(i%Tu^jnXy;4`Xk;AQCdFC@?V%|; zySdC7qS|uQRcH}EFZH%mMB~7gi}a0utE}ZE_}8PQH8f;H%PN41Cb9R%w5Oi5el^fd z$n{3SqLCnrF##x?4sa^r!O$7NX!}&}V;0ZGQ&K&i%6$3C_dR%I7%gdQ;KT6YZiQrW zk%q<74oVBV>@}CvJ4Wj!d^?#Zwq(b$E1ze4$99DuNg?6t9H}k_|D7KWD7i0-g*EO7 z;5{hSIYE4DMOK3H%|f5Edx+S0VI0Yw!tsaRS2&Il2)ea^8R5TG72BrJue|f_{2UHa z@w;^c|K3da#$TB0P3;MPlF7RuQeXT$ zS<<|C0OF(k)>fr&wOB=gP8!Qm>F41u;3esv7_0l%QHt(~+n; zf!G6%hp;Gfa9L9=AceiZs~tK+Tf*Wof=4!u{nIO90jH@iS0l+#%8=~%ASzFv7zqSB^?!@N7)kp0t&tCGLmzXSRMRyxCmCYUD2!B`? zhs$4%KO~m=VFk3Buv9osha{v+mAEq=ik3RdK@;WWTV_g&-$U4IM{1IhGX{pAu%Z&H zFfwCpUsX%RKg);B@7OUzZ{Hn{q6Vv!3#8fAg!P$IEx<0vAx;GU%}0{VIsmFBPq_mb zpe^BChDK>sc-WLKl<6 zwbW|e&d&dv9Wu0goueyu>(JyPx1mz0v4E?cJjFuKF71Q1)AL8jHO$!fYT3(;U3Re* zPPOe%*O+@JYt1bW`!W_1!mN&=w3G9ru1XsmwfS~BJ))PhD(+_J_^N6j)sx5VwbWK| zwRyC?W<`pOCY)b#AS?rluxuuGf-AJ=D!M36l{ua?@SJ5>e!IBr3CXIxWw5xUZ@Xrw z_R@%?{>d%Ld4p}nEsiA@v*nc6Ah!MUs?GA7e5Q5lPpp0@`%5xY$C;{%rz24$;vR#* zBP=a{)K#CwIY%p} zXVdxTQ^HS@O&~eIftU+Qt^~(DGxrdi3k}DdT^I7Iy5SMOp$QuD8s;+93YQ!OY{eB24%xY7ml@|M7I(Nb@K_-?F;2?et|CKkuZK_>+>Lvg!>JE~wN`BI|_h6$qi!P)+K-1Hh(1;a`os z55)4Q{oJiA(lQM#;w#Ta%T0jDNXIPM_bgESMCDEg6rM33anEr}=|Fn6)|jBP6Y}u{ zv9@%7*#RI9;fv;Yii5CI+KrRdr0DKh=L>)eO4q$1zmcSmglsV`*N(x=&Wx`*v!!hn6X-l0 zP_m;X??O(skcj+oS$cIdKhfT%ABAzz3w^la-Ucw?yBPEC+=Pe_vU8nd-HV5YX6X8r zZih&j^eLU=%*;VzhUyoLF;#8QsEfmByk+Y~caBqSvQaaWf2a{JKB9B>V&r?l^rXaC z8)6AdR@Qy_BxQrE2Fk?ewD!SwLuMj@&d_n5RZFf7=>O>hzVE*seW3U?_p|R^CfoY`?|#x9)-*yjv#lo&zP=uI`M?J zbzC<^3x7GfXA4{FZ72{PE*-mNHyy59Q;kYG@BB~NhTd6pm2Oj=_ zizmD?MKVRkT^KmXuhsk?eRQllPo2Ubk=uCKiZ&u3Xjj~<(!M94c)Tez@9M1Gfs5JV z->@II)CDJOXTtPrQudNjE}Eltbjq>6KiwAwqvAKd^|g!exgLG3;wP+#mZYr`cy3#39e653d=jrR-ulW|h#ddHu(m9mFoW~2yE zz5?dB%6vF}+`-&-W8vy^OCxm3_{02royjvmwjlp+eQDzFVEUiyO#gLv%QdDSI#3W* z?3!lL8clTaNo-DVJw@ynq?q!%6hTQi35&^>P85G$TqNt78%9_sSJt2RThO|JzM$iL zg|wjxdMC2|Icc5rX*qPL(coL!u>-xxz-rFiC!6hD1IR%|HSRsV3>Kq~&vJ=s3M5y8SG%YBQ|{^l#LGlg!D?E>2yR*eV%9m$_J6VGQ~AIh&P$_aFbh zULr0Z$QE!QpkP=aAeR4ny<#3Fwyw@rZf4?Ewq`;mCVv}xaz+3ni+}a=k~P+yaWt^L z@w67!DqVf7D%7XtXX5xBW;Co|HvQ8WR1k?r2cZD%U;2$bsM%u8{JUJ5Z0k= zZJARv^vFkmWx15CB=rb=D4${+#DVqy5$C%bf`!T0+epLJLnh1jwCdb*zuCL}eEFvE z{rO1%gxg>1!W(I!owu*mJZ0@6FM(?C+d*CeceZRW_4id*D9p5nzMY&{mWqrJomjIZ z97ZNnZ3_%Hx8dn;H>p8m7F#^2;T%yZ3H;a&N7tm=Lvs&lgJLW{V1@h&6Vy~!+Ffbb zv(n3+v)_D$}dqd!2>Y2B)#<+o}LH#%ogGi2-?xRIH)1!SD)u-L65B&bsJTC=LiaF+YOCif2dUX6uAA|#+vNR z>U+KQekVGon)Yi<93(d!(yw1h3&X0N(PxN2{%vn}cnV?rYw z$N^}_o!XUB!mckL`yO1rnUaI4wrOeQ(+&k?2mi47hzxSD`N#-byqd1IhEoh!PGq>t z_MRy{5B0eKY>;Ao3z$RUU7U+i?iX^&r739F)itdrTpAi-NN0=?^m%?{A9Ly2pVv>Lqs6moTP?T2-AHqFD-o_ znVr|7OAS#AEH}h8SRPQ@NGG47dO}l=t07__+iK8nHw^(AHx&Wb<%jPc$$jl6_p(b$ z)!pi(0fQodCHfM)KMEMUR&UID>}m^(!{C^U7sBDOA)$VThRCI0_+2=( zV8mMq0R(#z;C|7$m>$>`tX+T|xGt(+Y48@ZYu#z;0pCgYgmMVbFb!$?%yhZqP_nhn zy4<#3P1oQ#2b51NU1mGnHP$cf0j-YOgAA}A$QoL6JVLcmExs(kU{4z;PBHJD%_=0F z>+sQV`mzijSIT7xn%PiDKHOujX;n|M&qr1T@rOxTdxtZ!&u&3HHFLYD5$RLQ=heur zb>+AFokUVQeJy-#LP*^)spt{mb@Mqe=A~-4p0b+Bt|pZ+@CY+%x}9f}izU5;4&QFE zO1bhg&A4uC1)Zb67kuowWY4xbo&J=%yoXlFB)&$d*-}kjBu|w!^zbD1YPc0-#XTJr z)pm2RDy%J3jlqSMq|o%xGS$bPwn4AqitC6&e?pqWcjWPt{3I{>CBy;hg0Umh#c;hU3RhCUX=8aR>rmd` z7Orw(5tcM{|-^J?ZAA9KP|)X6n9$-kvr#j5YDecTM6n z&07(nD^qb8hpF0B^z^pQ*%5ePYkv&FabrlI61ntiVp!!C8y^}|<2xgAd#FY=8b*y( zuQOuvy2`Ii^`VBNJB&R!0{hABYX55ooCAJSSevl4RPqEGb)iy_0H}v@vFwFzD%>#I>)3PsouQ+_Kkbqy*kKdHdfkN7NBcq%V{x^fSxgXpg7$bF& zj!6AQbDY(1u#1_A#1UO9AxiZaCVN2F0wGXdY*g@x$ByvUA?ePdide0dmr#}udE%K| z3*k}Vv2Ew2u1FXBaVA6aerI36R&rzEZeDDCl5!t0J=ug6kuNZzH>3i_VN`%BsaVB3 zQYw|Xub_SGf{)F{$ZX5`Jc!X!;eybjP+o$I{Z^Hsj@D=E{MnnL+TbC@HEU2DjG{3-LDGIbq()U87x4eS;JXnSh;lRlJ z>EL3D>wHt-+wTjQF$fGyDO$>d+(fq@bPpLBS~xA~R=3JPbS{tzN(u~m#Po!?H;IYv zE;?8%^vle|%#oux(Lj!YzBKv+Fd}*Ur-dCBoX*t{KeNM*n~ZPYJ4NNKkI^MFbz9!v z4(Bvm*Kc!-$%VFEewYJKz-CQN{`2}KX4*CeJEs+Q(!kI%hN1!1P6iOq?ovz}X0IOi z)YfWpwW@pK08^69#wSyCZkX9?uZD?C^@rw^Y?gLS_xmFKkooyx$*^5#cPqntNTtSG zlP>XLMj2!VF^0k#ole7`-c~*~+_T5ls?x4)ah(j8vo_ zwb%S8qoaZqY0-$ZI+ViIA_1~~rAH7K_+yFS{0rT@eQtTAdz#8E5VpwnW!zJ_^{Utv zlW5Iar3V5t&H4D6A=>?mq;G92;1cg9a2sf;gY9pJDVKn$DYdQlvfXq}zz8#LyPGq@ z+`YUMD;^-6w&r-82JL7mA8&M~Pj@aK!m{0+^v<|t%APYf7`}jGEhdYLqsHW-Le9TL z_hZZ1gbrz7$f9^fAzVIP30^KIz!!#+DRLL+qMszvI_BpOSmjtl$hh;&UeM{ER@INV zcI}VbiVTPoN|iSna@=7XkP&-4#06C};8ajbxJ4Gcq8(vWv4*&X8bM^T$mBk75Q92j z1v&%a;OSKc8EIrodmIiw$lOES2hzGDcjjB`kEDfJe{r}yE6`eZL zEB`9u>Cl0IsQ+t}`-cx}{6jqcANucqIB>Qmga_&<+80E2Q|VHHQ$YlAt{6`Qu`HA3 z03s0-sSlwbvgi&_R8s={6<~M^pGvBNjKOa>tWenzS8s zR>L7R5aZ=mSU{f?ib4Grx$AeFvtO5N|D>9#)ChH#Fny2maHWHOf2G=#<9Myot#+4u zWVa6d^Vseq_0=#AYS(-m$Lp;*8nC_6jXIjEM`omUmtH@QDs3|G)i4j*#_?#UYVZvJ z?YjT-?!4Q{BNun;dKBWLEw2C-VeAz`%?A>p;)PL}TAZn5j~HK>v1W&anteARlE+~+ zj>c(F;?qO3pXBb|#OZdQnm<4xWmn~;DR5SDMxt0UK_F^&eD|KZ=O;tO3vy4@4h^;2 zUL~-z`-P1aOe?|ZC1BgVsL)2^J-&vIFI%q@40w0{jjEfeVl)i9(~bt2z#2Vm)p`V_ z1;6$Ae7=YXk#=Qkd24Y23t&GvRxaOoad~NbJ+6pxqzJ>FY#Td7@`N5xp!n(c!=RE& z&<<@^a$_Ys8jqz4|5Nk#FY$~|FPC0`*a5HH!|Gssa9=~66&xG9)|=pOOJ2KE5|YrR zw!w6K2aC=J$t?L-;}5hn6mHd%hC;p8P|Dgh6D>hGnXPgi;6r+eA=?f72y9(Cf_ho{ zH6#)uD&R=73^$$NE;5piWX2bzR67fQ)`b=85o0eOLGI4c-Tb@-KNi2pz=Ke@SDcPn za$AxXib84`!Sf;Z3B@TSo`Dz7GM5Kf(@PR>Ghzi=BBxK8wRp>YQoXm+iL>H*Jo9M3 z6w&E?BC8AFTFT&Tv8zf+m9<&S&%dIaZ)Aoqkak_$r-2{$d~0g2oLETx9Y`eOAf14QXEQw3tJne;fdzl@wV#TFXSLXM2428F-Q}t+n2g%vPRMUzYPvzQ9f# zu(liiJem9P*?0%V@RwA7F53r~|I!Ty)<*AsMX3J{_4&}{6pT%Tpw>)^|DJ)>gpS~1rNEh z0$D?uO8mG?H;2BwM5a*26^7YO$XjUm40XmBsb63MoR;bJh63J;OngS5sSI+o2HA;W zdZV#8pDpC9Oez&L8loZO)MClRz!_!WD&QRtQxnazhT%Vj6Wl4G11nUk8*vSeVab@N#oJ}`KyJv+8Mo@T1-pqZ1t|?cnaVOd;1(h9 z!$DrN=jcGsVYE-0-n?oCJ^4x)F}E;UaD-LZUIzcD?W^ficqJWM%QLy6QikrM1aKZC zi{?;oKwq^Vsr|&`i{jIphA8S6G4)$KGvpULjH%9u(Dq247;R#l&I0{IhcC|oBF*Al zvLo7Xte=C{aIt*otJD}BUq)|_pdR>{zBMT< z(^1RpZv*l*m*OV^8>9&asGBo8h*_4q*)-eCv*|Pq=XNGrZE)^(SF7^{QE_~4VDB(o zVcPA_!G+2CAtLbl+`=Q~9iW`4ZRLku!uB?;tWqVjB0lEOf}2RD7dJ=BExy=<9wkb- z9&7{XFA%n#JsHYN8t5d~=T~5DcW4$B%3M+nNvC2`0!#@sckqlzo5;hhGi(D9=*A4` z5ynobawSPRtWn&CDLEs3Xf`(8^zDP=NdF~F^s&={l7(aw&EG}KWpMjtmz7j_VLO;@ zM2NVLDxZ@GIv7*gzl1 zjq78tv*8#WSY`}Su0&C;2F$Ze(q>F(@Wm^Gw!)(j;dk9Ad{STaxn)IV9FZhm*n+U} zi;4y*3v%A`_c7a__DJ8D1b@dl0Std3F||4Wtvi)fCcBRh!X9$1x!_VzUh>*S5s!oq z;qd{J_r79EL2wIeiGAqFstWtkfIJpjVh%zFo*=55B9Zq~y0=^iqHWfQl@O!Ak;(o*m!pZqe9 z%U2oDOhR)BvW8&F70L;2TpkzIutIvNQaTjjs5V#8mV4!NQ}zN=i`i@WI1z0eN-iCS z;vL-Wxc^Vc_qK<5RPh(}*8dLT{~GzE{w2o$2kMFaEl&q zP{V=>&3kW7tWaK-Exy{~`v4J0U#OZBk{a9{&)&QG18L@6=bsZ1zC_d{{pKZ-Ey>I> z;8H0t4bwyQqgu4hmO`3|4K{R*5>qnQ&gOfdy?z`XD%e5+pTDzUt3`k^u~SaL&XMe= z9*h#kT(*Q9jO#w2Hd|Mr-%DV8i_1{J1MU~XJ3!WUplhXDYBpJH><0OU`**nIvPIof z|N8@I=wA)sf45SAvx||f?Z5uB$kz1qL3Ky_{%RPdP5iN-D2!p5scq}buuC00C@jom zhfGKm3|f?Z0iQ|K$Z~!`8{nmAS1r+fp6r#YDOS8V*;K&Gs7Lc&f^$RC66O|)28oh`NHy&vq zJh+hAw8+ybTB0@VhWN^0iiTnLsCWbS_y`^gs!LX!Lw{yE``!UVzrV24tP8o;I6-65 z1MUiHw^{bB15tmrVT*7-#sj6cs~z`wk52YQJ*TG{SE;KTm#Hf#a~|<(|ImHH17nNM z`Ub{+J3dMD!)mzC8b(2tZtokKW5pAwHa?NFiso~# z1*iaNh4lQ4TS)|@G)H4dZV@l*Vd;Rw;-;odDhW2&lJ%m@jz+Panv7LQm~2Js6rOW3 z0_&2cW^b^MYW3)@o;neZ<{B4c#m48dAl$GCc=$>ErDe|?y@z`$uq3xd(%aAsX)D%l z>y*SQ%My`yDP*zof|3@_w#cjaW_YW4BdA;#Glg1RQcJGY*CJ9`H{@|D+*e~*457kd z73p<%fB^PV!Ybw@)Dr%(ZJbX}xmCStCYv#K3O32ej{$9IzM^I{6FJ8!(=azt7RWf4 z7ib0UOPqN40X!wOnFOoddd8`!_IN~9O)#HRTyjfc#&MCZ zZAMzOVB=;qwt8gV?{Y2?b=iSZG~RF~uyx18K)IDFLl})G1v@$(s{O4@RJ%OTJyF+Cpcx4jmy|F3euCnMK!P2WTDu5j z{{gD$=M*pH!GGzL%P)V2*ROm>!$Y=z|D`!_yY6e7SU$~a5q8?hZGgaYqaiLnkK%?0 zs#oI%;zOxF@g*@(V4p!$7dS1rOr6GVs6uYCTt2h)eB4?(&w8{#o)s#%gN@BBosRUe z)@P@8_Zm89pr~)b>e{tbPC~&_MR--iB{=)y;INU5#)@Gix-YpgP<-c2Ms{9zuCX|3 z!p(?VaXww&(w&uBHzoT%!A2=3HAP>SDxcljrego7rY|%hxy3XlODWffO_%g|l+7Y_ zqV(xbu)s4lV=l7M;f>vJl{`6qBm>#ZeMA}kXb97Z)?R97EkoI?x6Lp0yu1Z>PS?2{ z0QQ(8D)|lc9CO3B~e(pQM&5(1y&y=e>C^X$`)_&XuaI!IgDTVqt31wX#n+@!a_A0ZQkA zCJ2@M_4Gb5MfCrm5UPggeyh)8 zO9?`B0J#rkoCx(R0I!ko_2?iO@|oRf1;3r+i)w-2&j?=;NVIdPFsB)`|IC0zk6r9c zRrkfxWsiJ(#8QndNJj@{@WP2Ackr|r1VxV{7S&rSU(^)-M8gV>@UzOLXu9K<{6e{T zXJ6b92r$!|lwjhmgqkdswY&}c)KW4A)-ac%sU;2^fvq7gfUW4Bw$b!i@duy1CAxSn z(pyh$^Z=&O-q<{bZUP+$U}=*#M9uVc>CQVgDs4swy5&8RAHZ~$)hrTF4W zPsSa~qYv_0mJnF89RnnJTH`3}w4?~epFl=D(35$ zWa07ON$`OMBOHgCmfO(9RFc<)?$x)N}Jd2A(<*Ll7+4jrRt9w zwGxExUXd9VB#I|DwfxvJ;HZ8Q{37^wDhaZ%O!oO(HpcqfLH%#a#!~;Jl7F5>EX_=8 z{()l2NqPz>La3qJR;_v+wlK>GsHl;uRA8%j`A|yH@k5r%55S9{*Cp%uw6t`qc1!*T za2OeqtQj7sAp#Q~=5Fs&aCR9v>5V+s&RdNvo&H~6FJOjvaj--2sYYBvMq;55%z8^o z|BJDA4vzfow#DO#ZQHh;Oq_{r+qP{R9ox2TOgwQiv7Ow!zjN+A@BN;0tA2lUb#+zO z(^b89eV)D7UVE+h{mcNc6&GtpOqDn_?VAQ)Vob$hlFwW%xh>D#wml{t&Ofmm_d_+; zKDxzdr}`n2Rw`DtyIjrG)eD0vut$}dJAZ0AohZ+ZQdWXn_Z@dI_y=7t3q8x#pDI-K z2VVc&EGq445Rq-j0=U=Zx`oBaBjsefY;%)Co>J3v4l8V(T8H?49_@;K6q#r~Wwppc z4XW0(4k}cP=5ex>-Xt3oATZ~bBWKv)aw|I|Lx=9C1s~&b77idz({&q3T(Y(KbWO?+ zmcZ6?WeUsGk6>km*~234YC+2e6Zxdl~<_g2J|IE`GH%n<%PRv-50; zH{tnVts*S5*_RxFT9eM0z-pksIb^drUq4>QSww=u;UFCv2AhOuXE*V4z?MM`|ABOC4P;OfhS(M{1|c%QZ=!%rQTDFx`+}?Kdx$&FU?Y<$x;j7z=(;Lyz+?EE>ov!8vvMtSzG!nMie zsBa9t8as#2nH}n8xzN%W%U$#MHNXmDUVr@GX{?(=yI=4vks|V)!-W5jHsU|h_&+kY zS_8^kd3jlYqOoiI`ZqBVY!(UfnAGny!FowZWY_@YR0z!nG7m{{)4OS$q&YDyw6vC$ zm4!$h>*|!2LbMbxS+VM6&DIrL*X4DeMO!@#EzMVfr)e4Tagn~AQHIU8?e61TuhcKD zr!F4(kEebk(Wdk-?4oXM(rJwanS>Jc%<>R(siF+>+5*CqJLecP_we33iTFTXr6W^G z7M?LPC-qFHK;E!fxCP)`8rkxZyFk{EV;G-|kwf4b$c1k0atD?85+|4V%YATWMG|?K zLyLrws36p%Qz6{}>7b>)$pe>mR+=IWuGrX{3ZPZXF3plvuv5Huax86}KX*lbPVr}L z{C#lDjdDeHr~?l|)Vp_}T|%$qF&q#U;ClHEPVuS+Jg~NjC1RP=17=aQKGOcJ6B3mp z8?4*-fAD~}sX*=E6!}^u8)+m2j<&FSW%pYr_d|p_{28DZ#Cz0@NF=gC-o$MY?8Ca8 zr5Y8DSR^*urS~rhpX^05r30Ik#2>*dIOGxRm0#0YX@YQ%Mg5b6dXlS!4{7O_kdaW8PFSdj1=ryI-=5$fiieGK{LZ+SX(1b=MNL!q#lN zv98?fqqTUH8r8C7v(cx#BQ5P9W>- zmW93;eH6T`vuJ~rqtIBg%A6>q>gnWb3X!r0wh_q;211+Om&?nvYzL1hhtjB zK_7G3!n7PL>d!kj){HQE zE8(%J%dWLh1_k%gVXTZt zEdT09XSKAx27Ncaq|(vzL3gm83q>6CAw<$fTnMU05*xAe&rDfCiu`u^1)CD<>sx0i z*hr^N_TeN89G(nunZoLBf^81#pmM}>JgD@Nn1l*lN#a=B=9pN%tmvYFjFIoKe_(GF z-26x{(KXdfsQL7Uv6UtDuYwV`;8V3w>oT_I<`Ccz3QqK9tYT5ZQzbop{=I=!pMOCb zCU68`n?^DT%^&m>A%+-~#lvF!7`L7a{z<3JqIlk1$<||_J}vW1U9Y&eX<}l8##6i( zZcTT@2`9(Mecptm@{3A_Y(X`w9K0EwtPq~O!16bq{7c0f7#(3wn-^)h zxV&M~iiF!{-6A@>o;$RzQ5A50kxXYj!tcgme=Qjrbje~;5X2xryU;vH|6bE(8z^<7 zQ>BG7_c*JG8~K7Oe68i#0~C$v?-t@~@r3t2inUnLT(c=URpA9kA8uq9PKU(Ps(LVH zqgcqW>Gm?6oV#AldDPKVRcEyQIdTT`Qa1j~vS{<;SwyTdr&3*t?J)y=M7q*CzucZ&B0M=joT zBbj@*SY;o2^_h*>R0e({!QHF0=)0hOj^B^d*m>SnRrwq>MolNSgl^~r8GR#mDWGYEIJA8B<|{{j?-7p zVnV$zancW3&JVDtVpIlI|5djKq0(w$KxEFzEiiL=h5Jw~4Le23@s(mYyXWL9SX6Ot zmb)sZaly_P%BeX_9 zw&{yBef8tFm+%=--m*J|o~+Xg3N+$IH)t)=fqD+|fEk4AAZ&!wcN5=mi~Vvo^i`}> z#_3ahR}Ju)(Px7kev#JGcSwPXJ2id9%Qd2A#Uc@t8~egZ8;iC{e! z%=CGJOD1}j!HW_sgbi_8suYnn4#Ou}%9u)dXd3huFIb!ytlX>Denx@pCS-Nj$`VO&j@(z!kKSP0hE4;YIP#w9ta=3DO$7f*x zc9M4&NK%IrVmZAe=r@skWD`AEWH=g+r|*13Ss$+{c_R!b?>?UaGXlw*8qDmY#xlR= z<0XFbs2t?8i^G~m?b|!Hal^ZjRjt<@a? z%({Gn14b4-a|#uY^=@iiKH+k?~~wTj5K1A&hU z2^9-HTC)7zpoWK|$JXaBL6C z#qSNYtY>65T@Zs&-0cHeu|RX(Pxz6vTITdzJdYippF zC-EB+n4}#lM7`2Ry~SO>FxhKboIAF#Z{1wqxaCb{#yEFhLuX;Rx(Lz%T`Xo1+a2M}7D+@wol2)OJs$TwtRNJ={( zD@#zTUEE}#Fz#&(EoD|SV#bayvr&E0vzmb%H?o~46|FAcx?r4$N z&67W3mdip-T1RIxwSm_&(%U|+WvtGBj*}t69XVd&ebn>KOuL(7Y8cV?THd-(+9>G7*Nt%T zcH;`p={`SOjaf7hNd(=37Lz3-51;58JffzIPgGs_7xIOsB5p2t&@v1mKS$2D$*GQ6 zM(IR*j4{nri7NMK9xlDy-hJW6sW|ZiDRaFiayj%;(%51DN!ZCCCXz+0Vm#};70nOx zJ#yA0P3p^1DED;jGdPbQWo0WATN=&2(QybbVdhd=Vq*liDk`c7iZ?*AKEYC#SY&2g z&Q(Ci)MJ{mEat$ZdSwTjf6h~roanYh2?9j$CF@4hjj_f35kTKuGHvIs9}Re@iKMxS-OI*`0S z6s)fOtz}O$T?PLFVSeOjSO26$@u`e<>k(OSP!&YstH3ANh>)mzmKGNOwOawq-MPXe zy4xbeUAl6tamnx))-`Gi2uV5>9n(73yS)Ukma4*7fI8PaEwa)dWHs6QA6>$}7?(L8 ztN8M}?{Tf!Zu22J5?2@95&rQ|F7=FK-hihT-vDp!5JCcWrVogEnp;CHenAZ)+E+K5 z$Cffk5sNwD_?4+ymgcHR(5xgt20Z8M`2*;MzOM#>yhk{r3x=EyM226wb&!+j`W<%* zSc&|`8!>dn9D@!pYow~(DsY_naSx7(Z4i>cu#hA5=;IuI88}7f%)bRkuY2B;+9Uep zpXcvFWkJ!mQai63BgNXG26$5kyhZ2&*3Q_tk)Ii4M>@p~_~q_cE!|^A;_MHB;7s#9 zKzMzK{lIxotjc};k67^Xsl-gS!^*m*m6kn|sbdun`O?dUkJ{0cmI0-_2y=lTAfn*Y zKg*A-2sJq)CCJgY0LF-VQvl&6HIXZyxo2#!O&6fOhbHXC?%1cMc6y^*dOS{f$=137Ds1m01qs`>iUQ49JijsaQ( zksqV9@&?il$|4Ua%4!O15>Zy&%gBY&wgqB>XA3!EldQ%1CRSM(pp#k~-pkcCg4LAT zXE=puHbgsw)!xtc@P4r~Z}nTF=D2~j(6D%gTBw$(`Fc=OOQ0kiW$_RDd=hcO0t97h zb86S5r=>(@VGy1&#S$Kg_H@7G^;8Ue)X5Y+IWUi`o;mpvoV)`fcVk4FpcT|;EG!;? zHG^zrVVZOm>1KFaHlaogcWj(v!S)O(Aa|Vo?S|P z5|6b{qkH(USa*Z7-y_Uvty_Z1|B{rTS^qmEMLEYUSk03_Fg&!O3BMo{b^*`3SHvl0 zhnLTe^_vVIdcSHe)SQE}r~2dq)VZJ!aSKR?RS<(9lzkYo&dQ?mubnWmgMM37Nudwo z3Vz@R{=m2gENUE3V4NbIzAA$H1z0pagz94-PTJyX{b$yndsdKptmlKQKaaHj@3=ED zc7L?p@%ui|RegVYutK$64q4pe9+5sv34QUpo)u{1ci?)_7gXQd{PL>b0l(LI#rJmN zGuO+%GO`xneFOOr4EU(Wg}_%bhzUf;d@TU+V*2#}!2OLwg~%D;1FAu=Un>OgjPb3S z7l(riiCwgghC=Lm5hWGf5NdGp#01xQ59`HJcLXbUR3&n%P(+W2q$h2Qd z*6+-QXJ*&Kvk9ht0f0*rO_|FMBALen{j7T1l%=Q>gf#kma zQlg#I9+HB+z*5BMxdesMND`_W;q5|FaEURFk|~&{@qY32N$G$2B=&Po{=!)x5b!#n zxLzblkq{yj05#O7(GRuT39(06FJlalyv<#K4m}+vs>9@q-&31@1(QBv82{}Zkns~K ze{eHC_RDX0#^A*JQTwF`a=IkE6Ze@j#-8Q`tTT?k9`^ZhA~3eCZJ-Jr{~7Cx;H4A3 zcZ+Zj{mzFZbVvQ6U~n>$U2ZotGsERZ@}VKrgGh0xM;Jzt29%TX6_&CWzg+YYMozrM z`nutuS)_0dCM8UVaKRj804J4i%z2BA_8A4OJRQ$N(P9Mfn-gF;4#q788C@9XR0O3< zsoS4wIoyt046d+LnSCJOy@B@Uz*#GGd#+Ln1ek5Dv>(ZtD@tgZlPnZZJGBLr^JK+!$$?A_fA3LOrkoDRH&l7 zcMcD$Hsjko3`-{bn)jPL6E9Ds{WskMrivsUu5apD z?grQO@W7i5+%X&E&p|RBaEZ(sGLR@~(y^BI@lDMot^Ll?!`90KT!JXUhYS`ZgX3jnu@Ja^seA*M5R@f`=`ynQV4rc$uT1mvE?@tz)TN<=&H1%Z?5yjxcpO+6y_R z6EPuPKM5uxKpmZfT(WKjRRNHs@ib)F5WAP7QCADvmCSD#hPz$V10wiD&{NXyEwx5S z6NE`3z!IS^$s7m}PCwQutVQ#~w+V z=+~->DI*bR2j0^@dMr9`p>q^Ny~NrAVxrJtX2DUveic5vM%#N*XO|?YAWwNI$Q)_) zvE|L(L1jP@F%gOGtnlXtIv2&1i8q<)Xfz8O3G^Ea~e*HJsQgBxWL(yuLY+jqUK zRE~`-zklrGog(X}$9@ZVUw!8*=l`6mzYLtsg`AvBYz(cxmAhr^j0~(rzXdiOEeu_p zE$sf2(w(BPAvO5DlaN&uQ$4@p-b?fRs}d7&2UQ4Fh?1Hzu*YVjcndqJLw0#q@fR4u zJCJ}>_7-|QbvOfylj+e^_L`5Ep9gqd>XI3-O?Wp z-gt*P29f$Tx(mtS`0d05nHH=gm~Po_^OxxUwV294BDKT>PHVlC5bndncxGR!n(OOm znsNt@Q&N{TLrmsoKFw0&_M9$&+C24`sIXGWgQaz=kY;S{?w`z^Q0JXXBKFLj0w0U6P*+jPKyZHX9F#b0D1$&(- zrm8PJd?+SrVf^JlfTM^qGDK&-p2Kdfg?f>^%>1n8bu&byH(huaocL>l@f%c*QkX2i znl}VZ4R1en4S&Bcqw?$=Zi7ohqB$Jw9x`aM#>pHc0x z0$!q7iFu zZ`tryM70qBI6JWWTF9EjgG@>6SRzsd}3h+4D8d~@CR07P$LJ}MFsYi-*O%XVvD@yT|rJ+Mk zDllJ7$n0V&A!0flbOf)HE6P_afPWZmbhpliqJuw=-h+r;WGk|ntkWN(8tKlYpq5Ow z(@%s>IN8nHRaYb*^d;M(D$zGCv5C|uqmsDjwy4g=Lz>*OhO3z=)VD}C<65;`89Ye} zSCxrv#ILzIpEx1KdLPlM&%Cctf@FqTKvNPXC&`*H9=l=D3r!GLM?UV zOxa(8ZsB`&+76S-_xuj?G#wXBfDY@Z_tMpXJS7^mp z@YX&u0jYw2A+Z+bD#6sgVK5ZgdPSJV3>{K^4~%HV?rn~4D)*2H!67Y>0aOmzup`{D zzDp3c9yEbGCY$U<8biJ_gB*`jluz1ShUd!QUIQJ$*1;MXCMApJ^m*Fiv88RZ zFopLViw}{$Tyhh_{MLGIE2~sZ)t0VvoW%=8qKZ>h=adTe3QM$&$PO2lfqH@brt!9j ziePM8$!CgE9iz6B<6_wyTQj?qYa;eC^{x_0wuwV~W+^fZmFco-o%wsKSnjXFEx02V zF5C2t)T6Gw$Kf^_c;Ei3G~uC8SM-xyycmXyC2hAVi-IfXqhu$$-C=*|X?R0~hu z8`J6TdgflslhrmDZq1f?GXF7*ALeMmOEpRDg(s*H`4>_NAr`2uqF;k;JQ+8>A|_6ZNsNLECC%NNEb1Y1dP zbIEmNpK)#XagtL4R6BC{C5T(+=yA-(Z|Ap}U-AfZM#gwVpus3(gPn}Q$CExObJ5AC z)ff9Yk?wZ}dZ-^)?cbb9Fw#EjqQ8jxF4G3=L?Ra zg_)0QDMV1y^A^>HRI$x?Op@t;oj&H@1xt4SZ9(kifQ zb59B*`M99Td7@aZ3UWvj1rD0sE)d=BsBuW*KwkCds7ay(7*01_+L}b~7)VHI>F_!{ zyxg-&nCO?v#KOUec0{OOKy+sjWA;8rTE|Lv6I9H?CI?H(mUm8VXGwU$49LGpz&{nQp2}dinE1@lZ1iox6{ghN&v^GZv9J${7WaXj)<0S4g_uiJ&JCZ zr8-hsu`U%N;+9N^@&Q0^kVPB3)wY(rr}p7{p0qFHb3NUUHJb672+wRZs`gd1UjKPX z4o6zljKKA+Kkj?H>Ew63o%QjyBk&1!P22;MkD>sM0=z_s-G{mTixJCT9@_|*(p^bz zJ8?ZZ&;pzV+7#6Mn`_U-)k8Pjg?a;|Oe^us^PoPY$Va~yi8|?+&=y$f+lABT<*pZr zP}D{~Pq1Qyni+@|aP;ixO~mbEW9#c0OU#YbDZIaw=_&$K%Ep2f%hO^&P67hApZe`x zv8b`Mz@?M_7-)b!lkQKk)JXXUuT|B8kJlvqRmRpxtQDgvrHMXC1B$M@Y%Me!BSx3P z#2Eawl$HleZhhTS6Txm>lN_+I`>eV$&v9fOg)%zVn3O5mI*lAl>QcHuW6!Kixmq`X zBCZ*Ck6OYtDiK!N47>jxI&O2a9x7M|i^IagRr-fmrmikEQGgw%J7bO|)*$2FW95O4 zeBs>KR)izRG1gRVL;F*sr8A}aRHO0gc$$j&ds8CIO1=Gwq1%_~E)CWNn9pCtBE}+`Jelk4{>S)M)`Ll=!~gnn1yq^EX(+y*ik@3Ou0qU`IgYi3*doM+5&dU!cho$pZ zn%lhKeZkS72P?Cf68<#kll_6OAO26bIbueZx**j6o;I0cS^XiL`y+>{cD}gd%lux} z)3N>MaE24WBZ}s0ApfdM;5J_Ny}rfUyxfkC``Awo2#sgLnGPewK};dORuT?@I6(5~ z?kE)Qh$L&fwJXzK){iYx!l5$Tt|^D~MkGZPA}(o6f7w~O2G6Vvzdo*a;iXzk$B66$ zwF#;wM7A+(;uFG4+UAY(2`*3XXx|V$K8AYu#ECJYSl@S=uZW$ksfC$~qrrbQj4??z-)uz0QL}>k^?fPnJTPw% zGz)~?B4}u0CzOf@l^um}HZzbaIwPmb<)< zi_3@E9lc)Qe2_`*Z^HH;1CXOceL=CHpHS{HySy3T%<^NrWQ}G0i4e1xm_K3(+~oi$ zoHl9wzb?Z4j#90DtURtjtgvi7uw8DzHYmtPb;?%8vb9n@bszT=1qr)V_>R%s!92_` zfnHQPANx z<#hIjIMm#*(v*!OXtF+w8kLu`o?VZ5k7{`vw{Yc^qYclpUGIM_PBN1+c{#Vxv&E*@ zxg=W2W~JuV{IuRYw3>LSI1)a!thID@R=bU+cU@DbR^_SXY`MC7HOsCN z!dO4OKV7(E_Z8T#8MA1H`99?Z!r0)qKW_#|29X3#Jb+5+>qUidbeP1NJ@)(qi2S-X zao|f0_tl(O+$R|Qwd$H{_ig|~I1fbp_$NkI!0E;Y z6JrnU{1Ra6^on{9gUUB0mwzP3S%B#h0fjo>JvV~#+X0P~JV=IG=yHG$O+p5O3NUgG zEQ}z6BTp^Fie)Sg<){Z&I8NwPR(=mO4joTLHkJ>|Tnk23E(Bo`FSbPc05lF2-+)X? z6vV3*m~IBHTy*^E!<0nA(tCOJW2G4DsH7)BxLV8kICn5lu6@U*R`w)o9;Ro$i8=Q^V%uH8n3q=+Yf;SFRZu z!+F&PKcH#8cG?aSK_Tl@K9P#8o+jry@gdexz&d(Q=47<7nw@e@FFfIRNL9^)1i@;A z28+$Z#rjv-wj#heI|<&J_DiJ*s}xd-f!{J8jfqOHE`TiHHZVIA8CjkNQ_u;Ery^^t zl1I75&u^`1_q)crO+JT4rx|z2ToSC>)Or@-D zy3S>jW*sNIZR-EBsfyaJ+Jq4BQE4?SePtD2+jY8*%FsSLZ9MY>+wk?}}}AFAw)vr{ml)8LUG-y9>^t!{~|sgpxYc0Gnkg`&~R z-pilJZjr@y5$>B=VMdZ73svct%##v%wdX~9fz6i3Q-zOKJ9wso+h?VME7}SjL=!NUG{J?M&i!>ma`eoEa@IX`5G>B1(7;%}M*%-# zfhJ(W{y;>MRz!Ic8=S}VaBKqh;~7KdnGEHxcL$kA-6E~=!hrN*zw9N+_=odt<$_H_8dbo;0=42wcAETPCVGUr~v(`Uai zb{=D!Qc!dOEU6v)2eHSZq%5iqK?B(JlCq%T6av$Cb4Rko6onlG&?CqaX7Y_C_cOC3 zYZ;_oI(}=>_07}Oep&Ws7x7-R)cc8zfe!SYxJYP``pi$FDS)4Fvw5HH=FiU6xfVqIM!hJ;Rx8c0cB7~aPtNH(Nmm5Vh{ibAoU#J6 zImRCr?(iyu_4W_6AWo3*vxTPUw@vPwy@E0`(>1Qi=%>5eSIrp^`` zK*Y?fK_6F1W>-7UsB)RPC4>>Ps9)f+^MqM}8AUm@tZ->j%&h1M8s*s!LX5&WxQcAh z8mciQej@RPm?660%>{_D+7er>%zX_{s|$Z+;G7_sfNfBgY(zLB4Ey}J9F>zX#K0f6 z?dVNIeEh?EIShmP6>M+d|0wMM85Sa4diw1hrg|ITJ}JDg@o8y>(rF9mXk5M z2@D|NA)-7>wD&wF;S_$KS=eE84`BGw3g0?6wGxu8ys4rwI?9U=*^VF22t3%mbGeOh z`!O-OpF7#Vceu~F`${bW0nYVU9ecmk31V{tF%iv&5hWofC>I~cqAt@u6|R+|HLMMX zVxuSlMFOK_EQ86#E8&KwxIr8S9tj_goWtLv4f@!&h8;Ov41{J~496vp9vX=(LK#j! zAwi*21RAV-LD>9Cw3bV_9X(X3)Kr0-UaB*7Y>t82EQ%!)(&(XuAYtTsYy-dz+w=$ir)VJpe!_$ z6SGpX^i(af3{o=VlFPC);|J8#(=_8#vdxDe|Cok+ANhYwbE*FO`Su2m1~w+&9<_9~ z-|tTU_ACGN`~CNW5WYYBn^B#SwZ(t4%3aPp z;o)|L6Rk569KGxFLUPx@!6OOa+5OjQLK5w&nAmwxkC5rZ|m&HT8G%GVZxB_@ME z>>{rnXUqyiJrT(8GMj_ap#yN_!9-lO5e8mR3cJiK3NE{_UM&=*vIU`YkiL$1%kf+1 z4=jk@7EEj`u(jy$HnzE33ZVW_J4bj}K;vT?T91YlO(|Y0FU4r+VdbmQ97%(J5 zkK*Bed8+C}FcZ@HIgdCMioV%A<*4pw_n}l*{Cr4}a(lq|injK#O?$tyvyE`S%(1`H z_wwRvk#13ElkZvij2MFGOj`fhy?nC^8`Zyo%yVcUAfEr8x&J#A{|moUBAV_^f$hpaUuyQeY3da^ zS9iRgf87YBwfe}>BO+T&Fl%rfpZh#+AM?Dq-k$Bq`vG6G_b4z%Kbd&v>qFjow*mBl z-OylnqOpLg}or7_VNwRg2za3VBK6FUfFX{|TD z`Wt0Vm2H$vdlRWYQJqDmM?JUbVqL*ZQY|5&sY*?!&%P8qhA~5+Af<{MaGo(dl&C5t zE%t!J0 zh6jqANt4ABdPxSTrVV}fLsRQal*)l&_*rFq(Ez}ClEH6LHv{J#v?+H-BZ2)Wy{K@9 z+ovXHq~DiDvm>O~r$LJo!cOuwL+Oa--6;UFE2q@g3N8Qkw5E>ytz^(&($!O47+i~$ zKM+tkAd-RbmP{s_rh+ugTD;lriL~`Xwkad#;_aM?nQ7L_muEFI}U_4$phjvYgleK~`Fo`;GiC07&Hq1F<%p;9Q;tv5b?*QnR%8DYJH3P>Svmv47Y>*LPZJy8_{9H`g6kQpyZU{oJ`m%&p~D=K#KpfoJ@ zn-3cqmHsdtN!f?~w+(t+I`*7GQA#EQC^lUA9(i6=i1PqSAc|ha91I%X&nXzjYaM{8$s&wEx@aVkQ6M{E2 zfzId#&r(XwUNtPcq4Ngze^+XaJA1EK-%&C9j>^9(secqe{}z>hR5CFNveMsVA)m#S zk)_%SidkY-XmMWlVnQ(mNJ>)ooszQ#vaK;!rPmGKXV7am^_F!Lz>;~{VrIO$;!#30XRhE1QqO_~#+Ux;B_D{Nk=grn z8Y0oR^4RqtcYM)7a%@B(XdbZCOqnX#fD{BQTeLvRHd(irHKq=4*jq34`6@VAQR8WG z^%)@5CXnD_T#f%@-l${>y$tfb>2LPmc{~5A82|16mH)R?&r#KKLs7xpN-D`=&Cm^R zvMA6#Ahr<3X>Q7|-qfTY)}32HkAz$_mibYV!I)u>bmjK`qwBe(>za^0Kt*HnFbSdO z1>+ryKCNxmm^)*$XfiDOF2|{-v3KKB?&!(S_Y=Ht@|ir^hLd978xuI&N{k>?(*f8H z=ClxVJK_%_z1TH0eUwm2J+2To7FK4o+n_na)&#VLn1m;!+CX+~WC+qg1?PA~KdOlC zW)C@pw75_xoe=w7i|r9KGIvQ$+3K?L{7TGHwrQM{dCp=Z*D}3kX7E-@sZnup!BImw z*T#a=+WcTwL78exTgBn|iNE3#EsOorO z*kt)gDzHiPt07fmisA2LWN?AymkdqTgr?=loT7z@d`wnlr6oN}@o|&JX!yPzC*Y8d zu6kWlTzE1)ckyBn+0Y^HMN+GA$wUO_LN6W>mxCo!0?oiQvT`z$jbSEu&{UHRU0E8# z%B^wOc@S!yhMT49Y)ww(Xta^8pmPCe@eI5C*ed96)AX9<>))nKx0(sci8gwob_1}4 z0DIL&vsJ1_s%<@y%U*-eX z5rN&(zef-5G~?@r79oZGW1d!WaTqQn0F6RIOa9tJ=0(kdd{d1{<*tHT#cCvl*i>YY zH+L7jq8xZNcTUBqj(S)ztTU!TM!RQ}In*n&Gn<>(60G7}4%WQL!o>hbJqNDSGwl#H z`4k+twp0cj%PsS+NKaxslAEu9!#U3xT1|_KB6`h=PI0SW`P9GTa7caD1}vKEglV8# zjKZR`pluCW19c2fM&ZG)c3T3Um;ir3y(tSCJ7Agl6|b524dy5El{^EQBG?E61H0XY z`bqg!;zhGhyMFl&(o=JWEJ8n~z)xI}A@C0d2hQGvw7nGv)?POU@(kS1m=%`|+^ika zXl8zjS?xqW$WlO?Ewa;vF~XbybHBor$f<%I&*t$F5fynwZlTGj|IjZtVfGa7l&tK} zW>I<69w(cZLu)QIVG|M2xzW@S+70NinQzk&Y0+3WT*cC)rx~04O-^<{JohU_&HL5XdUKW!uFy|i$FB|EMu0eUyW;gsf`XfIc!Z0V zeK&*hPL}f_cX=@iv>K%S5kL;cl_$v?n(Q9f_cChk8Lq$glT|=e+T*8O4H2n<=NGmn z+2*h+v;kBvF>}&0RDS>)B{1!_*XuE8A$Y=G8w^qGMtfudDBsD5>T5SB;Qo}fSkkiV ze^K^M(UthkwrD!&*tTsu>Dacdj_q`~V%r_twr$(Ct&_dKeeXE?fA&4&yASJWJ*}~- zel=@W)tusynfC_YqH4ll>4Eg`Xjs5F7Tj>tTLz<0N3)X<1px_d2yUY>X~y>>93*$) z5PuNMQLf9Bu?AAGO~a_|J2akO1M*@VYN^VxvP0F$2>;Zb9;d5Yfd8P%oFCCoZE$ z4#N$^J8rxYjUE_6{T%Y>MmWfHgScpuGv59#4u6fpTF%~KB^Ae`t1TD_^Ud#DhL+Dm zbY^VAM#MrAmFj{3-BpVSWph2b_Y6gCnCAombVa|1S@DU)2r9W<> zT5L8BB^er3zxKt1v(y&OYk!^aoQisqU zH(g@_o)D~BufUXcPt!Ydom)e|aW{XiMnes2z&rE?og>7|G+tp7&^;q?Qz5S5^yd$i z8lWr4g5nctBHtigX%0%XzIAB8U|T6&JsC4&^hZBw^*aIcuNO47de?|pGXJ4t}BB`L^d8tD`H`i zqrP8?#J@8T#;{^B!KO6J=@OWKhAerih(phML`(Rg7N1XWf1TN>=Z3Do{l_!d~DND&)O)D>ta20}@Lt77qSnVsA7>)uZAaT9bsB>u&aUQl+7GiY2|dAEg@%Al3i316y;&IhQL^8fw_nwS>f60M_-m+!5)S_6EPM7Y)(Nq^8gL7(3 zOiot`6Wy6%vw~a_H?1hLVzIT^i1;HedHgW9-P#)}Y6vF%C=P70X0Tk^z9Te@kPILI z_(gk!k+0%CG)%!WnBjjw*kAKs_lf#=5HXC00s-}oM-Q1aXYLj)(1d!_a7 z*Gg4Fe6F$*ujVjI|79Z5+Pr`us%zW@ln++2l+0hsngv<{mJ%?OfSo_3HJXOCys{Ug z00*YR-(fv<=&%Q!j%b-_ppA$JsTm^_L4x`$k{VpfLI(FMCap%LFAyq;#ns5bR7V+x zO!o;c5y~DyBPqdVQX)8G^G&jWkBy2|oWTw>)?5u}SAsI$RjT#)lTV&Rf8;>u*qXnb z8F%Xb=7#$m)83z%`E;49)t3fHInhtc#kx4wSLLms!*~Z$V?bTyUGiS&m>1P(952(H zuHdv=;o*{;5#X-uAyon`hP}d#U{uDlV?W?_5UjJvf%11hKwe&(&9_~{W)*y1nR5f_ z!N(R74nNK`y8>B!0Bt_Vr!;nc3W>~RiKtGSBkNlsR#-t^&;$W#)f9tTlZz>n*+Fjz z3zXZ;jf(sTM(oDzJt4FJS*8c&;PLTW(IQDFs_5QPy+7yhi1syPCarvqrHFcf&yTy)^O<1EBx;Ir`5W{TIM>{8w&PB>ro4;YD<5LF^TjTb0!zAP|QijA+1Vg>{Afv^% zmrkc4o6rvBI;Q8rj4*=AZacy*n8B{&G3VJc)so4$XUoie0)vr;qzPZVbb<#Fc=j+8CGBWe$n|3K& z_@%?{l|TzKSlUEO{U{{%Fz_pVDxs7i9H#bnbCw7@4DR=}r_qV!Zo~CvD4ZI*+j3kO zW6_=|S`)(*gM0Z;;}nj`73OigF4p6_NPZQ-Od~e$c_);;4-7sR>+2u$6m$Gf%T{aq zle>e3(*Rt(TPD}03n5)!Ca8Pu!V}m6v0o1;5<1h$*|7z|^(3$Y&;KHKTT}hV056wuF0Xo@mK-52~r=6^SI1NC%c~CC?n>yX6wPTgiWYVz!Sx^atLby9YNn1Rk{g?|pJaxD4|9cUf|V1_I*w zzxK)hRh9%zOl=*$?XUjly5z8?jPMy%vEN)f%T*|WO|bp5NWv@B(K3D6LMl!-6dQg0 zXNE&O>Oyf%K@`ngCvbGPR>HRg5!1IV$_}m@3dWB7x3t&KFyOJn9pxRXCAzFr&%37wXG;z^xaO$ekR=LJG ztIHpY8F5xBP{mtQidqNRoz= z@){+N3(VO5bD+VrmS^YjG@+JO{EOIW)9=F4v_$Ed8rZtHvjpiEp{r^c4F6Ic#ChlC zJX^DtSK+v(YdCW)^EFcs=XP7S>Y!4=xgmv>{S$~@h=xW-G4FF9?I@zYN$e5oF9g$# zb!eVU#J+NjLyX;yb)%SY)xJdvGhsnE*JEkuOVo^k5PyS=o#vq!KD46UTW_%R=Y&0G zFj6bV{`Y6)YoKgqnir2&+sl+i6foAn-**Zd1{_;Zb7Ki=u394C5J{l^H@XN`_6XTKY%X1AgQM6KycJ+= zYO=&t#5oSKB^pYhNdzPgH~aEGW2=ec1O#s-KG z71}LOg@4UEFtp3GY1PBemXpNs6UK-ax*)#$J^pC_me;Z$Je(OqLoh|ZrW*mAMBFn< zHttjwC&fkVfMnQeen8`Rvy^$pNRFVaiEN4Pih*Y3@jo!T0nsClN)pdrr9AYLcZxZ| zJ5Wlj+4q~($hbtuY zVQ7hl>4-+@6g1i`1a)rvtp-;b0>^`Dloy(#{z~ytgv=j4q^Kl}wD>K_Y!l~ zp(_&7sh`vfO(1*MO!B%<6E_bx1)&s+Ae`O)a|X=J9y~XDa@UB`m)`tSG4AUhoM=5& znWoHlA-(z@3n0=l{E)R-p8sB9XkV zZ#D8wietfHL?J5X0%&fGg@MH~(rNS2`GHS4xTo7L$>TPme+Is~!|79=^}QbPF>m%J zFMkGzSndiPO|E~hrhCeo@&Ea{M(ieIgRWMf)E}qeTxT8Q#g-!Lu*x$v8W^M^>?-g= zwMJ$dThI|~M06rG$Sv@C@tWR>_YgaG&!BAbkGggVQa#KdtDB)lMLNVLN|51C@F^y8 zCRvMB^{GO@j=cHfmy}_pCGbP%xb{pNN>? z?7tBz$1^zVaP|uaatYaIN+#xEN4jBzwZ|YI_)p(4CUAz1ZEbDk>J~Y|63SZaak~#0 zoYKruYsWHoOlC1(MhTnsdUOwQfz5p6-D0}4;DO$B;7#M{3lSE^jnTT;ns`>!G%i*F?@pR1JO{QTuD0U+~SlZxcc8~>IB{)@8p`P&+nDxNj`*gh|u?yrv$phpQcW)Us)bi`kT%qLj(fi{dWRZ%Es2!=3mI~UxiW0$-v3vUl?#g{p6eF zMEUAqo5-L0Ar(s{VlR9g=j7+lt!gP!UN2ICMokAZ5(Agd>})#gkA2w|5+<%-CuEP# zqgcM}u@3(QIC^Gx<2dbLj?cFSws_f3e%f4jeR?4M^M3cx1f+Qr6ydQ>n)kz1s##2w zk}UyQc+Z5G-d-1}{WzjkLXgS-2P7auWSJ%pSnD|Uivj5u!xk0 z_^-N9r9o;(rFDt~q1PvE#iJZ_f>J3gcP$)SOqhE~pD2|$=GvpL^d!r z6u=sp-CrMoF7;)}Zd7XO4XihC4ji?>V&(t^?@3Q&t9Mx=qex6C9d%{FE6dvU6%d94 zIE;hJ1J)cCqjv?F``7I*6bc#X)JW2b4f$L^>j{*$R`%5VHFi*+Q$2;nyieduE}qdS{L8y8F08yLs?w}{>8>$3236T-VMh@B zq-nujsb_1aUv_7g#)*rf9h%sFj*^mIcImRV*k~Vmw;%;YH(&ylYpy!&UjUVqqtfG` zox3esju?`unJJA_zKXRJP)rA3nXc$m^{S&-p|v|-0x9LHJm;XIww7C#R$?00l&Yyj z=e}gKUOpsImwW?N)+E(awoF@HyP^EhL+GlNB#k?R<2>95hz!h9sF@U20DHSB3~WMa zk90+858r@-+vWwkawJ)8ougd(i#1m3GLN{iSTylYz$brAsP%=&m$mQQrH$g%3-^VR zE%B`Vi&m8f3T~&myTEK28BDWCVzfWir1I?03;pX))|kY5ClO^+bae z*7E?g=3g7EiisYOrE+lA)2?Ln6q2*HLNpZEWMB|O-JI_oaHZB%CvYB(%=tU= zE*OY%QY58fW#RG5=gm0NR#iMB=EuNF@)%oZJ}nmm=tsJ?eGjia{e{yuU0l3{d^D@)kVDt=1PE)&tf_hHC%0MB znL|CRCPC}SeuVTdf>-QV70`0(EHizc21s^sU>y%hW0t!0&y<7}Wi-wGy>m%(-jsDj zP?mF|>p_K>liZ6ZP(w5(|9Ga%>tLgb$|doDDfkdW>Z z`)>V2XC?NJT26mL^@ zf+IKr27TfM!UbZ@?zRddC7#6ss1sw%CXJ4FWC+t3lHZupzM77m^=9 z&(a?-LxIq}*nvv)y?27lZ{j zifdl9hyJudyP2LpU$-kXctshbJDKS{WfulP5Dk~xU4Le4c#h^(YjJit4#R8_khheS z|8(>2ibaHES4+J|DBM7I#QF5u-*EdN{n=Kt@4Zt?@Tv{JZA{`4 zU#kYOv{#A&gGPwT+$Ud}AXlK3K7hYzo$(fBSFjrP{QQ zeaKg--L&jh$9N}`pu{Bs>?eDFPaWY4|9|foN%}i;3%;@4{dc+iw>m}{3rELqH21G! z`8@;w-zsJ1H(N3%|1B@#ioLOjib)j`EiJqPQVSbPSPVHCj6t5J&(NcWzBrzCiDt{4 zdlPAUKldz%6x5II1H_+jv)(xVL+a;P+-1hv_pM>gMRr%04@k;DTokASSKKhU1Qms| zrWh3a!b(J3n0>-tipg{a?UaKsP7?+|@A+1WPDiQIW1Sf@qDU~M_P65_s}7(gjTn0X zucyEm)o;f8UyshMy&>^SC3I|C6jR*R_GFwGranWZe*I>K+0k}pBuET&M~ z;Odo*ZcT?ZpduHyrf8E%IBFtv;JQ!N_m>!sV6ly$_1D{(&nO~w)G~Y`7sD3#hQk%^ zp}ucDF_$!6DAz*PM8yE(&~;%|=+h(Rn-=1Wykas_-@d&z#=S}rDf`4w(rVlcF&lF! z=1)M3YVz7orwk^BXhslJ8jR);sh^knJW(Qmm(QdSgIAIdlN4Te5KJisifjr?eB{FjAX1a0AB>d?qY4Wx>BZ8&}5K0fA+d{l8 z?^s&l8#j7pR&ijD?0b%;lL9l$P_mi2^*_OL+b}4kuLR$GAf85sOo02?Y#90}CCDiS zZ%rbCw>=H~CBO=C_JVV=xgDe%b4FaEFtuS7Q1##y686r%F6I)s-~2(}PWK|Z8M+Gu zl$y~5@#0Ka%$M<&Cv%L`a8X^@tY&T7<0|(6dNT=EsRe0%kp1Qyq!^43VAKYnr*A5~ zsI%lK1ewqO;0TpLrT9v}!@vJK{QoVa_+N4FYT#h?Y8rS1S&-G+m$FNMP?(8N`MZP zels(*?kK{{^g9DOzkuZXJ2;SrOQsp9T$hwRB1(phw1c7`!Q!by?Q#YsSM#I12RhU{$Q+{xj83axHcftEc$mNJ8_T7A-BQc*k(sZ+~NsO~xAA zxnbb%dam_fZlHvW7fKXrB~F&jS<4FD2FqY?VG?ix*r~MDXCE^WQ|W|WM;gsIA4lQP zJ2hAK@CF*3*VqPr2eeg6GzWFlICi8S>nO>5HvWzyZTE)hlkdC_>pBej*>o0EOHR|) z$?};&I4+_?wvL*g#PJ9)!bc#9BJu1(*RdNEn>#Oxta(VWeM40ola<0aOe2kSS~{^P zDJBd}0L-P#O-CzX*%+$#v;(x%<*SPgAje=F{Zh-@ucd2DA(yC|N_|ocs*|-!H%wEw z@Q!>siv2W;C^^j^59OAX03&}&D*W4EjCvfi(ygcL#~t8XGa#|NPO+*M@Y-)ctFA@I z-p7npT1#5zOLo>7q?aZpCZ=iecn3QYklP;gF0bq@>oyBq94f6C=;Csw3PkZ|5q=(c zfs`aw?II0e(h=|7o&T+hq&m$; zBrE09Twxd9BJ2P+QPN}*OdZ-JZV7%av@OM7v!!NL8R;%WFq*?{9T3{ct@2EKgc8h) zMxoM$SaF#p<`65BwIDfmXG6+OiK0e)`I=!A3E`+K@61f}0e z!2a*FOaDrOe>U`q%K!QN`&=&0C~)CaL3R4VY(NDt{Xz(Xpqru5=r#uQN1L$Je1*dkdqQ*=lofQaN%lO!<5z9ZlHgxt|`THd>2 zsWfU$9=p;yLyJyM^t zS2w9w?Bpto`@H^xJpZDKR1@~^30Il6oFGfk5%g6w*C+VM)+%R@gfIwNprOV5{F^M2 zO?n3DEzpT+EoSV-%OdvZvNF+pDd-ZVZ&d8 zKeIyrrfPN=EcFRCPEDCVflX#3-)Ik_HCkL(ejmY8vzcf-MTA{oHk!R2*36`O68$7J zf}zJC+bbQk--9Xm!u#lgLvx8TXx2J258E5^*IZ(FXMpq$2LUUvhWQPs((z1+2{Op% z?J}9k5^N=z;7ja~zi8a_-exIqWUBJwohe#4QJ`|FF*$C{lM18z^#hX6!5B8KAkLUX ziP=oti-gpV(BsLD{0(3*dw}4JxK23Y7M{BeFPucw!sHpY&l%Ws4pSm`+~V7;bZ%Dx zeI)MK=4vC&5#;2MT7fS?^ch9?2;%<8Jlu-IB&N~gg8t;6S-#C@!NU{`p7M8@2iGc& zg|JPg%@gCoCQ&s6JvDU&`X2S<57f(k8nJ1wvBu{8r?;q3_kpZZ${?|( z+^)UvR33sjSd)aT!UPkA;ylO6{aE3MQa{g%Mcf$1KONcjO@&g5zPHWtzM1rYC{_K> zgQNcs<{&X{OA=cEWw5JGqpr0O>x*Tfak2PE9?FuWtz^DDNI}rwAaT0(bdo-<+SJ6A z&}S%boGMWIS0L}=S>|-#kRX;e^sUsotry(MjE|3_9duvfc|nwF#NHuM-w7ZU!5ei8 z6Mkf>2)WunY2eU@C-Uj-A zG(z0Tz2YoBk>zCz_9-)4a>T46$(~kF+Y{#sA9MWH%5z#zNoz)sdXq7ZR_+`RZ%0(q zC7&GyS_|BGHNFl8Xa%@>iWh%Gr?=J5<(!OEjauj5jyrA-QXBjn0OAhJJ9+v=!LK`` z@g(`^*84Q4jcDL`OA&ZV60djgwG`|bcD*i50O}Q{9_noRg|~?dj%VtKOnyRs$Uzqg z191aWoR^rDX#@iSq0n z?9Sg$WSRPqSeI<}&n1T3!6%Wj@5iw5`*`Btni~G=&;J+4`7g#OQTa>u`{4ZZ(c@s$ zK0y;ySOGD-UTjREKbru{QaS>HjN<2)R%Nn-TZiQ(Twe4p@-saNa3~p{?^V9Nixz@a zykPv~<@lu6-Ng9i$Lrk(xi2Tri3q=RW`BJYOPC;S0Yly%77c727Yj-d1vF!Fuk{Xh z)lMbA69y7*5ufET>P*gXQrxsW+ zz)*MbHZv*eJPEXYE<6g6_M7N%#%mR{#awV3i^PafNv(zyI)&bH?F}2s8_rR(6%!V4SOWlup`TKAb@ee>!9JKPM=&8g#BeYRH9FpFybxBXQI2|g}FGJfJ+ zY-*2hB?o{TVL;Wt_ek;AP5PBqfDR4@Z->_182W z{P@Mc27j6jE*9xG{R$>6_;i=y{qf(c`5w9fa*`rEzX6t!KJ(p1H|>J1pC-2zqWENF zmm=Z5B4u{cY2XYl(PfrInB*~WGWik3@1oRhiMOS|D;acnf-Bs(QCm#wR;@Vf!hOPJ zgjhDCfDj$HcyVLJ=AaTbQ{@vIv14LWWF$=i-BDoC11}V;2V8A`S>_x)vIq44-VB-v z*w-d}$G+Ql?En8j!~ZkCpQ$|cA0|+rrY>tiCeWxkRGPoarxlGU2?7%k#F693RHT24 z-?JsiXlT2PTqZqNb&sSc>$d;O4V@|b6VKSWQb~bUaWn1Cf0+K%`Q&Wc<>mQ>*iEGB zbZ;aYOotBZ{vH3y<0A*L0QVM|#rf*LIsGx(O*-7)r@yyBIzJnBFSKBUSl1e|8lxU* zzFL+YDVVkIuzFWeJ8AbgN&w(4-7zbiaMn{5!JQXu)SELk*CNL+Fro|2v|YO)1l15t zs(0^&EB6DPMyaqvY>=KL>)tEpsn;N5Q#yJj<9}ImL((SqErWN3Q=;tBO~ExTCs9hB z2E$7eN#5wX4<3m^5pdjm#5o>s#eS_Q^P)tm$@SawTqF*1dj_i#)3};JslbLKHXl_N z)Fxzf>FN)EK&Rz&*|6&%Hs-^f{V|+_vL1S;-1K-l$5xiC@}%uDuwHYhmsV?YcOUlk zOYkG5v2+`+UWqpn0aaaqrD3lYdh0*!L`3FAsNKu=Q!vJu?Yc8n|CoYyDo_`r0mPoo z8>XCo$W4>l(==h?2~PoRR*kEe)&IH{1sM41mO#-36`02m#nTX{r*r`Q5rZ2-sE|nA zhnn5T#s#v`52T5|?GNS`%HgS2;R(*|^egNPDzzH_z^W)-Q98~$#YAe)cEZ%vge965AS_am#DK#pjPRr-!^za8>`kksCAUj(Xr*1NW5~e zpypt_eJpD&4_bl_y?G%>^L}=>xAaV>KR6;^aBytqpiHe%!j;&MzI_>Sx7O%F%D*8s zSN}cS^<{iiK)=Ji`FpO#^zY!_|D)qeRNAtgmH)m;qC|mq^j(|hL`7uBz+ULUj37gj zksdbnU+LSVo35riSX_4z{UX=%n&}7s0{WuZYoSfwAP`8aKN9P@%e=~1`~1ASL-z%# zw>DO&ixr}c9%4InGc*_y42bdEk)ZdG7-mTu0bD@_vGAr*NcFoMW;@r?@LUhRI zCUJgHb`O?M3!w)|CPu~ej%fddw20lod?Ufp8Dmt0PbnA0J%KE^2~AIcnKP()025V> zG>noSM3$5Btmc$GZoyP^v1@Poz0FD(6YSTH@aD0}BXva?LphAiSz9f&Y(aDAzBnUh z?d2m``~{z;{}kZJ>a^wYI?ry(V9hIoh;|EFc0*-#*`$T0DRQ1;WsqInG;YPS+I4{g zJGpKk%%Sdc5xBa$Q^_I~(F97eqDO7AN3EN0u)PNBAb+n+ zWBTxQx^;O9o0`=g+Zrt_{lP!sgWZHW?8bLYS$;1a@&7w9rD9|Ge;Gb?sEjFoF9-6v z#!2)t{DMHZ2@0W*fCx;62d#;jouz`R5Y(t{BT=$N4yr^^o$ON8d{PQ=!O zX17^CrdM~7D-;ZrC!||<+FEOxI_WI3CA<35va%4v>gc zEX-@h8esj=a4szW7x{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1* znV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI z##W$P9M{B3c3Si9gw^jlPU-JqD~Cye;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP> zrp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ueg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{ zlB`9HUl-WWCG|<1XANN3JVAkRYvr5U4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvx zK%p23>M&=KTCgR!Ee8c?DAO2_R?B zkaqr6^BSP!8dHXxj%N1l+V$_%vzHjqvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rU zHfcog>kv3UZAEB*g7Er@t6CF8kHDmKTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B zZ+jjWgjJ!043F+&#_;D*mz%Q60=L9Ove|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw- z19qI#oB(RSNydn0t~;tAmK!P-d{b-@@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^8 z2zk8VXx|>#R^JCcWdBCy{0nPmYFOxN55#^-rlqobe0#L6)bi?E?SPymF*a5oDDeSd zO0gx?#KMoOd&G(2O@*W)HgX6y_aa6iMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H z`oa=g0SyiLd~BxAj2~l$zRSDHxvDs;I4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*( ze-417=bO2q{492SWrqDK+L3#ChUHtz*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEX zATx4K*hcO`sY$jk#jN5WD<=C3nvuVsRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_ zl3F^#f_rDu8l}l8qcAz0FFa)EAt32IUy_JLIhU_J^l~FRH&6-ivSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPm zZi-noqS!^Ftb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@ zfFGJtW3r>qV>1Z0r|L>7I3un^gcep$AAWfZHRvB|E*kktY$qQP_$YG60C@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn` zEgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czP zg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-&SFp;!k?uFayytV$8HPwuyELSXOs^27XvK-D zOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2S43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@ zK^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf z9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^&X%=?`6lCy~?`&WSWt z?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6VjA#>1f@EYiS8MRHZphp zMA_5`znM=pzUpBPO)pXGYpQ6gkine{6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ z<1SE2Edkfk9C!0t%}8Yio09^F`YGzpaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8p zT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{eSyybt)m<=zXoA^RALYG-2t zouH|L*BLvmm9cdMmn+KGopyR@4*=&0&4g|FLoreZOhRmh=)R0bg~ zT2(8V_q7~42-zvb)+y959OAv!V$u(O3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+ zMWQoJI_r$HxL5km1#6(e@{lK3Udc~n0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai< z6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF# zMnbr-f55(cTa^q4+#)=s+ThMaV~E`B8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg% zbOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$18Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9Sq zuGh<9<=AO&g6BZte6hn>Qmvv;Rt)*cJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapi zPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wB zxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5o}_(P;=!y-AjFrERh%8la!z6Fn@lR?^E~H12D?8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2 zwG1|5ikb^qHv&9hT8w83+yv&BQXOQyMVJSBL(Ky~p)gU3#%|blG?IR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-} z9?*x{y(`509qhCV*B47f2hLrGl^<@SuRGR!KwHei?!CM10Tq*YDIoBNyRuO*>3FU? zHjipIE#B~y3FSfOsMfj~F9PNr*H?0oHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R% zrq|ic4fzJ#USpTm;X7K+E%xsT_3VHKe?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>Jm ziU#?2^`>arnsl#)*R&nf_%>A+qwl%o{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVD zM8AI6MM2V*^_M^sQ0dmHu11fy^kOqXqzpr?K$`}BKWG`=Es(9&S@K@)ZjA{lj3ea7_MBP zk(|hBFRjHVMN!sNUkrB;(cTP)T97M$0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5 zI7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIo zIZSVls9kFGsTwvr4{T_LidcWtt$u{kJlW7moRaH6+A5hW&;;2O#$oKyEN8kx`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41Uw z`P+tft^E2B$domKT@|nNW`EHwyj>&}K;eDpe z1bNOh=fvIfk`&B61+S8ND<(KC%>y&?>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xo zaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$itm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H z?n6^}l{D``Me90`^o|q!olsF?UX3YSq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfw zR!gX_%AR=L3BFsf8LxI|K^J}deh0ZdV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z z-G6kzA01M?rba+G_mwNMQD1mbVbNTWmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bA zv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$ z8p_}t*XIOehezolNa-a2x0BS})Y9}&*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWK zDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~VCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjMsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3 z-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$)WL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>I zgy8p#i4GN{>#v=pFYUQT(g&b$OeTy-X_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6< znXs{W!bkP|s_YI*Yx%4stI`=ZO45IK6rBs`g7sP40ic}GZ58s?Mc$&i`kq_tfci>N zIHrC0H+Qpam1bNa=(`SRKjixBTtm&e`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_ z%7SUeH6=TrXt3J@js`4iDD0=IoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bUpX9ATD#moByY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOx zXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+pmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X z?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L z*&?(77!-=zvnCVW&kUcZMb6;2!83si518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j( ziTaS4HhQ)ldR=r)_7vYFUr%THE}cPF{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVA zdDZRybv?H|>`9f$AKVjFWJ=wegO7hOOIYCtd?Vj{EYLT*^gl35|HQ`R=ti+ADm{jyQE7K@kdjuqJhWVSks>b^ zxha88-h3s;%3_5b1TqFCPTxVjvuB5U>v=HyZ$?JSk+&I%)M7KE*wOg<)1-Iy)8-K! z^XpIt|0ibmk9RtMmlUd7#Ap3Q!q9N4atQy)TmrhrFhfx1DAN`^vq@Q_SRl|V z#lU<~n67$mT)NvHh`%als+G-)x1`Y%4Bp*6Un5Ri9h=_Db zA-AdP!f>f0m@~>7X#uBM?diI@)Egjuz@jXKvm zJo+==juc9_<;CqeRaU9_Mz@;3e=E4=6TK+c`|uu#pIqhSyNm`G(X)&)B`8q0RBv#> z`gGlw(Q=1Xmf55VHj%C#^1lpc>LY8kfA@|rlC1EA<1#`iuyNO z(=;irt{_&K=i4)^x%;U(Xv<)+o=dczC5H3W~+e|f~{*ucxj@{Yi-cw^MqYr3fN zF5D+~!wd$#al?UfMnz(@K#wn`_5na@rRr8XqN@&M&FGEC@`+OEv}sI1hw>Up0qAWf zL#e4~&oM;TVfjRE+10B_gFlLEP9?Q-dARr3xi6nQqnw>k-S;~b z;!0s2VS4}W8b&pGuK=7im+t(`nz@FnT#VD|!)eQNp-W6)@>aA+j~K*H{$G`y2|QHY z|Hmy+CR@#jWY4~)lr1qBJB_RfHJFfP<}pK5(#ZZGSqcpyS&}01LnTWk5fzmXMGHkJ zTP6L^B+uj;lmB_W<~4=${+v0>z31M!-_O@o-O9GyW)j_mjx}!0@br_LE-7SIuPP84 z;5=O(U*g_um0tyG|61N@d9lEuOeiRd+#NY^{nd5;-CVlw&Ap7J?qwM^?E29wvS}2d zbzar4Fz&RSR(-|s!Z6+za&Z zY#D<5q_JUktIzvL0)yq_kLWG6DO{ri=?c!y!f(Dk%G{8)k`Gym%j#!OgXVDD3;$&v@qy#ISJfp=Vm>pls@9-mapVQChAHHd-x+OGx)(*Yr zC1qDUTZ6mM(b_hi!TuFF2k#8uI2;kD70AQ&di$L*4P*Y-@p`jdm%_c3f)XhYD^6M8&#Y$ZpzQMcR|6nsH>b=*R_Von!$BTRj7yGCXokoAQ z&ANvx0-Epw`QIEPgI(^cS2f(Y85yV@ygI{ewyv5Frng)e}KCZF7JbR(&W618_dcEh(#+^zZFY;o<815<5sOHQdeax9_!PyM&;{P zkBa5xymca0#)c#tke@3KNEM8a_mT&1gm;p&&JlMGH(cL(b)BckgMQ^9&vRwj!~3@l zY?L5}=Jzr080OGKb|y`ee(+`flQg|!lo6>=H)X4`$Gz~hLmu2a%kYW_Uu8x09Pa0J zKZ`E$BKJ=2GPj_3l*TEcZ*uYRr<*J^#5pILTT;k_cgto1ZL-%slyc16J~OH-(RgDA z%;EjEnoUkZ&acS{Q8`{i6T5^nywgqQI5bDIymoa7CSZG|WWVk>GM9)zy*bNih|QIm z%0+(Nnc*a_xo;$=!HQYaapLms>J1ToyjtFByY`C2H1wT#178#4+|{H0BBqtCdd$L% z_3Hc60j@{t9~MjM@LBalR&6@>B;9?r<7J~F+WXyYu*y3?px*=8MAK@EA+jRX8{CG?GI-< z54?Dc9CAh>QTAvyOEm0^+x;r2BWX|{3$Y7)L5l*qVE*y0`7J>l2wCmW zL1?|a`pJ-l{fb_N;R(Z9UMiSj6pQjOvQ^%DvhIJF!+Th7jO2~1f1N+(-TyCFYQZYw z4)>7caf^Ki_KJ^Zx2JUb z&$3zJy!*+rCV4%jqwyuNY3j1ZEiltS0xTzd+=itTb;IPYpaf?8Y+RSdVdpacB(bVQ zC(JupLfFp8y43%PMj2}T|VS@%LVp>hv4Y!RPMF?pp8U_$xCJ)S zQx!69>bphNTIb9yn*_yfj{N%bY)t{L1cs8<8|!f$;UQ*}IN=2<6lA;x^(`8t?;+ST zh)z4qeYYgZkIy{$4x28O-pugO&gauRh3;lti9)9Pvw+^)0!h~%m&8Q!AKX%urEMnl z?yEz?g#ODn$UM`+Q#$Q!6|zsq_`dLO5YK-6bJM6ya>}H+vnW^h?o$z;V&wvuM$dR& zeEq;uUUh$XR`TWeC$$c&Jjau2it3#%J-y}Qm>nW*s?En?R&6w@sDXMEr#8~$=b(gk zwDC3)NtAP;M2BW_lL^5ShpK$D%@|BnD{=!Tq)o(5@z3i7Z){} zGr}Exom_qDO{kAVkZ*MbLNHE666Kina#D{&>Jy%~w7yX$oj;cYCd^p9zy z8*+wgSEcj$4{WxKmCF(5o7U4jqwEvO&dm1H#7z}%VXAbW&W24v-tS6N3}qrm1OnE)fUkoE8yMMn9S$?IswS88tQWm4#Oid#ckgr6 zRtHm!mfNl-`d>O*1~d7%;~n+{Rph6BBy^95zqI{K((E!iFQ+h*C3EsbxNo_aRm5gj zKYug($r*Q#W9`p%Bf{bi6;IY0v`pB^^qu)gbg9QHQ7 zWBj(a1YSu)~2RK8Pi#C>{DMlrqFb9e_RehEHyI{n?e3vL_}L>kYJC z_ly$$)zFi*SFyNrnOt(B*7E$??s67EO%DgoZL2XNk8iVx~X_)o++4oaK1M|ou73vA0K^503j@uuVmLcHH4ya-kOIDfM%5%(E z+Xpt~#7y2!KB&)PoyCA+$~DXqxPxxALy!g-O?<9+9KTk4Pgq4AIdUkl`1<1#j^cJg zgU3`0hkHj_jxV>`Y~%LAZl^3o0}`Sm@iw7kwff{M%VwtN)|~!p{AsfA6vB5UolF~d zHWS%*uBDt<9y!9v2Xe|au&1j&iR1HXCdyCjxSgG*L{wmTD4(NQ=mFjpa~xooc6kju z`~+d{j7$h-;HAB04H!Zscu^hZffL#9!p$)9>sRI|Yovm)g@F>ZnosF2EgkU3ln0bR zTA}|+E(tt)!SG)-bEJi_0m{l+(cAz^pi}`9=~n?y&;2eG;d9{M6nj>BHGn(KA2n|O zt}$=FPq!j`p&kQ8>cirSzkU0c08%8{^Qyqi-w2LoO8)^E7;;I1;HQ6B$u0nNaX2CY zSmfi)F`m94zL8>#zu;8|{aBui@RzRKBlP1&mfFxEC@%cjl?NBs`cr^nm){>;$g?rhKr$AO&6qV_Wbn^}5tfFBry^e1`%du2~o zs$~dN;S_#%iwwA_QvmMjh%Qo?0?rR~6liyN5Xmej8(*V9ym*T`xAhHih-v$7U}8=dfXi2i*aAB!xM(Xekg*ix@r|ymDw*{*s0?dlVys2e)z62u1 z+k3esbJE=-P5S$&KdFp+2H7_2e=}OKDrf( z9-207?6$@f4m4B+9E*e((Y89!q?zH|mz_vM>kp*HGXldO0Hg#!EtFhRuOm$u8e~a9 z5(roy7m$Kh+zjW6@zw{&20u?1f2uP&boD}$#Zy)4o&T;vyBoqFiF2t;*g=|1=)PxB z8eM3Mp=l_obbc?I^xyLz?4Y1YDWPa+nm;O<$Cn;@ane616`J9OO2r=rZr{I_Kizyc zP#^^WCdIEp*()rRT+*YZK>V@^Zs=ht32x>Kwe zab)@ZEffz;VM4{XA6e421^h~`ji5r%)B{wZu#hD}f3$y@L0JV9f3g{-RK!A?vBUA}${YF(vO4)@`6f1 z-A|}e#LN{)(eXloDnX4Vs7eH|<@{r#LodP@Nz--$Dg_Par%DCpu2>2jUnqy~|J?eZ zBG4FVsz_A+ibdwv>mLp>P!(t}E>$JGaK$R~;fb{O3($y1ssQQo|5M;^JqC?7qe|hg zu0ZOqeFcp?qVn&Qu7FQJ4hcFi&|nR!*j)MF#b}QO^lN%5)4p*D^H+B){n8%VPUzi! zDihoGcP71a6!ab`l^hK&*dYrVYzJ0)#}xVrp!e;lI!+x+bfCN0KXwUAPU9@#l7@0& QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 41dfb879..1af9e093 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index c53aefaa..1aa94a42 100644 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright 2015-2021 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; -# * expansions $var, ${var}, ${var:-default}, ${var+SET}, -# ${var#prefix}, ${var%suffix}, and $( cmd ); -# * compound commands having a testable exit status, especially case; -# * various built-in commands including command, set, and ulimit. +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +80,11 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ @@ -205,6 +214,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/gradlew.bat b/gradlew.bat index 107acd32..93e3f59f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/img/alert.png b/img/alert.png deleted file mode 100644 index c1d09b203cc33935edf4592eb1153beac49c2df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3148 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 NkSz*>Y_#%8{|`n_Ah7@d diff --git a/img/cloth_config_api.png b/img/cloth_config_api.png deleted file mode 100644 index ef57c67d8040a17c8159c77eaeeb0fb83c284e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22342 zcmcfpbyQUU7e0=TqN0Exh#*L)BLdP42m=gA4$>(Ng38bx(xD&{Lr4u>Lw8CeokMqb zgLK0^9LARH|a z=+^W5_kd4CB#c>sAGd6k;3A-W4AnaDpF0R)Sz!>UC>Z}z|1Jph;qQAfVU@4C+tYWy zKIs^^H-|^~U}tCNk(n1rf3IbFdYa7fzl&&R=MVVn&SBc`fLB%+ncn{0tHkS!>|gkI zihpGp+wL74fVEcE=V_EHKPzcEqv@12Nzg5dngnQZWlbY=CF4Wj-5?OvkKh48#%=UK zO~kR7v17P{v@vmj8f65 za>ka?hyBK{s+r2eZ!-niWT8v5r5?AC{kzArQmm*<#uz`ManpYSjM5?1lJcTU2aPDi zFcjPT6#TE9_ee(bg@pgWx9k9uy{_pAI z_3s0nZ|;sRHXOpqbV|^qniSyyyzB)3=iU5@qg2a$aB`iN$bH=QJnds9me7e?|8@UH z%&jDGle&kCT&vS^D_PrtfhGHY-_7xg#g}~Bq><%%0(=)OU1_Ei6Z?O@`zlsj61quS zg3>W#tXGs+E|xWBDE-%DL%+Dn#M}ID-3B8T-#aZI$yfUIu#^0szGCLR2KK3-){5G) z2K()iN=814tT_?BBKZHFjSI^B_F<(XRCh@HH3x!n{uSCdCg=XYujW8vFfJ(jCFEB+ zv9t5zYe4kau;*7m`yTOE9mpVUv2LljS}iIF`l>Ev34Kq6WKrdk74t0DmTZRNe^0%8!_ish zaAXt1>BQ`IefZPm;hu)^dT`ut2E)78&wq#J2}(h7`$)9Ph-mnH->78&pWTr5*xvW) z7_t42KXCD%RaurFPgC_I$^~Fk%1lwxQjpKj8rnls`}&9%8SP{2rv5wFALDY=SQSSx z=4(B%qf_8%HT2K^JSH#Wq$Ip-q!c8rPYGV?8zla}@sNQxh!lT3yaOa z6=M!Xq>W}$sPS0--C9Vg80=To{5%Dj{p{(z^U5)kZndm^C(;y~C)rk5^9}-iq)uV& z*q!e{*#(_upWkqa$P=AxbuOpHNWLOuCR;TU4}AL5<=>s4+|}voilHP6RpoKXlEnSD z_G7-@KK=@kxdt|gb~gn%Lk3-gO|VLv_b&`kF>Dby!f9=qu29DD}h4J^Z z(>JmaCS|<0{|%#1HX>(aN%Bou-T4Qz<>eewj!&&A+LhM}1pmHnc)P5!L8e$QNv3Y* z=iQb4r7k@`@PBtq zM)G(FBhxw;!X{xl&*+|#M{llfY)EXr-TuHN<~jHA8}PQ%_$W5rzP&|w$L178m0f>8 zf{=^I^|kvF83##AP^>5CmktRO=a=NI9Vny7_xqRiw?Ta?o1+CP<>B;a=jT?zq~_w{ z;mqujU^icxe}?bfZ69Mkc#y^SVVx(X3X^nq$8Za4rWQN~SBh>=Uso%a`H{j*QpQUy} zs8THN`Ve>B-P zi=();(mP}8*~>QjP$}@>KQPco*6|ac`haWEX_w<=Y+n;-cBneMLIJZvO-MZ^9<(`{ zWQ*vvA_7G-xqFLIbr9n`v%lpT^seYGC~0tWlr76GwzbqHs=WUL2od$-lOb}6eeNRw zEoBwVZh<5@3-x#=%9L-Q!XV6R%evcC>-6RBy*sRql#f839~jC(pjVVb_5ATLmlz0$ zUA)R}J?mX^O5D0~fv{~H@QSxM0ABO_jC1agp;plBv8TVc zsbWB&T%v!s73ew-Ht(e}Jb$-gSO6kq(L7w^a^5193gfza5=}2Z<2_V8`w@?tj|;G` z>a_mA7;(17%OWsw&=v|%^h=AHuUzf}GT9o{#Ff9JkNrqElt@ixvv7}Sc>|}Wrhb!y z8r~+2-3GC@Z=sZ}*El>;Vt&c_L!ZQG$o=uAjDx~8bddk(5+?wQ*N^NpUzxW!H5{O!|Fnu_e+dQOA zPEHPtYU!6-CWk*uA3+P5(TkEXlkqA@#AOBnBK_d#h|Y3%)o$^ed!pWwCtkqaPw1uI zdT~USTN^9Z@OrZR(lOJgd;uEE>(g&kIQ=`{W5Hq2oWx~3Fd&5P8u%N!Xf#r@9L^Ms zdy{QrK3#*HsXtl8+QqmBz_eI7zyI|*RajI)>B^VoH#|W;QE&j*2vDrkLwFnDgWeIp z6uY0TQ*lc*M={Z5snT`*B^Id6$rKvmb2Y`V^ogv*d$p}!Uf+k%I(#lcv! zbh4&aDn_v}k;j9GJUBa`uX5a_nXYmYt(-w$ob2=gW@Bx9uubUl*>^%}-bH(&i@~kv)`_A}*~kWYqur1WqgHniM8} zp#0ABIPW5(M^lC|;`Xk5v*=f}O$+Z}hIL6ffDFwsrJ+Z&MsH81xNHu^FxR=tKR(!< zFDYV5r4wF0?1`=oDG_=GF?njPUf~TfA4uyG`;~!N*@DX_2&DTQtoB99n#!KLa~dd9 zBYv};UR(?UNM(J_%gyfN4eP$@&SPhv2hSplt5=f+JeD)2oc6Of-Tv(9W1Zo*%GLHP z!H_PS%@uBB;K5qIXpEparz(S1Al6+?mgf#$y`%H{QQGtDgJK0HFUtfyQ2KfAw)4@( z6OWIU?>GQOr{|-+WnZl zm`>&?kN-%nW+Td7%YiDTP`}CMb#DOqOsQRmh-TT;Ab4KeP`)>xh8nh{tIeKxG|E-*5dyp*2S;fa#BPT_h>=pS)duTw>`4ZcGuc|JL5Ut z>HEiR1LtL3!&6klrrb%bvWMm)iv%Y=z`h*VM+X@1HI9>caJ(cOwirptG z1Prmdr+U=$!M5iT@`sNsKU7$ZiyfJ$m9ODMJRjkgL2>!V@MKA=6=<*Me)21@Z7HT3 zs&aA@1txb2^>|~{=AhN1T0*zp9dLbvr|0*OPk$bXe3Bpc0W@;`x2WRPj|wS7|2kdcbl?lVT4<4O4}ELEBC$&o zZ+`Bz5qoBvfdwB>NMb<&+rwuA!4S~Ji%q{Dg|F+Pts^hId3m}hQ>Qe8s78V<{!Yk) zZUK(@-6M;skdr1(<6=@Olzi^3r#yzd({)F)a!%zI&3$!;TkFc0?h>>0m(ErEsD8Rh8^@WmpA7bC>EdexdIUTH#1 znz^L#mGMGdsu0G4)AleHdKUF!--)tanH{K&QrvIr;cu}zIy#Jox$5DpI?mbJXuh6= zitiJS8^XyV9nkMifU%*v%l3Eox;GJl{Jlr=hDaWNZ8jgqh{&HJg%~m)%}a3+XY_`I zW)EkI+pe&svQA&zSZ|PdqQ(3kU7n;srpYn!Fd&@Eo3uy2Q8m5X>!kqzP1)MUsioyk z|87H_&KLs@c0v6rTE5{Pql;2;ZG)*6ez?@R(!`;!$wEIx%tFSRw{?v>-yb+J5sj%>D49mjj+Vwr4ceydKUctGV+a z;gmAq3ETU}>D|c;iYeA?o=+<8)C&6o-D`Gcq2Ompmx@p5jLd038T&^uh`$drnH4^E zF;EVn52m%ghv}rNaN#>B4>o1)ks*T%=muX6-u4{IT`cC+1UWTrDc`V!98k0J5K=q zwrDS{vy0`)%Lr{cw@ud>B-_q1 zDT|4_GFe~n;d0wh#~eOZPHcYWWDAf-z7rM3-6;1#LzeV#MrCU7QQy(#J+I%it`_=4@do*P7*MiaZrBuP?bNQ(3KatWI_&@=xA`-N4~H zI#MQGe-irsI`bYN)smy6w)Pm>e}M@X4Im|G)U56E%#y!j*IOF}k&Q z&T1SSI%`{~#kh5~WP>Nj(vEN_6C5<*cVppvL@iZ&L6}1NI?ybpaeN1#^^XjiYxL^k zgqKr3O)`{spm%mQ5p4BesMZzU65pwo*^F{x)&9F6SuYilv*~X1KF2zI4Z)MIx4Z@i zxXv(#@(-=uqsI+dTh#$_!bZ9l*Qy2WY;2@>MgHfpcbLDEjmP$$&SVDY{f7 z!RJivF2V153aJY6S=m=FJ=}g~V9bg{6mTC?a1e#u1gB#eAXb9lVCEv@< zk=XVP=MTO-f?^!>{GM`<_{`gzJNq591HdCaVG)7s1E|5v(+6p#?V)9|U+%PdVP8O^ zR^i8GFeK(r41RqQy}LyLjV1VkiTRcy5!8utm~Zr1l}t1p&9^#C#U)zW7KwhHS7T2G z(p1SxF^^wKpKBz}n#RiyIwd&>YDNp<)9@~k9WMB0xGb`K6hwg8)H*0iti0X%YVzE+4DS{h~88!f5B zUy)*i##e4TW-(s&N84>rs0O-vy~a*k_ai0;f%6J2p%^avw_mznA+DNu>Rr~X?g-JU zoCEj*c^E*WbK%GB$zof6(Rk8KIp+K@7NDgNa@46Ek0q2!B)GHWdZbDLoKoV*b7vLn z)fx!mtB+F_=%n6jJ-@C6K)Cf%bhG5hNpquz#^)f`+hdf7YPQQ7BJNcuX%(>Px!?5Z?+RY3Xy3i#x-40bg?4x5 z)Z@16{+1{tizo&sTrt?k5KMh?TbL;`ITOj&sTE++DSo8Y*<_iFr6-yIkha#m_bIMp zc}lYhuQV>}E(5kU_Y0N>uJ% zVXIkTexsYXJ~2aD+2Yp_YHu{{tFsxo=RIP+_{GeAmtnGvzjI{Q4L9&r@a?Zl|qg}bLFmY(p+Y$q_ z^&is7Y~&k9IvYe4VZlH;kpm76eA(>euI*296FTXLXOEfn@W z1OC}}Og$Iv9wi@?l%d14nM_tO>ip&Fft~*hMctMD@GB?h*@=xDI_0zjstoJ-dicLsFjH8*gHRxo+wqk z5v_X!pg!bbwbjgKRGI0Bg)mHkPBPjL?AFWxPABmO+q7PIn^{;`gmY^-9Emq$>93|p zH!g<-ne5R*D4lF%n2>ZGu;x~GFaX&G;*BsHw^i_!v8h;&7eesWx?My2U##N>2$5%ZxUWsera=FH{?@Z3EU$q2~ zR8YJUHWcC|=crOG5PpnVdQ>f+r;+DD8K$ll30~EUTL)juv>|EcyB%5r=nKZGY|dW7 zk6T*q3i-eI3M^RRt3Akz_hD%&B_DJ&s|;|4Er-H{QfA@kLbuB?j!2NF!|x^>&%uru zZvHQhy-g@8X|kTzmX=qW+Rc+6G$NT}Oi!!s>}}RN9mGHm=%m7PdV{M^s#Fpb< zfQ0nxPpa0zc0dNb=D2^3Of-tPgUWq2G6t)Bppou4WCDVu!q(@Sh zc2%?+;Ja$j2sY?vBil80@RLQm&MfC!0?4V1l}~q5!dbt?-6ltXZexi^DGJD!NWrQy z*L7Ft{ZkIaM00TBy9pvE{mbZNyMvX7m?dI_ff2I=+GuyQ+KTd7~BGR zI9ce<0-vBNZ1i@p{#}xL&?=X}o3hD19MvhhQC(rli=#CUuor+yRi66#06MtSdXz(D z4AyP`(#4w5&_W5ta@=wqe*Jl#o&^8}<%%g~QY~IC>t0u$N}WDC&>fOGD;vqv?S$PBTb5Lq z&9tM|IT0P%r1duLR6o5P-__F`o|idoir3U&2IjnAyd^cS-iKMI%?27j9=7%A-UCuq zlsTlDKM1!LXbQP8HhS$LiXKHrfTLy6s)~jjxLut`AZeftD8c;vd@8S!#^lzw?|T0< zgFleZx9_{wl(99JuXwdP6Fwbre!ky_*(dBDZj2-pD_==&6|S^fe_3YoAqoP$W<4je z-yM&Fn3J)@!AsKR=VTH*I#p6kxJ{I6zV217_BQ+d7_BVXKnA1>1O`(?*YD z!m1?Q`s5=8o*ZpKB&WY@IX06f9+|2Q9%g+)TT*`9NN)93-{moGypK8Tih+^aZ}vwS zH2ZbH{#4s67w@|Srw6R|S_M<_4yg+Q9L`j|W7Nh-b~{Q?r|KlbpruEs*=fK{OSVDRe+ioF=v6D&GahvD>=!kDG8N;j}hy?YSETq=r@&78XT ze}$#BVNBRfd+bZPsVb)+%8@*&#a3k6V20d4R}|Z+>0v66QR^Eo$uORo(oiYUgvM|h zhtF4+TmdXd2aqr7&ibU1;|z^?`z3|X=7mEisb2Ld|JS2^I-P0{sP!}|^71Z>iKFw~Pqe?gnF=7V6lsXJWO`^@$g!peTK)ME3C0E=}pCS)s7 z-rQt{3bP4tH*IQ<NdIQB6K9@9F&%aho=+8FN6U7u?0q(P`|I(sj|*HD4)ALRci}*xHTF? zIh-T)q>C(BsbxPW4;$YV8|zRC8Tt*0NdIM+>mcTZ0OtMAFIyjscQiezT z@(#esd;<~_jj-co?@?n)m`!wt@}Ym!=?{Ze|1Q+QS+%4!66C!Kkg`CoM=9XLHnc?E zAjiGv!DA3$(Lmx8rR!Nq2oAslD5uCJ^8G=*HPE-OztsdS5i+=n$>I<7A)-y7XZo<> z&pi^;E)N&F>-=z}4wl&(#uJ}hS2HYMcOCXRz9I%oq-76pTHX8W0uYNvW0@3afMI}K zyzmzbH2K4WMaj`)-S3XqMuwTl*V^a5#TlPCh8i4N^0-ZQXlV`^aTu-nS(DQFuMfsI zlV&+=-_QZ!)YPJOXL!!Xb_?6NXsWBa=MvQy52+;jQ*O@g<7kBfytc_y+Fisy=F0se zuz*1FZ0%rGKF*kagloJj)@;w}Uy=?;>YPNge%Kltvh=KhWNf`(YFEruoy5dxz!zTG zR3zhmf}R7>7mAA8uvjx~ylTjpQz6k^l)-GQa0&-I6?3=}ffmzs_VLHt(@iMB1=(W& zS(-Z^f@P~@xSTe$my@qfaPe-CyqBfQQG#*MD3JsYR?QhrC?O~IG4=F1ax}BR-&dFFNvj;<&-`7OYvK!qY z)Gt#;y6gD?>FuCIu5Wncj4iNoQCGJn1tVd0EE2y2EOVL)kTb(9eLY`#u{~B70l5M= zKjEu;1j+fZdt=RqlzT~n`khoJ6EzV-j9kl1Dk<0BBot5ow$glOC2XYTbERqt%DD=0 zLN#kXQ9NC0j|g@NTuy+n1wDl+x~bdQ+pAX0+`Cv@JGskK;Wt!^(A$`{jFt@qxZjXy ziQw3LcemuG@AJBzwAkq4zDU_d88i&Bvz4{9yW56xH-P+1X_4xy@nIS!MzMcTrw`%M zklGk_WRQ*H3>e7hZLhWYsneC-t1DwX_^hNlD*7#-;U%g6JiOy%aJ@gD`@^=y8-z1}`}gEitgnHJwxKAfF5Qy{ka>@rX# zD(meP{D|9O;kymH>{<{&(=Y`Srei!zm4Tyrn-kD;8 z=L^tqeZnYZE0!SlFTO9#yyIYx=-a{WNva5i3SCjnVplM?@eJlAKUum=1hUF*S3V#r zPuY?1Avvpn$DQY2vB%3>A24hz24Ab-OCmX>GFv2tO(}dFIMjd1R~d6ud$lu+`GE>fMqvY+KtLYoitQ zM%Bc=r|a~6N!I6ef6@<&q6w#t%sSH9}?@PkNd)!_=d?ER9Gvg2k%-jx9nWe zLvJg$6lA$owfYT<^A-!xT5b;}PZ>O|zFu(TQycpedRB$(d#m%&XmyZEqpe9in76p@ zWcP~k-GC0g-I~G%kqfxv@&Iq)kD&H%t2m8T079=};wSAcRvtQEo`w$445a=bT3eR3 z+&?->Ch8nz5c8Xp0Fd{G3fkaAc4E5sap4Os@<|qh%nmpuE!%;5wXW~U*%C5x0F7O3 zb;UXW<2pw#d|hX1RfTr`r?3foBQ9Q5O2MFWP7p32-uV$f7hnnoldh+sgK&W{|7n(> z=XGoaI<-=x1$wDkJOzW_a8K6uQgH#DUFH52bq1+5`B3&XycmFc&Ss4(41=0u3kH(~nj`)$smJdc2+h?Uuckg(AGwAX) zW{JtwVAlvp5Rok)vb;SzVw_xN^d_E-13qES`!x!D0Gwv_ATZX+CB<(U;F|*56MGS0 zZ7KF@_-C@Qzx_Y=(f{WzE0*6gZCz}4{Rb*-Tx+g)2QVxWcaU3M0kLen#c|2;^0uFy zh{$1pekrinbkzZ?Bte|Z#Fj-XrON<{4$v5mJdq=EsiB<=I|`8JEv!MsUQe;1J@)$l z`cdJtdHKR;$yW^)-?8^Rf9wFhgZ%|mh=V=D*z5oHj1W3vA`@(jzn8-}Z9doC8DF&e ztoJ!?_zNoq!o?VdknYvc;N8S3vm31EhQW&$W0;U=Euq5@&P#>?Mwug!^pSjJ5QF#O%&EHD{#5Iu`J#@UVch(Pk1W-W<{8rDy~;UnsVm_^w)OIL z_x64XeV3lIUs_`XWV5*qcXCtg1MVH3bs;cIQi*~kL%T5BS|C83C^wO0?Ys$aBU?@4bbr})XjgU_5^n1E=tX$W+M~+TuXCzP3y($K(2^%-0i2My zMZU$-MmkrWKXB5A!dYvN5h5&~XLjqY9eYLdCL9(BWV{SEi4@FGL@kl)3TER-7suVc z^oOQHFE{^ubD1)&xje&H^z!z}@HrI%K-NKr2`u)P=gT9<~~Sp65|tkEanU2MhfYWKcak!s!HY}|M` z5N#?=*rA3}m~11>!ujO|ul+crqL?M?1O?+d6q60ONwo|cM|MGTLxi*w^04ai4CgYY ze*fhFW=*39xP)8DUO3K5>m)R#t{tvBckj>igK@K*BL;>tM(a(I>AthC4p*b^O1k0V z8%~rOv%p)w-pm98fqoaoC1$l(Z>?sOLNk48v)a)ZE=xI_@^DiPketb2Q}kPn>&k6e zwm%|=O0;nKTu(tKn!Oh%v_>1@dqbJJs`kyd=MWikG^yuhOj$(6@`(Z~Gw-|x6U>wW zgOoE-WekJ2j@R^$d1Dl(e>?cJ22#l^OOdCe16Hls8g{Y3A$Dc)0D13tS2%v6LV;G- zyeChKXP7uZcbY%6K5;o?$$NW`&oL&3I~!d`_1ooy@Z?%DSNYcI__bU0TGJ1rI0|@R zxxWjO(ZO-gvlv19+ef>D4?Tka!m-qsVLY$H_n5c2?}2PRkR`WYo6|KJOu02(>GsQ| zVO+arPTX9JJKZ5Kwy(@o?Kh7RE9>bVe*HwT6Arv}vc{Sko-{lIw;`#Py1!}>=ssIvrV(Wr!j$Syg(%6VqtYr8mlje z=P$P*;?16{uvAKP57GHXO`$6^`dIH)hM0&niB z(PA2A9@35^zO@K}oO>F7{|hsH0!tKfOL22?u(`*Xt6B6N?D-CB?cc)`KAl|uqSAo> zllP`O905svHqGMuR497kV_vH9C~_V>tIyP;{D~{=0z~BFy}tOE1weW=lqAP}R45A{ zDz=Abt5@&ggMULGLm@M<>-A7u8GzGIC!y=IGOQY)!w)M6CPLV#WU2>g zmTfmvM2oCksbC$7`t&JB6LonX$x1g$%5t`Do&Yo_qQIS2ysyfK^pJg#&9Te17J3G&@NYl3z_D-`Edg3SedIJmxY z(PZ~{jX=sW$JDv5-$r~42GnPr#GX_JQqy~jKcFQEEV0`+-Ff>@auj#nMQ>)$37^V+ z^F<~Dv5KM)-Of1TIk)jdi~!!XY>~mUde^4SxNGd>8t?Lztp@JLI=5z}fd ze`)}-bFo_xEg$8DM|OU3)065+zkJ3dwA>jVwa-+9m|sxIGt}9b^k87oDGK!sihie2 zvbuCr=BkU3<)5RX!b)Qb@%AJfJ5nm+C^9qx97+v(K5S%=swDUXD6KG$Gb%2;0))6g zrVc`eejl5#&*-Bb>u@uWZ9kbMS1UnEpI;Z`;0>MuN*Ww|AcZ`)^c2m!w4c2l!yMMK zyk(E?53^b76iscF0m?N7tb(;yYZT0cpJPwWlgVlq8<2TVp2LMRa&{MLkZ%ON^Cm0zft~6?1d^FXRpuhN{|5Zv#)AuwRq<(y6+zb+UC7msf(2W4ys2!e4F@#4G0mr+X>b zXmMjjDoY8Cj;lOStaH7aCiv04KqFQ2aQ{o+Nx52qu9VAHZ0Z&6QSN#~hV({c*_O}L zy5v}>x^Jz$;B#0?8uy^JUTn!2_`;;bjidW{?3u=mp{Q?ghQ&=Mw1fq4np}o8MW)h0 ze25%Gf!C5o8ZTny@y)j0FM%ExpZ!@2JIJ+G8&s?O)+(^or};) z8ca`pDK2gEI%+JBU87h?ok;nT!6-swxl3O2|WGhd;V=c1C|5R;gx4B}!6KdL%jUFm7b=f~C zxjaFZ)wmxiQSU`0o0K)IM-Q8{$3_}A`xU`XO&aix(Q?0NDGVz64u&a+@VS z;&VKf+GvZLa#fx=5VSd+9Fifs)Xn>Yh&E|nbXo4E>`N@2MUifbipCKoJ+fx;O@fez z1bNNYMK=qJZe2({Ax!EssTLNdGjCN1Z${XxbT@@^_`hk1jLtqVA2ONDZ{qrV%6k;j zZMP2DM?i5E*(;2cCSNo>ui?-D6FjvYpz@zvrQZ0{!9#a z@ea^y|EA?xKHn_3q*|}gzj}j=YYT0<;0>dfQX$ov^Q^ppbaP!xi-_cQXte7Lhdx6fR|i@SHummu`fYb^4w-gq z%g#^GgSQ*jHIhAk^yp)|oc)8x_jcOvwi3t29IlW1KrWu+)b z=`vT_=M7NRkS=h~v7w??S+6;eQYugDZ5j|$*c51wPb>b<>2R>s)I!6UZb_6A&|yTY zthezH$B3;pAdBV8p%wMbHAAj_oNRg|SF0opd?gi?-_Rc{fKR?Ci5zB%viW>*ygex% zK#oBJZs@A7dGGGQDkiDpF?_H-UQ=;c3O!V2zB$@)adN7$)~C-Hd+W!m|BdZav(|t@ za+3l;rt;#9%TWnQ0V2<(Zo!}HIg70X%LHcAE%>@rP(tfn{#|=t$Q6(i?(Huip_gk6 zb=TT5dNU7X0*zJa$5K%khdl=s$teMWwo&bnbv5sTH1wm8AsydFrxH$^qW7M zBvvY5iCuca0>Cj_(o!t=N}J6YEok42yPp0QFN^LRhW@|b!Yzc=>D>Q3S@{WHr_$96 z0&PyYwt!s>0*5_QBcNO*_ba14|9Q@xd)ONb3i$VE| zblXF7)$6{4udW{$;?47@W{=KGBFl2rtnQ?@14Wa7^8*+Jtc^(mxGQKFJpr(AC9dNy zkxT8-j7&Xo)#3i6EFCam=@53}qa7YG7+f+PaESdt6a~fCJfXQVI?ojsE-zhQqSn=^ zSrQVyrV-{g1;q8-+-6g8uVoTsr6Vnq=$PIPq-EI-dn5v-lY5AcWyxm{fE7c|)H(H_ z+-dF#K=E{k);M?vEO!&Ask|7oKjgF!zx#(`H~^jhl4JsVvWV>+PQar`ZKOZVQp!Mw zrqU|{$}Md2%qx%Eqyq{%jvda4v?eVjWmLwU{OnK0Vi-~nSLlh^;5L(h7_z1O&tNk+ z#Qi4acc4Q5?M}MB$W#lv`h!AP=SEUP0mYYAIsI$fc0VFSTGM z?KEDD+jl)I%nkVY=*4aL{^?m4EelQx&c#x`rAdD_%!lyPHN)rB*DSK`4O}fhKf!s6 z^Fv;k-?Ui6R^3gmOr;c6 zN0D`Wjd#D|Pf@hXA!Ymj0+^QHRaG{xg6nZ=Z&lF233pc|>q&0HQ)N&k)`oR_N0c^c zvl;TV>)xYKOm16COS#9TVb6+O#GBE%t={a>?6y#<>pG;O+4fXX1Q>b^)Ct7`F?pofo3MOYLt}^G#-|9``o3bPUVRbdh@Cj5un3>$c5q?s{X3 ztYpwt+EHm-mL|8kGaHb08GE<|QDCvU<&7=0VQ%#c&Ff7R><4r@P#lUVrj?co0d1&1y#*YCVijx+Coe$PK(pr~EZ(MslDz*n0Jl$VErS0C3K3Lv|ctE-M%X8Xg|6C64lrLGYs0+ZBw$11WiO3L|SMTd* zbc|~XZJ)d zlL3DdBlU0G#*GY`Wg-|SrG?y-7fr1;hKbjVA3QHFm-AqQ`>wzwEMf*X*AGlIGe}mGyma zbH}WC2X=w9@6y2zH6s02RhG{-=4IOVpCs0wX{gw*X^S2Nbc^J8wr(FuhrekGr2?t| zm)k2}Nrp$qlpDcKd3I79sH-TIjJy{AIk*U}tePx|SpoM$Pw=OBK5LcQ1eJWS?{NlD zCZzanLe=QH24%N9Lw)oK*)TeKDe{W9xcnjtcK7HgR*edUiOjg}AZ3Xu$FUau9-=Nh zamLlio#Ww=5L*d=M-ez7EqgUZQG$I_l`0jKmBaijabP)XupVaIx<$w3G5_YM&_GR% z=b8XCs85+J7A;}KCj++A1-OP#=bgakBb;`dPa3NRk5+D3BR6Gw{VKKR>P-fzD5-6M- z$$4KgqLSxpE(ea|wxpnwHM#CZLrc>8yq!vT2isr>3razomxyEdG1n`tuvZ#*F)+0Y z)&L1va5w6JO)BJXhN1>JIUdE!J3a(Y!hmAjtOQH?{DqeHV}OH>z!!mE+5&;#Oc5n$aUv&US8On)SSEhH@GI~%~Cs=CTM7c3k=i^+m zb8M+KQT_$&R#>vVF64F!1Y^k}J`0jUC>&{4N_UQBjv#Q`iblNtGlTaybZvq~}mb^q*(muFu7P5W5OJWspW6Wms2 zK!KUM&Hm&cCI>XxHm^qe!9Rc`7byY1V~n1en|#efvcX)S3M)zO$#|vcYyskx+WXDi zJ3>Ox*gL0Zos(wo{7A$_i(1s+9NxTbNjw$pHL? z0f!UqxDMN`HDTlu0Hcx4UyGRy<&=j#{NueS^QQxQnU8^*`F{^n7*RKbT z82lGU3ZEvQe8j=Uo7{wIZI0y5wHN(VTp7$j+TQ!GN{N{jTcO%vJG04b&OT?J^HrI} zp9Qth8eCxU%`#^}`m&@WX2xmtSQe0qW|LlO{^so&i+or(XkgmH*_J4B+T;HvfcLiN ztS}Z1MbQ`F!fkpII8cD5iWks3X1*B6P<_Iz{vAB|s^n1(F#YiJsY=^e@RdQUUrVS{ znuR%G{gX!@ull)do#Odr6NNnHyZ3%_XMz4Au%>yzpbaTX0WqAHq2c(F=aFc!kzB?p zlgO8VqzM&*amdeHQjMnr^%u5jv*Qr@j#+t+Tdq6ZjL5?-6h9Gs#rnZK)!=<|FP7YA zkWqk7hT71Wjxw*_2LZ_&gFDBWE5DWf%5wPab(9ibhhROqNNO zB3qaUld(0Hv5lp%WeZb7vObkHS+X_uZICR{m?B#ld&s^QX?TbfMwY>QhI&8mpYQ#r z+nnRfeY?)NuIu;vmJ9oSQx5un8BuJQ}h@ zc0Z-qHv@`McV|`)b*U&0sM?OppqFY_z%dMz}+DlkxB4$fknLS8(#cqM>X zj$jUNiQ&`l1XXU3()T2aC$B^6xlWPDUxP6?#X3gj|IH`&a&!or2V%{WCu=9$Q6*m z=8DDT7RKN_tn2gTJ*+LdnYIFM^W^Hkv&=O!_yW^Mvk|1CY6j$sM^<7Q??P~6> z)%cBo3Q*LG289 zW*?wn4D=L(W~^oLN48U{{3g#GtIABuq=5&yt=9qk7rcMNMY`Lg+!eUgI>p>yb&dUb z2zqcq@iM5k3`$Ht6sltd-dM^=8K^iEN4I8xs=l9F<_AL1n(Px#D%llVBd^d%Vry+P`FxTDvh(Cn zJ`iVrj2B&#c{urk(ipqw+%||59S`~8)NwKK=ovGxr!h-EIU3wwX);u5HT9wVoK8}j zW7h!LHMugMD^SL@+1`TG@N5nvDJcn&LA&8CX0LqqSzYUNU8ZeRGR42ko&3x={&tZR z{cpi(3xog4bQGd}UheBXJ86s|+@1tWpw1E9dD6iAnL!W}-T6uL}z7&rF^F6>+p4i`_6nCGsSP;M-szvdqM z+lc;m`59~aOK({oanm8pt&vE%#a(Kv>SgyHeV=UMbNWvcfa0Q);Gpd5V$k;wwe~H? z8DAsrC+FUNSIirMQ!Ni;8siw~e$IQv(| z<%u#wHvDasw`pwAOp~V=RqXhAc{hEa^~wV>Gh9r7m_-c)2znxf5Yg{dqKRs`Gjj0D z6|qhzhTWm6s_nB2+`0Fwaj7~_*M)1KgneXT&h0{Nl2jc0LA_QUK5w;?Hs%LuT_PIcv0#dA)+c!y5hXJ1Jo485_&n$D4-yk3{Pe$H z&OrS8e%0f(Y8v0S=e1F8+T&*$lS-s*kA;KEiWyx%D1Rg$nHVZlg)TJ%NEF7?e#-?{ zQ=cF4i`}%9kn4Fl$XxeKRaEYWSv3x7QgmV0^M)VvQ*5`@%gE5ff(RCNo+)d)h#m^C zDfZ?NzZK#JQXopYCw9WA5GhoOh(T(>?dF?#qTUthYo?-RuY?DQjJmXp@AB;H1(0to z^EMc(GvzXxtZ(DRytpfexsR;diRzjnYANsDf!;o~J5~zpyz>@BaA5AChrHiqDzW`Ve zp7&wwnxmR(mnq>~@pZ%R2u9~4fKjN3dXR@}aFp8H7`#G$G~1oQ5b-E5d*0ql`2u(< z{p#uRs?m~xdW-BOuBJn~TKIQQQ~3$AQ$kzMMh|pR--q0}`>h$zPymf)DBr&tBcO5) zsAK4S^}H(g4@aIBl>~%1kQnuc&FK;<3=;}_)@2$njEdgl_WH*|z{I=x_2R~69TX0S zFPrS>fqvQhOyPXPko<6l9N>5akV+e;q*ia)fZo!;`_5K9DSO2wJlfq<%I1ckoS<^x zRYCga6-52?7xlP=vObfIlhA5SjX2BF!tO^Jm-U@`^{Vu4u&H?|IH9%E=sg6aQ1QBGRMaO-tBlpBF8 zSP?<@4^aG#KRU9rv%{}F4dTu&r(#^g5QCAzxQ2PXjKl0RHOpyA(n-@BuSEB8N=(CH zpg)5<*Le!%=F8fQ8-MGQ{F`yK^<(|#wdg!w$w-OkqNAS>AWSkY?-@`X<=0*@gIK<1 zwo|6e6>-LwVeL5Vb}rYn7h z0ZIXH0XglLQm!1c8`rLZ1Q{IvVER9v21X76eJczA&t&!&G@{TAdul1z>>xPB`AY6XT>!h#44TL8*KOy*EQCU>>geRlJ1%U>e;=g z(}G&$M+E=G`G%bd5&)wCvJB%Yw(Bf%a0$T1^7)%=W86B8Qi5#7h7#KB=040F`!j7) zAwt6ndlZF;xIe!eD8^XjTnXm*K}Q?|t#+UGpGLBj)uh1wh#g1q;d{Ry8-mcsKxqBD z+sYNfQRva3h8vP_8yiML!s_jP!f(o06rR>DT*=8r3s=+FmKBkvcT4T9t4V|}bU{}P z00>f)Nbbl2gVVFWC$I~z&IKJKm($oR2QUNOK?7D8Cy`y&tI8U>ys@!?8VVZ2_U%6% z>8L_^jfu1KN0lY>u1*+^+NE<=oqqcV$KHq220$u4H{5fLk(B{OR;ZtZ zV_C0qB368O&bMBI{5NqDnS<$qb$)qVgl&q{1G`E#okbbuUVT`sW`Bet& zU8>TIx(@h8SwP41(`hfz1gmV(H)H_3Dz5u2IMXhk0wMe?1L>nu_Uj9a6cBMvb(2z* zklD1B&DK1u&JDIwLOb!M?LL)mGQklRf`b)@{|l)}flSX?;+ z_<5wAnA0opzf{L-{c2PO&~IKS{#oVpBSX)K&sllBpZ?sBHt2^7R|#AqjErr;>fiZN z4KdDWo5bH3JZaP~$gEQ9g_Jcz)4<%^c49*B4bQzvgLAoQ`moZV5BblBxf4En*5hC~ zq@h1x%;}?eeXdeJ*&dABA2p;}I7<2AmW0?5lO`d^gsrg7wzZ127AoM~7J zHS~1~@GvJBH`N5hc`v@dth2a(^Cdhdg9~aAbHFG7L#NXf5*qs&Ym;z)5N(WVbB0pQCg&Oa@f9{#=&cKIsuJvp87ME z+9z@My543n%|V_@1Z%1!xegUs`m9|Of_ajVq_w)g5nLBydqF^^mO;$B2Lui+J*>IEqV=|_|; ucbzmMPRw|#Ia?#WXu4Gv33E-ydv=*ZlyW8v0*?|I>(V%%Y!FkWSb}3 zC`p!#CC1EPvae$|gV}!5`^Wpw`~Um?^WM+re$G9gbMCq4o_o$c=OozQv=kLNB?16| zsI`^30|0>dOAsJ@fDhas{1fmS3wN+I1uA=G7Wjx@poy&s0DMe7#P;6L#}D4Oat#N7 zBZS`*bZ!6ba{wULZ*6Yk7!9M3iAFfiSHy>XZc$s-0qPwYT2f0mWr8}s)tfKoilKDfEMd44_{sM>J`B+++H zTwpJ1LDowvf8@x^m&t<&DY6Yr6?6ZXdUoa+*ZC}b1C7wSeu9SgSc zX)6nA)LJhjkAHBjk+@5$+*Y#9I#-HCHSnGz!;-C|A?-#1-bFfSF5Byva)_A0+T%(e zbOG%yCIfJ}%$zEzHn2`FJ~xI*_q(tlzg3;u>GyX*vDxs4a?GV;z+ZIMWcu?@Q1(C% zb@|&;NFIBxLH81T)K@@?>D-&`6@_Xla&_)UjgyR!>7&d|j|N#*G&#O-XWhiX&8@tg z-A_jzLk)hLZ64_RsS#S+tU}GAOurs(uC9Y82W!)Xjzm%mHA_NUrFhOxC|G(Wt7X*p zB`--A{O-k=XFT^qo)nj9q-V>Bi0pjmdp*v?e#^J;y}dXfD=Yh1%03GUg)YZTeS6*T zQkFcf8Y5D*^Ubbnm_+S?eSs`l+=K3!xvq08CjF~ZuNLhUtQ1vqhe&i4v>UIF!S^CdR3U-8mxck!P(@w#tIqAU8HP=Rv{cI(&ChufSEo zyiw|Vo?)!Jj%hep%gKpdZ8*~1X&9g<@V#K?$y=?d$YC&6Q}u?`Fl1)vHg5UjyFk08 zA8~8$U<%VE6syktleU)QnaC>`((KwKpxor#IUmMIw?S888NsXFo3rEv?qK#(NOltU zVSA_tvJ;NzpLC8nmETPx8j@D#Y7&n20$+fUriV2i0>wUEX)2$GS5XJnM8jdY!M)R% z@zb?(_{rEq(?9SHen^kE%?B=yv?OykF6obv76?+D!dUD(f9y#(OFi?G!_~{2w~mTZ z&%xzUn#7GLuIh)bl^-k5lH%He*?3l!{3p1oheF$()k)m^9nKgn7pg`FlR1k)u*9O6A zI$N6DH=<9-SENUB31o4WOSIlGmrZo&B4T;U@xBP~YdVXnH&an5*9gJ7oUG0A$#YSZ zwmT6}Z=j+*h?1l)Y2M-N9kAP0+$tj^?Lc?J+U0W&jNC#+%v_8WHEteEd@Kmq{|yV5 z!(N`-g1(!1pT?e-5B*4|l$>WYBjNg!<$uz;3e4yzcN$x~&mz&2xotL|a6Zq9P2HHG zr1yoRbGb|N;MT#%6Z7CR9Ko9)`wg4f<6ax&m^(yXNsKG)NCOu&e7ssczytDEh^!y& zwObVV9^d^)H>+c#?(Q7yl2c6+Nj|xdG4(tsDChwPA52bNA|3{mO-(Js)o1gc)uQTd zauzRybekDc-$9fh4+Y&;!fn_ioa;#3fbM7K-`CxVK-d;?9 z`*C#N;vi2z8%S$%$OO&T08#2qLq>79$V`ZmV&(-5L{FUz!OD_#uGD^?vcsiZ3JaLF4CxRQ#&~P^R5-kvhSOf^EC_Zg31yV-s949uXihL@b^Pp@CghLrZ?>?d zb#8=0wexw9Giuy9EE-n%@1zL$&4!$I0APGHf|9p>X`pXZgPNs3JrrWQ0d2bpAN}OE zcq*zZbTPZQsHR&As)c+fg>+w!dyz4TjttLj@=4FjlRKGf-PtbRVlIc8*3v)LHw9gr zi0~wpJ5`*j+K~hS$Gd;}eLEgVIlL?>Y39EkRcaF&>f|sp6Od*%l45jzKO5uU}Wn(bkA^UwGBh&_I#mg%b_W z^XaeEQ5FDT(I-;fR!+7mHs9-sfN^}<24{UU(-dp-IeLjpv0E5&}o~ znx-P1pb=h4u%yioFmK^XyQ3WB4JX3ht*(CU2m;FZ4P7T zTDhr9UX^w%xOd04EcBK)%YwCtNm9E|sh&@g`%?TX`ts#q@ty2`+=TouBfe9oeiF-{ zm2oq#pM>nkWKM2duCE;-1Yay7okp^G6tBIOYX4G$CZFOh#x|v#jYJ}=xy5w@Ly=ZV zjIHlC0;p?*{9Qq03UNmIb-IG(;Da?Qtc+f2Z}SSeoSgtkmyXn4#x?zm`0d2O%|W6| z7ufl{9*W#x$uD0mq?zHE;Xwba^aFqYVsuKC{fZ>&2Cw+m3UvJi@>8fin{mkFj6#U; zi3z-xZn$lgYdiqF%$K~%ebs-dB_{2a_EHT|MjrHQe1xa3U1Lk6 zOF``d*yn4!m)&wL7^{L>{cMTdCK%^6`H);&9~T(&UAYR+45%)Qnh&UpwxwceRjrPh zyap6f-q?^tLWLo_yH$NyrxNt!>u=9aM-2-^5K-v39I=g8Ea331m<;5hnT z1K8Ao(S-I}^C|cafATv>wA$~AIKyZB>l$9?CGKpk1l7ubm4`gqm_llr}-uJ zHpGCh4n>oqb5?Em-@>7*oM-bAlJyp({ro2r_O1x>rrKN{WDX@i3*8M-H9B93vtx>| zX8WB&w|Pc+)Zy0#<0NU6*{MaH?g@s{LNHu>jD(2&ITz9}v0o5+^#v-?qDCz zTOul0lzYipby6&K^uxDl{;@N?u`3v@IY?@kciXb98NXDy9ryt=ArH1lf|R9@U@eY* zw!Xo_BVLoI02`0@?gG)tP-U{&IPF??;fGS;=pOqL@RLYk__5Pw#Bwu*|1A}T@{ zRw?|~HSfs@;(d(*YtaujKeWP7C{Pv#Jq{PdqSgSklo%+gmEGNeK_pSOTlQjNll!q-OyS?Q91V;L=Fx+^$#l=IbZGY=yZE@4Q($wqee*k8?oj3ph diff --git a/img/darkmode/tab.png b/img/darkmode/tab.png deleted file mode 100644 index aff7c3a629f87eba856f5644207bc8529b42a95e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1145 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

*slBRU8+kadZ1k@ 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 diff --git a/img/logo.png b/img/logo.png deleted file mode 100644 index 4ddb84f549f9e207e4b027f3c836b7bbd8fb6728..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179292 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

dTg=#vAt~E~EN5PXN<#;A*NK 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 EX_SCREEN = Registry - .register(Registries.SCREEN_HANDLER, new Identifier(ExAPI.MODID, "ex_screen"), ExScreenFactory.type()); - - // Sound events for level up and SP spend - public static final SoundEvent LEVEL_UP_SOUND = SoundEvent.of(new Identifier(ExAPI.MODID, "level_up")); - public static final SoundEvent SP_SPEND_SOUND = SoundEvent.of(new Identifier(ExAPI.MODID, "sp_spend")); - - @Override - public void onInitialize() { - // Register the configuration class - AutoConfig.register(ConfigImpl.class, GsonConfigSerializer::new); - - // Register networking receivers for custom network packets - ServerLoginNetworking.registerGlobalReceiver(NetworkFactory.CONFIG, NetworkFactory::loginQueryResponse); - ServerPlayNetworking.registerGlobalReceiver(NetworkFactory.SCREEN, NetworkFactory::switchScreen); - ServerPlayNetworking.registerGlobalReceiver(NetworkFactory.MODIFY, NetworkFactory::modifyAttributes); - - // Register custom commands - CommandRegistrationCallback.EVENT.register(CommandsImpl::register); - - // Register event listeners for various server events - ServerLoginConnectionEvents.QUERY_START.register(NetworkFactory::loginQueryStart); - ServerLifecycleEvents.SERVER_STARTING.register(EventFactory::serverStarting); - ServerPlayerEvents.COPY_FROM.register(EventFactory::reset); - - // Register LivingEntity events - LivingEntityEvents.ON_HEAL.register(EventFactory::healed); - LivingEntityEvents.EVERY_SECOND.register(EventFactory::healthRegeneration); - LivingEntityEvents.ON_DAMAGE.register(EventFactory::onDamage); - LivingEntityEvents.SHOULD_DAMAGE.register(EventFactory::shouldDamage); - - // Register PlayerEntity events - PlayerEntityEvents.ON_CRIT.register(EventFactory::onCritAttack); - PlayerEntityEvents.SHOULD_CRIT.register(EventFactory::attackIsCrit); - - // Register attribute modification events - EntityAttributeModifiedEvents.CLAMPED.register(EventFactory::clamped); - - // Register damage modifications, refund conditions, and placeholders - DamageFactory.STORE.forEach(ExAPI::registerDamageModification); - RefundFactory.STORE.forEach(ExAPI::registerRefundCondition); - PlaceholderFactory.STORE.forEach(Placeholders::register); - - // Register custom sound events - Registry.register(Registries.SOUND_EVENT, LEVEL_UP_SOUND.getId(), LEVEL_UP_SOUND); - Registry.register(Registries.SOUND_EVENT, SP_SPEND_SOUND.getId(), SP_SPEND_SOUND); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/EntityAttributeSupplier.java b/src/main/java/com/github/clevernucleus/playerex/api/EntityAttributeSupplier.java deleted file mode 100644 index b4e32e5c..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/EntityAttributeSupplier.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; - -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.util.Identifier; - -/** - * Dedicated Supplier class to pass dynamic attribute references. - * - * @author CleverNucleus - * - */ -public final class EntityAttributeSupplier implements Supplier { - private final Identifier identifier; - - private EntityAttributeSupplier(final Identifier identifier) { - this.identifier = identifier; - } - - /** - * @param registryKey EntityAttribute registry key. - * @return - */ - public static EntityAttributeSupplier of(final Identifier registryKey) { - return new EntityAttributeSupplier(registryKey); - } - - /** - * @return The registry key. - */ - public Identifier getId() { - return this.identifier; - } - - @Override - public EntityAttribute get() { - return DataAttributesAPI.getAttribute(this.identifier).get(); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/ExAPI.java b/src/main/java/com/github/clevernucleus/playerex/api/ExAPI.java deleted file mode 100644 index f0767dc0..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/ExAPI.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import java.util.Collection; -import java.util.UUID; -import java.util.function.BiFunction; - -import com.github.clevernucleus.opc_dc.api.CacheableValue; -import com.github.clevernucleus.opc_dc.api.OfflinePlayerCache; -import com.github.clevernucleus.playerex.api.damage.DamageFunction; -import com.github.clevernucleus.playerex.api.damage.DamagePredicate; - -import dev.onyxstudios.cca.api.v3.component.ComponentKey; -import dev.onyxstudios.cca.api.v3.component.ComponentRegistry; -import me.shedaniel.autoconfig.AutoConfig; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.util.Identifier; - -/** - * Main API access for the PlayerEx API package. - * - * @author CleverNucleus - * - */ -public final class ExAPI { - - /** The PlayerEx mod Id */ - public static final String MODID = "playerex"; - /** Round value to integer property attached to some attributes. */ - public static final String INTEGER_PROPERTY = "integer"; - /** Multiply value by property and append % symbol. */ - public static final String PERCENTAGE_PROPERTY = "percentage"; - /** Multiply value by property. */ - public static final String MULTIPLIER_PROPERTY = "multiplier"; - /** The UUID PlayerEx modifiers use. */ - public static final UUID PLAYEREX_MODIFIER_ID = UUID.fromString("0f320cdd-8b2e-47a6-917e-adca8f899495"); - /** The CacheableValue key to access player's level. */ - public static final CacheableValue LEVEL_VALUE = OfflinePlayerCache - .register(new com.github.clevernucleus.playerex.impl.LevelValue()); - /** The Cardinal Components Key for PlayerEx player data. */ - public static final ComponentKey PLAYER_DATA = ComponentRegistry - .getOrCreate(new Identifier(MODID, "player_data"), PlayerData.class); - /** The Cardinal Components Key for PlayerEx experience data. */ - public static final ComponentKey EXPERIENCE_DATA = ComponentRegistry - .getOrCreate(new Identifier(MODID, "experience_data"), ExperienceData.class); - - public static final EntityAttributeSupplier LEVEL = define("level"); - public static final EntityAttributeSupplier CONSTITUTION = define("constitution"); - public static final EntityAttributeSupplier STRENGTH = define("strength"); - public static final EntityAttributeSupplier DEXTERITY = define("dexterity"); - public static final EntityAttributeSupplier INTELLIGENCE = define("intelligence"); - public static final EntityAttributeSupplier LUCKINESS = define("luckiness"); - public static final EntityAttributeSupplier EVASION = define("evasion"); - public static final EntityAttributeSupplier LIFESTEAL = define("lifesteal"); - public static final EntityAttributeSupplier HEALTH_REGENERATION = define("health_regeneration"); - public static final EntityAttributeSupplier HEAL_AMPLIFICATION = define("heal_amplification"); - public static final EntityAttributeSupplier MELEE_CRIT_DAMAGE = define("melee_crit_damage"); - public static final EntityAttributeSupplier MELEE_CRIT_CHANCE = define("melee_crit_chance"); - public static final EntityAttributeSupplier RANGED_CRIT_DAMAGE = define("ranged_crit_damage"); - public static final EntityAttributeSupplier RANGED_CRIT_CHANCE = define("ranged_crit_chance"); - public static final EntityAttributeSupplier FIRE_RESISTANCE = define("fire_resistance"); - public static final EntityAttributeSupplier FREEZE_RESISTANCE = define("freeze_resistance"); - public static final EntityAttributeSupplier LIGHTNING_RESISTANCE = define("lightning_resistance"); - public static final EntityAttributeSupplier POISON_RESISTANCE = define("poison_resistance"); - public static final EntityAttributeSupplier WITHER_RESISTANCE = define("wither_resistance"); - /** Implemented for the player only. */ - public static final EntityAttributeSupplier BREAKING_SPEED = define("breaking_speed"); - /** - * If JamieWhiteShirt reach-entity-attributes exist then this accesses the reach - * distance attribute. - */ - public static final EntityAttributeSupplier REACH_DISTANCE = EntityAttributeSupplier - .of(new Identifier("reach-entity-attributes:reach")); - /** - * If JamieWhiteShirt reach-entity-attributes exist then this accesses the - * attack range attribute. - */ - public static final EntityAttributeSupplier ATTACK_RANGE = EntityAttributeSupplier - .of(new Identifier("reach-entity-attributes:attack_range")); - - /** - * PlayerEx config access. Yes I know, AutoConfig on the server too?? Ewww. It - * works it is fine. - */ - public static ExConfig getConfig() { - return AutoConfig.getConfigHolder(com.github.clevernucleus.playerex.config.ConfigImpl.class).get(); - } - - /** - * Registers a damage modification condition that is applied to living entities - * under specific circumstances. - * - * @param predicate Using the incoming damage conditions, determines whether the - * damage modification function - * should be applied. - * @param function Using the incoming damage conditions, modifies the incoming - * damage before it actually damages. - */ - public static void registerDamageModification(final DamagePredicate predicate, final DamageFunction function) { - com.github.clevernucleus.playerex.impl.DamageModificationImpl.add(predicate, function); - } - - /** - * Registers a refund condition. Refund conditions tell the game what can be - * refunded and what the maximum number of - * refund points are for a given circumstance. - * - * @param refundCondition - */ - public static void registerRefundCondition(final BiFunction refundCondition) { - com.github.clevernucleus.playerex.impl.RefundConditionImpl.add(refundCondition); - } - - /** - * @return Returns all the registered refund conditions. Note that while this is - * mutable and backed by the original registry, - * you should avoid modification and treat as read-only! - * @since 3.5.0 - */ - public static Collection> getRefundConditions() { - return com.github.clevernucleus.playerex.impl.RefundConditionImpl.get(); - } - - private static EntityAttributeSupplier define(final String path) { - return EntityAttributeSupplier.of(new Identifier(MODID, path)); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/ExConfig.java b/src/main/java/com/github/clevernucleus/playerex/api/ExConfig.java deleted file mode 100644 index 7689ec57..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/ExConfig.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import net.minecraft.entity.player.PlayerEntity; - -/** - * PlayerEx config access. - * - * @author CleverNucleus - * - */ -public interface ExConfig { - - /** - * Requires world restart. Server option, synced to Client. - * @return 100: resets all PlayerEx modifiers to their defaults; 0: no change to PlayerEx - * modifiers; else: percentage of skill points kept. - */ - int resetOnDeath(); - - /** - * Requires world restart. Server option, synced to Client. - * @return true: the PlayerEx attributes gui cannot be accessed; false: it can be accessed. - */ - boolean isAttributesGuiDisabled(); - - /** - * Requires world restart. Server option, synced to Client. - * @return The number of Skill Points received upon levelling up. - */ - int skillPointsPerLevelUp(); - - /** - * Dependent on Level Formula option. Requires world restart. Server option, synced to Client. - * @param player - * @return The number of vanilla experience levels to level up. - */ - int requiredXp(final PlayerEntity player); - - /** - * @return The number of ticks taken for a chunk to restore the experience negation factor. - */ - int restorativeForceTicks(); - - /** - * @return The restorative force multiplier. - */ - float restorativeForceMultiplier(); - - /** - * @return The multiplier for experience negation. - */ - float expNegationFactor(); - - /** - * Client option. - * @return 0 - 1.5. Volume multiplier for level up event. - */ - float levelUpVolume(); - - /** - * Client option. - * @return 0 - 1.5. Volume multiplier for skill up event. - */ - float skillUpVolume(); - - /** - * Client option. - * @return 0 - 2. Pitch multiplier for skill up event. - */ - float skillUpPitch(); - - /** - * Client option. - * @return true if inventory tabs are disabled; else false. - */ - boolean disableInventoryTabs(); - - /** - * Client option. - * @return 0 - 0.75. Size multiplier for PlayerEx gui text in the x-axis. - */ - float textScaleX(); - - /** - * Client option. - * @return 0 - 0.75. Size multiplier for PlayerEx gui text in the y-axis. - */ - float textScaleY(); - - /** - * Client option. - * @return If nameplates have been enabled by the server, this determines for the client the height offset. - */ - float levelNameplateHeight(); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/ExperienceData.java b/src/main/java/com/github/clevernucleus/playerex/api/ExperienceData.java deleted file mode 100644 index 9afa9cac..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/ExperienceData.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import dev.onyxstudios.cca.api.v3.component.tick.ServerTickingComponent; - -public interface ExperienceData extends ServerTickingComponent { - boolean updateExperienceNegationFactor(final int amount); - void resetExperienceNegationFactor(); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/PacketType.java b/src/main/java/com/github/clevernucleus/playerex/api/PacketType.java deleted file mode 100644 index 32619ee9..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/PacketType.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import java.util.Map; - -import com.github.clevernucleus.dataattributes_dc.api.util.Maths; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.network.ServerPlayerEntity; - -/** - * Holds four PacketTypes that tell the server what to do with the incoming - * client-sent modify attributes packet. - * - * @author CleverNucleus - * - */ -public enum PacketType { - /** - * Does nothing extra - just allows the server to modify PlayerEx's attribute - * modifiers. - */ - DEFAULT((byte) 0, (server, player, data) -> true), - /** - * Only allows modification if the player's experience levels are greater than - * or equal to the required xp to level up. - * Also removes those experience levels from the player and adds 1 skill point. - */ - LEVEL((byte) 1, PacketType::level), - /** - * Only allows modification if the player's skill points are greater than or - * equal to 1. - * Also subtracts one skill points from the player. - */ - SKILL((byte) 2, PacketType::skill), - /** - * Only allows modification if the player's refund points are greater than or - * equal to 1. - * Also subtracts one refund points and adds one skill point. - */ - REFUND((byte) 3, PacketType::refund); - - private static final Map TYPES = Maths.enumLookupMap(PacketType.values(), v -> v.id()); - private final byte id; - private final PacketFunction function; - - private PacketType(final byte id, PacketFunction function) { - this.id = id; - this.function = function; - } - - private static boolean level(final MinecraftServer server, final ServerPlayerEntity player, final PlayerData data) { - ExConfig config = ExAPI.getConfig(); - int requiredXp = config.requiredXp(player); - int skillPoint = config.skillPointsPerLevelUp(); - - if (player.experienceLevel >= requiredXp) { - player.addExperienceLevels(-requiredXp); - data.addSkillPoints(skillPoint); - return true; - } else { - return false; - } - } - - private static boolean skill(final MinecraftServer server, final ServerPlayerEntity player, final PlayerData data) { - if (data.skillPoints() >= 1) { - data.addSkillPoints(-1); - return true; - } else { - return false; - } - } - - private static boolean refund(final MinecraftServer server, final ServerPlayerEntity player, - final PlayerData data) { - if (data.refundPoints() >= 1) { - data.addRefundPoints(-1); - data.addSkillPoints(1); - return true; - } else { - return false; - } - } - - /** - * Gets the correct PacketType from the input. Or {@link #DEFAULT}. - * - * @param id - * @return - */ - public static PacketType fromId(final byte id) { - return TYPES.getOrDefault(id, DEFAULT); - } - - /** - * @return The PacketType's byte id. - */ - public byte id() { - return this.id; - } - - /** - * - * @param server - * @param player - * @param data - * @return - */ - public boolean test(final MinecraftServer server, final ServerPlayerEntity player, final PlayerData data) { - return this.function.apply(server, player, data); - } - - @Override - public String toString() { - return String.valueOf(this.id); - } - - @FunctionalInterface - public static interface PacketFunction { - boolean apply(final MinecraftServer server, final ServerPlayerEntity player, final PlayerData playerData); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/PlayerData.java b/src/main/java/com/github/clevernucleus/playerex/api/PlayerData.java deleted file mode 100644 index 21d369ae..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/PlayerData.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.github.clevernucleus.playerex.api; - -import dev.onyxstudios.cca.api.v3.component.Component; - -/** - * Cardinal Components PlayerEx component interface. Used to access and change PlayerEx's attribute modifiers. - * - * @author CleverNucleus - * - */ -public interface PlayerData extends Component { - - /** - * @param attributeIn - * @return the cached attribute modifier value, or 0 if it doesn't exist. - */ - double get(final EntityAttributeSupplier attributeIn); - - /** - * Sets the attribute modifier value for this attribute, and creates it if it doesn't exist. - * @param attributeIn - * @param valueIn - */ - void set(final EntityAttributeSupplier attributeIn, final double valueIn); - - /** - * Combination of {@link #get(EntityAttribute)} and {@link #set(EntityAttribute, double)}. - * @param attributeIn - * @param valueIn - */ - void add(final EntityAttributeSupplier attributeIn, final double valueIn); - - /** - * Removes the attribute modifier if it exists. - * @param attributeIn - */ - void remove(final EntityAttributeSupplier attributeIn); - - /** - * Resets all data (including attribute modifiers) to their defaults - for modifiers this means removing them and deleting the cache. - * @param percent of skill points remaining. - */ - void reset(int percent); - - /** - * Adds skill points to the player. - * @param pointsIn - */ - void addSkillPoints(final int pointsIn); - - /** - * Adds refund points to the player. - * @param pointsIn - * @return - */ - int addRefundPoints(final int pointsIn); - - /** - * @return Current skill points. - */ - int skillPoints(); - - /** - * @return Current refund points. - */ - int refundPoints(); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/client/ClientUtil.java b/src/main/java/com/github/clevernucleus/playerex/api/client/ClientUtil.java deleted file mode 100644 index 3f463b42..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/client/ClientUtil.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.github.clevernucleus.playerex.api.client; - -import java.text.DecimalFormat; -import java.util.List; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.attribute.FunctionBehaviour; -import com.github.clevernucleus.dataattributes_dc.api.attribute.IAttributeFunction; -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttribute; -import com.github.clevernucleus.dataattributes_dc.api.util.Maths; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PacketType; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -@Environment(EnvType.CLIENT) -public final class ClientUtil { - /** Format for two decimal places. */ - public static final DecimalFormat FORMATTING_2 = new DecimalFormat("###.##"); - /** Format for three decimal places. */ - public static final DecimalFormat FORMATTING_3 = new DecimalFormat("###.###"); - - /** - * Takes the input attribute and looks for the {@link ExAPI#PERCENTAGE_PROPERTY} - * property; if present, multiplies the input - * value by the property's multiplier. If not, then looks for the - * {@link ExAPI#MULTIPLIER_PROPERTY} property; if present, - * multiplies the input value by the property's multiplier. Else returns the - * input value. - * - * @param attributeIn - * @param valueIn - * @return - */ - public static double displayValue(final Supplier attributeIn, double valueIn) { - IEntityAttribute attribute = (IEntityAttribute) attributeIn.get(); - - if (attribute == null) - return valueIn; - if (attribute.hasProperty(ExAPI.PERCENTAGE_PROPERTY)) - return valueIn * Maths.parse(attribute.getProperty(ExAPI.PERCENTAGE_PROPERTY)); - if (attribute.hasProperty(ExAPI.MULTIPLIER_PROPERTY)) - return valueIn * Maths.parse(attribute.getProperty(ExAPI.MULTIPLIER_PROPERTY)); - return valueIn; - } - - /** - * If the input value is positive, adds the "+" prefix. If the input attribute - * has the {@link ExAPI#PERCENTAGE_PROPERTY} - * property or the input FunctionBehaviour is - * {@link FunctionBehaviour#MULTIPLY}, appends the "%" suffix. - * - * @param attributeIn - * @param behaviourIn - * @param valueIn - * @return - * @since 3.5.0 - */ - public static String formatValue(final Supplier attributeIn, FunctionBehaviour behaviourIn, - double valueIn) { - String value = FORMATTING_3.format(valueIn); - - if (valueIn > 0.0D) { - value = "+" + value; - } - - IEntityAttribute attribute = (IEntityAttribute) attributeIn.get(); - - if (attribute == null) - return value; - if (attribute.hasProperty(ExAPI.PERCENTAGE_PROPERTY) || behaviourIn == FunctionBehaviour.MULTIPLY) { - value = value + "%"; - } - - return value; - } - - /** - * Looks at the input attribute's functions, and if there are any, formats them - * and adds them to the input list as tooltips. - * - * @param tooltip - * @param attributeIn - */ - public static void appendChildrenToTooltip(List tooltip, final Supplier attributeIn) { - IEntityAttribute attribute = (IEntityAttribute) attributeIn.get(); - - if (attribute == null) - return; - - for (var child : attribute.children().entrySet()) { - IEntityAttribute attribute2 = child.getKey(); - IAttributeFunction function = child.getValue(); - double value = function.value() * ((function.behaviour() == FunctionBehaviour.MULTIPLY - && !attribute2.hasProperty(ExAPI.MULTIPLIER_PROPERTY) - && !attribute2.hasProperty(ExAPI.PERCENTAGE_PROPERTY)) ? 100.0D : 1.0D); - double displ = displayValue(() -> (EntityAttribute) attribute2, value); - String formt = formatValue(() -> (EntityAttribute) attribute2, function.behaviour(), displ); - MutableText mutableText = Text.literal(formt + " "); - mutableText.append(Text.translatable(((EntityAttribute) attribute2).getTranslationKey())); - tooltip.add(mutableText.formatted(Formatting.GRAY)); - } - } - - /** - * Client-side. Sends a packet to the server to modify the attribute modifiers - * provided by PlayerEx by the input amount, - * and perform the checks and functions dictated by the PacketType. - * - * @param type - * @param consumers - */ - @SafeVarargs - public static void modifyAttributes(final PacketType type, - Consumer>... consumers) { - if (consumers != null) { - PacketType packetId = type == null ? PacketType.DEFAULT : type; - com.github.clevernucleus.playerex.client.factory.NetworkFactoryClient.modifyAttributes(packetId, consumers); - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/client/PageLayer.java b/src/main/java/com/github/clevernucleus/playerex/api/client/PageLayer.java deleted file mode 100644 index 31e79888..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/client/PageLayer.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.github.clevernucleus.playerex.api.client; - -import java.util.List; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.gui.tooltip.TooltipPositioner; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.text.OrderedText; -import net.minecraft.text.Text; - -/** - * This is a page layer. By registering these with - * {@link PageRegistry#registerLayer(net.minecraft.util.Identifier, Builder)}, - * one can add to any pre-existing page. It should be noted, this is essentially - * a fully fledged HandledScreen to offer - * unlimited rendering utility. - * - * @author CleverNucleus - * - */ -@Environment(EnvType.CLIENT) -public abstract class PageLayer extends HandledScreen { - protected final HandledScreen parent; - - /** - * - * @param parent - * @param handler - * @param inventory - * @param title - */ - public PageLayer(HandledScreen parent, ScreenHandler handler, PlayerInventory inventory, Text title) { - super(handler, inventory, title); - - this.parent = parent; - } - - /** - * This is where text and tooltips can be rendered, in that order. - */ - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - } - - /** - * This is where textures and widgets can be rendered, in that order. - */ - @Override - public void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { - } - - @Override - public void setTooltip(List tooltip, TooltipPositioner positioner, boolean focused) { - } - - @FunctionalInterface - public interface Builder { - - /** - * - * @param parent - * @param handler - * @param inv - * @param text - * @return - */ - PageLayer build(HandledScreen parent, ScreenHandler handler, PlayerInventory inv, Text text); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/client/PageRegistry.java b/src/main/java/com/github/clevernucleus/playerex/api/client/PageRegistry.java deleted file mode 100644 index 8bbdb241..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/client/PageRegistry.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.github.clevernucleus.playerex.api.client; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -/** - * This is where pages and pagelayers are registered. - * - * @author CleverNucleus - * - */ -@Environment(EnvType.CLIENT) -public final class PageRegistry { - - /** - * Registers a page and tab to the PlayerEx screen. - * @param pageId unique - should be modid:name. - * @param texture the location of the background texture for the page. - * @param title the title of the page. - * @param icon the page's tab icon. - */ - public static void registerPage(final Identifier pageId, final Identifier icon, final Identifier texture, final Text title) { - com.github.clevernucleus.playerex.client.PageRegistryImpl.addPage(pageId, icon, texture, title); - } - - /** - * Registers a page and tab, but with the default background. - * @param pageId - * @param title - * @param icon - */ - public static void registerPage(final Identifier pageId, final Identifier icon, final Text title) { - com.github.clevernucleus.playerex.client.PageRegistryImpl.addPage(pageId, icon, title); - } - - /** - * Registers a page layer to a page of the same input pageId. - * @param pageId - * @param builder - */ - public static void registerLayer(final Identifier pageId, PageLayer.Builder builder) { - com.github.clevernucleus.playerex.client.PageRegistryImpl.addLayer(pageId, builder); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/client/RenderComponent.java b/src/main/java/com/github/clevernucleus/playerex/api/client/RenderComponent.java deleted file mode 100644 index 6b4a1542..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/client/RenderComponent.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.github.clevernucleus.playerex.api.client; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Function; -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.text.Text; - -/** - * - * Utility wrapper object to allow static creation of lazily loaded text. - * - * @author CleverNucleus - * - */ -@Environment(EnvType.CLIENT) -public final class RenderComponent { - private final Function text; - private final Function> tooltip; - private final int dx, dy; - - private RenderComponent(final Function functionIn, - final Function> tooltipIn, final int dx, final int dy) { - this.text = functionIn; - this.tooltip = tooltipIn; - this.dx = dx; - this.dy = dy; - } - - /** - * - * @param functionIn display text. - * @param tooltipIn tooltip text. - * @param dx x position - * @param dy y position. - * @return - */ - public static RenderComponent of(final Function functionIn, - final Function> tooltipIn, final int dx, final int dy) { - return new RenderComponent(functionIn, tooltipIn, dx, dy); - } - - /** - * - * @param attributeIn the text (and therefore tooltip) only display if the - * player has this attribute and it is not null (i.e. - * registered to the game). - * @param functionIn display text. - * @param tooltipIn tooltip text. - * @param dx x position - * @param dy y position - * @return - */ - public static RenderComponent of(final Supplier attributeIn, - final Function functionIn, final Function> tooltipIn, final int dx, - final int dy) { - return new RenderComponent( - livingEntity -> DataAttributesAPI.ifPresent(livingEntity, attributeIn, Text.empty(), functionIn), - livingEntity -> DataAttributesAPI.ifPresent(livingEntity, attributeIn, new ArrayList(), - tooltipIn), - dx, dy); - } - - private boolean isMouseOver(float xIn, float yIn, float widthIn, float heightIn, int mouseX, int mouseY) { - return mouseX >= (float) xIn && mouseY >= (float) yIn && mouseX < (float) (xIn + widthIn) - && mouseY < (float) (yIn + heightIn); - } - - /** - * - * @param livingEntity - * @param ctx - * @param textRenderer - * @param x - * @param y - * @param scaleX - * @param scaleY - */ - public void renderText(LivingEntity livingEntity, DrawContext ctx, TextRenderer textRenderer, int x, int y, - float scaleX, float scaleY) { - ctx.drawText(textRenderer, this.text.apply(livingEntity), (int) ((x + this.dx) / scaleX), - (int) ((y + this.dy) / scaleY), 4210752, false); - } - - /** - * - * @param livingEntity - * @param consumer - * @param ctx - * @param textRenderer - * @param x - * @param y - * @param mouseX - * @param mouseY - * @param scaleX - * @param scaleY - */ - public void drawTooltip(LivingEntity livingEntity, DrawTooltip consumer, DrawContext ctx, - TextRenderer textRenderer, int x, int y, int mouseX, int mouseY, float scaleX, float scaleY) { - if (this.isMouseOver(x + this.dx, y + this.dy, textRenderer.getWidth(this.text.apply(livingEntity)) * scaleX, 7, - mouseX, mouseY)) { - consumer.drawTooltip(textRenderer, this.tooltip.apply(livingEntity), mouseX, mouseY); - } - } - - @FunctionalInterface - public interface DrawTooltip { - - /** - * - * @param textRenderer - * @param tooltip - * @param mouseX - * @param mouseY - */ - void drawTooltip(TextRenderer textRenderer, List tooltip, int mouseX, int mouseY); - } -} \ No newline at end of file diff --git a/src/main/java/com/github/clevernucleus/playerex/api/damage/DamageFunction.java b/src/main/java/com/github/clevernucleus/playerex/api/damage/DamageFunction.java deleted file mode 100644 index 7953dd1e..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/damage/DamageFunction.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.github.clevernucleus.playerex.api.damage; - -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.damage.DamageSource; - -/** - * Basically just a dedicated TriFunction - * - * @author CleverNucleus - * - */ -@FunctionalInterface -public interface DamageFunction { - - /** - * Using the input conditions, modifies the incoming damage (either reducing or increasing it) and returns the result. - * @param livingEntity - * @param source - * @param damage - * @return - */ - float apply(final LivingEntity livingEntity, final DamageSource source, final float damage); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/damage/DamagePredicate.java b/src/main/java/com/github/clevernucleus/playerex/api/damage/DamagePredicate.java deleted file mode 100644 index a6f71506..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/damage/DamagePredicate.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.github.clevernucleus.playerex.api.damage; - -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.damage.DamageSource; - -/** -* Basically just a dedicated TriFunction -* -* @author CleverNucleus -* -*/ -@FunctionalInterface -public interface DamagePredicate { - - /** - * Determines, using the input conditions, whether to apply the DamageFunction to the incoming damage of the LivingEntity. - * @param livingEntity - * @param source - * @param damage - * @return - */ - boolean test(final LivingEntity livingEntity, final DamageSource source, final float damage); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/event/LivingEntityEvents.java b/src/main/java/com/github/clevernucleus/playerex/api/event/LivingEntityEvents.java deleted file mode 100644 index 6b13cb1c..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/event/LivingEntityEvents.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.github.clevernucleus.playerex.api.event; - -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.damage.DamageSource; - -/** - * Some useful hooks exposed mainly for compatibility purposes. - * - * @author CleverNucleus - * - */ -public final class LivingEntityEvents { - - /** - * Fired before {@link LivingEntity#heal(float)}; allows the amount healed to be modified before healing happens. - * Setting the output to 0 is an unreliable way to negate incoming damage depending on other mods installed. Instead, use {@link LivingEntityEvents#SHOUL_HEAL}. - */ - public static final Event ON_HEAL = EventFactory.createArrayBacked(Healed.class, callbacks -> (livingEntity, original) -> { - float previous = original; - - for(Healed callback : callbacks) { - previous = callback.onHeal(livingEntity, previous); - } - - return previous; - }); - - /** - * Fired at the start of {@link LivingEntity#heal(float)}, but before healing is applied. Can return false to cancel all healing, or true to allow it. - */ - public static final Event SHOULD_HEAL = EventFactory.createArrayBacked(Heal.class, callbacks -> (livingEntity, original) -> { - for(Heal callback : callbacks) { - if(!callback.shouldHeal(livingEntity, original)) return false; - } - - return true; - }); - - /** - * Fired once at the end of {@link LivingEntity#tick()}, every 20 ticks (1 second). - */ - public static final Event EVERY_SECOND = EventFactory.createArrayBacked(Tick.class, callbacks -> livingEntity -> { - for(Tick callback : callbacks) { - callback.everySecond(livingEntity); - } - }); - - /** - * Fired before {@link LivingEntity#damage(DamageSource, float)}; allows the amount of damage to be modified before it is used in any way. - * Can be used to perform logic prior to the damage method, and can return the original damage to avoid modifying the value. - * The original value is the incoming damage, followed by the result of this event by any previous registries. - * Setting the output to 0 is an unreliable way to negate incoming damage depending on other mods installed. Instead, use {@link LivingEntityEvents#SHOUL_DAMAGE}. - */ - public static final Event ON_DAMAGE = EventFactory.createArrayBacked(Damaged.class, callbacks -> (livingEntity, source, original) -> { - float previous = original; - - for(Damaged callback : callbacks) { - previous = callback.onDamage(livingEntity, source, previous); - } - - return previous; - }); - - /** - * Fired after: - *

- * {@link LivingEntity#isInvulnerableTo()}, - *

- *

- * {@link net.minecraft.world.World#isClient}, - *

- *

- * {@link LivingEntity#isDead()}, - *

- *

- * ({@link DamageSource#isFire()} && {@link LivingEntity#hasStatusEffect(net.minecraft.entity.effect.StatusEffect)} for Fire Resistance) - *

- *

- * and {@link LivingEntity#isSleeping()} - *

- *

- * is checked, but before all other logic is performed. Can be used to cancel the method and prevent damage from being taken by returning false. - * Returning true allows the logic to continue. - */ - public static final Event SHOULD_DAMAGE = EventFactory.createArrayBacked(Damage.class, callbacks -> (livingEntity, source, original) -> { - for(Damage callback : callbacks) { - if(!callback.shouldDamage(livingEntity, source, original)) return false; - } - - return true; - }); - - @FunctionalInterface - public interface Healed { - float onHeal(final LivingEntity livingEntity, final float original); - } - - @FunctionalInterface - public interface Heal { - boolean shouldHeal(final LivingEntity livingEntity, final float original); - } - - @FunctionalInterface - public interface Tick { - void everySecond(final LivingEntity livingEntity); - } - - @FunctionalInterface - public interface Damaged { - float onDamage(final LivingEntity livingEntity, final DamageSource source, final float original); - } - - @FunctionalInterface - public interface Damage { - boolean shouldDamage(final LivingEntity livingEntity, final DamageSource source, final float original); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/api/event/PlayerEntityEvents.java b/src/main/java/com/github/clevernucleus/playerex/api/event/PlayerEntityEvents.java deleted file mode 100644 index 76a10fbd..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/api/event/PlayerEntityEvents.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.github.clevernucleus.playerex.api.event; - -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.PlayerEntity; - -/** - * Some useful hooks into player gameplay exposed for compatibility. - * - * @author CleverNucleus - * - */ -public final class PlayerEntityEvents { - - /** - * Fired if the player lands a critical hit. The result is the damage. - */ - public static final Event ON_CRIT = EventFactory.createArrayBacked(AttackCritDamage.class, callbacks -> (player, target, amount) -> { - float previous = amount; - - for(AttackCritDamage callback : callbacks) { - previous = callback.onCrit(player, target, previous); - } - - return previous; - }); - - /** - * Fired when determining if the player's attack is critical. Return true if it is critical, return false if it is not. - */ - public static final Event SHOULD_CRIT = EventFactory.createArrayBacked(AttackCritBoolean.class, callbacks -> (player, target, vanilla) -> { - for(AttackCritBoolean callback : callbacks) { - if(callback.shouldCrit(player, target, vanilla)) return true; - } - - return false; - }); - - @FunctionalInterface - public interface AttackCritDamage { - float onCrit(final PlayerEntity player, final Entity target, final float amount); - } - - @FunctionalInterface - public interface AttackCritBoolean { - boolean shouldCrit(final PlayerEntity player, final Entity target, final boolean vanilla); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/PageRegistryImpl.java b/src/main/java/com/github/clevernucleus/playerex/client/PageRegistryImpl.java deleted file mode 100644 index 236a9e5e..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/PageRegistryImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.github.clevernucleus.playerex.client; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Supplier; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.client.PageLayer; -import com.github.clevernucleus.playerex.client.gui.Page; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -@Environment(EnvType.CLIENT) -public final class PageRegistryImpl { - private static final Map> PAGES = new HashMap>(); - private static final Multimap LAYERS = ArrayListMultimap.create(); - private static final Identifier BLANK = new Identifier(ExAPI.MODID, "textures/gui/blank.png"); - - public static void addPage(final Identifier pageId, final Identifier icon, final Identifier texture, final Text title) { - PAGES.putIfAbsent(pageId, () -> new Page(pageId, texture, title)); - } - - public static void addPage(final Identifier pageId, final Identifier icon, final Text title) { - PAGES.putIfAbsent(pageId, () -> new Page(pageId, icon, title)); - } - - public static void addLayer(final Identifier pageId, PageLayer.Builder builder) { - LAYERS.put(pageId, builder); - } - - public static Map> pages() { - return PAGES; - } - - public static Page findPage(final Identifier pageId) { - return PAGES.getOrDefault(pageId, () -> new Page(pageId, BLANK, Text.empty())).get(); - } - - public static Collection findPageLayers(final Identifier pageId) { - return LAYERS.get(pageId); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/PlayerExClient.java b/src/main/java/com/github/clevernucleus/playerex/client/PlayerExClient.java deleted file mode 100644 index 1c89ab08..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/PlayerExClient.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.github.clevernucleus.playerex.client; - -import org.lwjgl.glfw.GLFW; - -import com.github.clevernucleus.playerex.PlayerEx; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.client.PageRegistry; -import com.github.clevernucleus.playerex.client.factory.EventFactoryClient; -import com.github.clevernucleus.playerex.client.factory.NetworkFactoryClient; -import com.github.clevernucleus.playerex.client.gui.AttributesPageLayer; -import com.github.clevernucleus.playerex.client.gui.CombatPageLayer; -import com.github.clevernucleus.playerex.client.gui.ExScreen; -import com.github.clevernucleus.playerex.client.gui.Page; -import com.github.clevernucleus.playerex.factory.NetworkFactory; - -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; -import net.fabricmc.fabric.api.client.networking.v1.ClientLoginNetworking; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; -import net.minecraft.client.gui.screen.ingame.HandledScreens; -import net.minecraft.client.option.KeyBinding; -import net.minecraft.client.util.InputUtil; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -public class PlayerExClient implements ClientModInitializer { - public static final Identifier GUI = new Identifier(ExAPI.MODID, "textures/gui/gui.png"); - public static final Identifier ATTRIBUTES_PAGE = new Identifier(ExAPI.MODID, "attributes"); - public static final Identifier COMBAT_PAGE = new Identifier(ExAPI.MODID, "combat"); - public static final Page INVENTORY = new Page(new Identifier(ExAPI.MODID, "inventory"), new Identifier(ExAPI.MODID, "textures/gui/inventory.png"), Text.translatable("playerex.gui.page.inventory.title")); - public static KeyBinding keyBinding; - - @Override - public void onInitializeClient() { - ClientLoginNetworking.registerGlobalReceiver(NetworkFactory.CONFIG, NetworkFactoryClient::loginQueryReceived); - ClientPlayNetworking.registerGlobalReceiver(NetworkFactory.NOTIFY, NetworkFactoryClient::notifiedLevelUp); - - keyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding("playerex.key.screen", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_R, "key.categories.inventory")); - HandledScreens.register(PlayerEx.EX_SCREEN, ExScreen::new); - PageRegistry.registerPage(ATTRIBUTES_PAGE, new Identifier(ExAPI.MODID, "textures/gui/attributes.png"), Text.translatable("playerex.gui.page.attributes.title")); - PageRegistry.registerPage(COMBAT_PAGE, new Identifier(ExAPI.MODID, "textures/gui/combat.png"), Text.translatable("playerex.gui.page.combat.title")); - PageRegistry.registerLayer(ATTRIBUTES_PAGE, AttributesPageLayer::new); - PageRegistry.registerLayer(COMBAT_PAGE, CombatPageLayer::new); - - ScreenEvents.AFTER_INIT.register(EventFactoryClient::onScreenInit); - ClientTickEvents.END_CLIENT_TICK.register(EventFactoryClient::onKeyPressed); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/factory/EventFactoryClient.java b/src/main/java/com/github/clevernucleus/playerex/client/factory/EventFactoryClient.java deleted file mode 100644 index d1ded69c..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/factory/EventFactoryClient.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.github.clevernucleus.playerex.client.factory; - -import java.util.List; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.ExConfig; -import com.github.clevernucleus.playerex.client.PlayerExClient; -import com.github.clevernucleus.playerex.client.gui.ExScreenData; -import com.github.clevernucleus.playerex.client.gui.Page; -import com.github.clevernucleus.playerex.client.gui.widget.TabButtonWidget; - -import net.fabricmc.fabric.api.client.screen.v1.Screens; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.gui.screen.ingame.InventoryScreen; - -public final class EventFactoryClient { - public static void onScreenInit(MinecraftClient client, Screen screen, int width, int height) { - ExConfig config = ExAPI.getConfig(); - - if(screen instanceof InventoryScreen && !config.isAttributesGuiDisabled() && !config.disableInventoryTabs()) { - HandledScreen handledScreen = (HandledScreen)screen; - ExScreenData screenData = (ExScreenData)screen; - - if(Screens.getButtons(screen) != null) { - Screens.getButtons(screen).add(new TabButtonWidget(handledScreen, PlayerExClient.INVENTORY, 0, 0, -28, false, btn -> {})); - List pages = screenData.pages(); - - for(int i = 0; i < pages.size(); i++) { - Page page = pages.get(i); - int j = i + 1; - int u = ((j % 5) * 29) + (j < 6 ? 0 : 3); - int v = j < 6 ? -28 : 162; - - Screens.getButtons(screen).add(new TabButtonWidget(handledScreen, page, j, u, v, true, btn -> NetworkFactoryClient.openAttributesScreen(j - 1))); - } - } - } - } - - public static void onKeyPressed(MinecraftClient client) { - if(ExAPI.getConfig().isAttributesGuiDisabled()) return; - while(PlayerExClient.keyBinding.wasPressed()) { - if(client.currentScreen == null && !client.interactionManager.hasRidingInventory()) { - NetworkFactoryClient.openAttributesScreen(0); - } - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/factory/NetworkFactoryClient.java b/src/main/java/com/github/clevernucleus/playerex/client/factory/NetworkFactoryClient.java deleted file mode 100644 index d42424ba..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/factory/NetworkFactoryClient.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.github.clevernucleus.playerex.client.factory; - -import java.util.concurrent.CompletableFuture; -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -import com.github.clevernucleus.playerex.PlayerEx; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PacketType; -import com.github.clevernucleus.playerex.config.ConfigImpl; -import com.github.clevernucleus.playerex.factory.NetworkFactory; - -import io.netty.util.concurrent.Future; -import io.netty.util.concurrent.GenericFutureListener; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.InventoryScreen; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.network.ClientLoginNetworkHandler; -import net.minecraft.client.network.ClientPlayNetworkHandler; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.nbt.NbtList; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.sound.SoundCategory; -import net.minecraft.util.Identifier; - -public final class NetworkFactoryClient { - public static CompletableFuture loginQueryReceived(MinecraftClient client, ClientLoginNetworkHandler handler, PacketByteBuf buf, Consumer>> listenerAdder) { - NbtCompound tag = buf.readNbt(); - - client.execute(() -> { - ((ConfigImpl)ExAPI.getConfig()).getServerInstance().readFromNbt(tag); - }); - - return CompletableFuture.completedFuture(PacketByteBufs.empty()); - } - - public static void openAttributesScreen(final int pageId) { - PacketByteBuf buf = PacketByteBufs.create(); - buf.writeInt(pageId); - - ClientPlayNetworking.send(NetworkFactory.SCREEN, buf); - } - - public static void openInventoryScreen(ButtonWidget button) { - PacketByteBuf buf = PacketByteBufs.create(); - buf.writeInt(-1); - ClientPlayNetworking.send(NetworkFactory.SCREEN, buf); - - MinecraftClient client = MinecraftClient.getInstance(); - client.setScreen(new InventoryScreen(client.player)); - } - - public static void notifiedLevelUp(MinecraftClient client, ClientPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) { - client.execute(() -> client.player.playSound(PlayerEx.LEVEL_UP_SOUND, SoundCategory.NEUTRAL, ExAPI.getConfig().levelUpVolume(), 1.5F)); - } - - public static void modifyAttributes(PacketType type, Consumer>[] consumers) { - PacketByteBuf buf = PacketByteBufs.create(); - NbtCompound tag = new NbtCompound(); - NbtList lst = new NbtList(); - - for(var consumer : consumers) { - NbtCompound entry = new NbtCompound(); - consumer.accept((supplier, value) -> { - Identifier identifier = supplier.getId(); - - if(identifier != null) { - entry.putString("Key", identifier.toString()); - entry.putDouble("Value", value); - lst.add(entry); - } - }); - } - - tag.put("Data", lst); - tag.putByte("Type", type.id()); - buf.writeNbt(tag); - - ClientPlayNetworking.send(NetworkFactory.MODIFY, buf); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/AttributesPageLayer.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/AttributesPageLayer.java deleted file mode 100644 index ebbfcdb7..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/AttributesPageLayer.java +++ /dev/null @@ -1,421 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttribute; -import com.github.clevernucleus.playerex.PlayerEx; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PacketType; -import com.github.clevernucleus.playerex.api.PlayerData; -import com.github.clevernucleus.playerex.api.client.ClientUtil; -import com.github.clevernucleus.playerex.api.client.PageLayer; -import com.github.clevernucleus.playerex.api.client.RenderComponent; -import com.github.clevernucleus.playerex.client.PlayerExClient; -import com.github.clevernucleus.playerex.client.gui.widget.ScreenButtonWidget; -import com.google.common.collect.ImmutableList; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.gui.tooltip.Tooltip; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.sound.SoundCategory; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; - -@Environment(EnvType.CLIENT) -public class AttributesPageLayer extends PageLayer { - private static Supplier scaleX = () -> ExAPI.getConfig().textScaleX(); - private static Supplier scaleY = () -> ExAPI.getConfig().textScaleY(); - private static float scaleZ = 0.75F; - - private static final List COMPONENTS = new ArrayList(); - private static final List BUTTON_KEYS = ImmutableList.of(ExAPI.LEVEL.getId(), - ExAPI.CONSTITUTION.getId(), ExAPI.STRENGTH.getId(), ExAPI.DEXTERITY.getId(), ExAPI.INTELLIGENCE.getId(), - ExAPI.LUCKINESS.getId()); - - private PlayerData playerData; - private final Map buttonDelay = new HashMap(); - - public AttributesPageLayer(HandledScreen parent, ScreenHandler handler, PlayerInventory inventory, Text title) { - super(parent, handler, inventory, title); - this.buttonDelay.put(ExAPI.LEVEL.getId(), 0); - this.buttonDelay.put(ExAPI.CONSTITUTION.getId(), 0); - this.buttonDelay.put(ExAPI.STRENGTH.getId(), 0); - this.buttonDelay.put(ExAPI.DEXTERITY.getId(), 0); - this.buttonDelay.put(ExAPI.INTELLIGENCE.getId(), 0); - this.buttonDelay.put(ExAPI.LUCKINESS.getId(), 0); - } - - private boolean canRefund() { - return this.playerData.refundPoints() > 0; - } - - private void forEachScreenButton(Consumer consumer) { - this.children().stream().filter(e -> e instanceof ScreenButtonWidget) - .forEach(e -> consumer.accept((ScreenButtonWidget) e)); - } - - private void buttonPressed(ButtonWidget buttonIn) { - ScreenButtonWidget button = (ScreenButtonWidget) buttonIn; - Identifier key = button.key(); - EntityAttributeSupplier attribute = EntityAttributeSupplier.of(key); - DataAttributesAPI.ifPresent(this.client.player, attribute, (Object) null, amount -> { - double value = this.canRefund() ? -1.0D : 1.0D; - ClientUtil.modifyAttributes(this.canRefund() ? PacketType.REFUND : PacketType.SKILL, - c -> c.accept(attribute, value)); - this.client.player.playSound(PlayerEx.SP_SPEND_SOUND, SoundCategory.NEUTRAL, - ExAPI.getConfig().skillUpVolume(), ExAPI.getConfig().skillUpPitch()); - return (Object) null; - }); - // this.buttonDelay.put(key, 40); - } - - private Tooltip createAttributeTooltip(Identifier key) { - Identifier lvl = new Identifier("playerex:level"); - - if (key.equals(lvl)) { - int requiredXp = ExAPI.getConfig().requiredXp(this.client.player); - int currentXp = this.client.player.experienceLevel; - String progress = "(" + currentXp + "/" + requiredXp + ")"; - Text tooltip = (Text.translatable("playerex.gui.page.attributes.tooltip.button.level", progress)) - .formatted(Formatting.GRAY); - - return Tooltip.of(tooltip); - } - - Supplier attribute = DataAttributesAPI.getAttribute(key); - - return DataAttributesAPI.ifPresent(this.client.player, attribute, null, value -> { - Text text = Text.translatable(attribute.get().getTranslationKey()); - String type = "playerex.gui.page.attributes.tooltip.button." + (this.canRefund() ? "refund" : "skill"); - Text tooltip = (Text.translatable(type)).append(text).formatted(Formatting.GRAY); - - return Tooltip.of(tooltip); - }); - } - - private MutableText narrationButtonTooltip(Supplier textSupplier) { - return textSupplier.get(); - } - - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - MatrixStack matrices = context.getMatrices(); - - matrices.push(); - matrices.scale(scaleX.get(), scaleY.get(), scaleZ); - - COMPONENTS.forEach(component -> component.renderText(this.client.player, context, this.textRenderer, this.x, - this.y, scaleX.get(), scaleY.get())); - - context.drawText(this.textRenderer, - Text.translatable("playerex.gui.page.attributes.text.vitality").formatted(Formatting.DARK_GRAY), - (int) ((this.x + 105) / scaleX.get()), (int) ((this.y + 26) / scaleY.get()), 4210752, false); - context.drawText(this.textRenderer, - Text.translatable("playerex.gui.page.attributes.text.resistances").formatted(Formatting.DARK_GRAY), - (int) ((this.x + 105) / scaleX.get()), (int) ((this.y + 81) / scaleY.get()), 4210752, false); - - matrices.pop(); - - COMPONENTS.forEach(component -> component.drawTooltip(this.client.player, context::drawTooltip, context, - this.textRenderer, this.x, this.y, mouseX, mouseY, scaleX.get(), scaleY.get())); - - } - - @Override - public void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 35, 226, 0, 9, 9); - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 123, 235, 0, 9, 9); - context.drawTexture(PlayerExClient.GUI, this.x + 93, this.y + 24, 226, 9, 9, 9); - context.drawTexture(PlayerExClient.GUI, this.x + 93, this.y + 79, 235, 9, 9, 9); - - DataAttributesAPI.ifPresent(this.client.player, ExAPI.BREAKING_SPEED, (Object) null, value -> { - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 134, 235, 36, 9, 9); - return (Object) null; - }); - - DataAttributesAPI.ifPresent(this.client.player, ExAPI.REACH_DISTANCE, (Object) null, value -> { - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 145, 244, 0, 9, 9); - return (Object) null; - }); - - this.forEachScreenButton(button -> { - Identifier key = button.key(); - Identifier lvl = new Identifier("playerex:level"); - EntityAttributeSupplier attribute = EntityAttributeSupplier.of(key); - PlayerEntity player = this.client.player; - - DataAttributesAPI.ifPresent(player, attribute, (Object) null, value -> { - if (BUTTON_KEYS.contains(key)) { - double max = ((IEntityAttribute) attribute.get()).maxValue(); - - if (key.equals(lvl)) { - button.active = value < max && player.experienceLevel >= ExAPI.getConfig().requiredXp(player); - } else { - double modifierValue = this.playerData.get(attribute); - - if (this.canRefund()) { - button.active = modifierValue >= 1.0D; - } else { - button.active = modifierValue < max && this.playerData.skillPoints() >= 1; - } - - button.alt = this.canRefund(); - } - - int buttonDelay = this.buttonDelay.getOrDefault(key, 0); - button.active &= (buttonDelay == 0); - - if (buttonDelay > 0) { - this.buttonDelay.put(key, Math.max(0, buttonDelay - 1)); - } - } - - return (Object) null; - }); - }); - } - - @Override - protected void init() { - super.init(); - - this.playerData = ExAPI.PLAYER_DATA.get(this.client.player); - var x = 8; - - this.addDrawableChild(createAttributeButton(x, 23, BUTTON_KEYS.get(0), btn -> { - ClientUtil.modifyAttributes(PacketType.LEVEL, c -> c.accept(ExAPI.LEVEL, 1.0D)); - // this.buttonDelay.put(((ScreenButtonWidget) btn).key(), 40); - }).setTooltipSupplier(widget -> this.createAttributeTooltip(widget.key()))); - - this.addDrawableChild(createAttributeButton(x, 56, BUTTON_KEYS.get(1), this::buttonPressed)); - this.addDrawableChild(createAttributeButton(x, 67, BUTTON_KEYS.get(2), this::buttonPressed)); - this.addDrawableChild(createAttributeButton(x, 78, BUTTON_KEYS.get(3), this::buttonPressed)); - this.addDrawableChild(createAttributeButton(x, 89, BUTTON_KEYS.get(4), this::buttonPressed)); - this.addDrawableChild(createAttributeButton(x, 100, BUTTON_KEYS.get(5), this::buttonPressed)); - } - - private ScreenButtonWidget createAttributeButton(int x, int y, Identifier key, - ButtonWidget.PressAction pressAction) { - var button = new ScreenButtonWidget(this.parent, x, y, 204, 0, 11, 10, key, pressAction, - this::narrationButtonTooltip); - - button.setTooltip(this.createAttributeTooltip(key)); - - return button; - } - - static { - COMPONENTS.add(RenderComponent.of(ExAPI.LEVEL, value -> { - return Text.translatable("playerex.gui.page.attributes.text.level", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.level[0]").formatted(Formatting.GRAY)); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.level[1]").formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.level[2]", - ExAPI.getConfig().skillPointsPerLevelUp()).formatted(Formatting.GRAY)); - return tooltip; - }, 21, 26)); - COMPONENTS.add(RenderComponent.of(entity -> { - return Text.translatable("playerex.gui.page.attributes.text.skill_points", - ExAPI.PLAYER_DATA.get(entity).skillPoints()).formatted(Formatting.DARK_GRAY); - }, entity -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.skill_points[0]") - .formatted(Formatting.GRAY)); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.skill_points[1]") - .formatted(Formatting.GRAY)); - return tooltip; - }, 21, 37)); - COMPONENTS.add(RenderComponent.of(ExAPI.CONSTITUTION, value -> { - return Text.translatable("playerex.gui.page.attributes.text.constitution", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable(ExAPI.CONSTITUTION.get().getTranslationKey()).formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - - ClientUtil.appendChildrenToTooltip(tooltip, ExAPI.CONSTITUTION); - return tooltip; - }, 21, 59)); - COMPONENTS.add(RenderComponent.of(ExAPI.STRENGTH, value -> { - return Text.translatable("playerex.gui.page.attributes.text.strength", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable(ExAPI.STRENGTH.get().getTranslationKey()).formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - - ClientUtil.appendChildrenToTooltip(tooltip, ExAPI.STRENGTH); - return tooltip; - }, 21, 70)); - COMPONENTS.add(RenderComponent.of(ExAPI.DEXTERITY, value -> { - return Text.translatable("playerex.gui.page.attributes.text.dexterity", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable(ExAPI.DEXTERITY.get().getTranslationKey()).formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - - ClientUtil.appendChildrenToTooltip(tooltip, ExAPI.DEXTERITY); - return tooltip; - }, 21, 81)); - COMPONENTS.add(RenderComponent.of(ExAPI.INTELLIGENCE, value -> { - return Text.translatable("playerex.gui.page.attributes.text.intelligence", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable(ExAPI.INTELLIGENCE.get().getTranslationKey()).formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - - ClientUtil.appendChildrenToTooltip(tooltip, ExAPI.INTELLIGENCE); - return tooltip; - }, 21, 92)); - COMPONENTS.add(RenderComponent.of(ExAPI.LUCKINESS, value -> { - return Text.translatable("playerex.gui.page.attributes.text.luckiness", Math.round(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable(ExAPI.LUCKINESS.get().getTranslationKey()).formatted(Formatting.GRAY)); - tooltip.add(Text.empty()); - - ClientUtil.appendChildrenToTooltip(tooltip, ExAPI.LUCKINESS); - return tooltip; - }, 21, 103)); - COMPONENTS.add(RenderComponent.of(entity -> { - return Text.translatable("playerex.gui.page.attributes.text.movement_speed", - ClientUtil.FORMATTING_3.format(entity.getMovementSpeed())).formatted(Formatting.DARK_GRAY); - }, entity -> { - List tooltip = new ArrayList(); - String formatted = ClientUtil.FORMATTING_3.format(20.0D * entity.getMovementSpeed()); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.movement_speed", formatted) - .formatted(Formatting.GRAY)); - return tooltip; - }, 21, 125)); - COMPONENTS.add(RenderComponent.of(ExAPI.BREAKING_SPEED, value -> { - return Text.translatable("playerex.gui.page.attributes.text.breaking_speed", - ClientUtil.FORMATTING_3.format(value)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.breaking_speed") - .formatted(Formatting.GRAY)); - return tooltip; - }, 21, 136)); - COMPONENTS.add(RenderComponent.of(ExAPI.REACH_DISTANCE, value -> { - return Text.translatable("playerex.gui.page.attributes.text.reach_distance", - ClientUtil.FORMATTING_2.format(4.5F + value)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.reach_distance", - ClientUtil.FORMATTING_2.format(4.5F + value)).formatted(Formatting.GRAY)); - return tooltip; - }, 21, 147)); - COMPONENTS.add(RenderComponent.of(entity -> { - String current = ClientUtil.FORMATTING_2.format(entity.getHealth()); - String maximum = ClientUtil.FORMATTING_2.format(entity.getMaxHealth()); - return Text.translatable("playerex.gui.page.attributes.text.health", current, maximum) - .formatted(Formatting.DARK_GRAY); - }, entity -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.health").formatted(Formatting.GRAY)); - return tooltip; - }, 93, 37)); - COMPONENTS.add(RenderComponent.of(ExAPI.HEALTH_REGENERATION, value -> { - return Text.translatable("playerex.gui.page.attributes.text.health_regeneration", - ClientUtil.FORMATTING_3.format(value)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.health_regeneration[0]") - .formatted(Formatting.GRAY)); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.health_regeneration[1]") - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 48)); - COMPONENTS.add(RenderComponent.of(ExAPI.HEAL_AMPLIFICATION, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.HEAL_AMPLIFICATION, value)) - .formatted(Formatting.DARK_GRAY); - return Text.translatable("playerex.gui.page.attributes.text.heal_amplification", displ) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.heal_amplification[0]") - .formatted(Formatting.GRAY)); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.heal_amplification[1]") - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 59)); - COMPONENTS.add(RenderComponent.of(ExAPI.FIRE_RESISTANCE, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.FIRE_RESISTANCE, value)); - return Text.translatable("playerex.gui.page.attributes.text.fire_resistance", displ) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - String displ = ClientUtil.FORMATTING_2.format(100.0F * value); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.fire_resistance", displ) - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 92)); - COMPONENTS.add(RenderComponent.of(ExAPI.FREEZE_RESISTANCE, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.FREEZE_RESISTANCE, value)); - return Text.translatable("playerex.gui.page.attributes.text.freeze_resistance", displ) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - String displ = ClientUtil.FORMATTING_2.format(100.0F * value); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.freeze_resistance", displ) - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 103)); - COMPONENTS.add(RenderComponent.of(ExAPI.LIGHTNING_RESISTANCE, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.LIGHTNING_RESISTANCE, value)); - return Text.translatable("playerex.gui.page.attributes.text.lightning_resistance", displ) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - String displ = ClientUtil.FORMATTING_2.format(100.0F * value); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.lightning_resistance", displ) - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 114)); - COMPONENTS.add(RenderComponent.of(ExAPI.POISON_RESISTANCE, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.POISON_RESISTANCE, value)); - return Text.translatable("playerex.gui.page.attributes.text.poison_resistance", displ) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - String displ = ClientUtil.FORMATTING_2.format(100.0F * value); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.poison_resistance", displ) - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 125)); - COMPONENTS.add(RenderComponent.of(ExAPI.WITHER_RESISTANCE, value -> { - String displ = ClientUtil.FORMATTING_2.format(ClientUtil.displayValue(ExAPI.WITHER_RESISTANCE, value)) - .formatted(Formatting.DARK_GRAY); - return Text.translatable("playerex.gui.page.attributes.text.wither_resistance", displ); - }, value -> { - List tooltip = new ArrayList(); - String displ = ClientUtil.FORMATTING_2.format(100.0F * value); - tooltip.add(Text.translatable("playerex.gui.page.attributes.tooltip.wither_resistance", displ) - .formatted(Formatting.GRAY)); - return tooltip; - }, 93, 136)); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/CombatPageLayer.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/CombatPageLayer.java deleted file mode 100644 index abc9554f..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/CombatPageLayer.java +++ /dev/null @@ -1,256 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.client.ClientUtil; -import com.github.clevernucleus.playerex.api.client.PageLayer; -import com.github.clevernucleus.playerex.api.client.RenderComponent; -import com.github.clevernucleus.playerex.client.PlayerExClient; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.attribute.EntityAttributes; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.projectile_damage.api.EntityAttributes_ProjectileDamage; - -@Environment(EnvType.CLIENT) -public class CombatPageLayer extends PageLayer { - private static Supplier scaleX = () -> ExAPI.getConfig().textScaleX(); - private static Supplier scaleY = () -> ExAPI.getConfig().textScaleY(); - private static float scaleZ = 0.75F; - - private static final List COMPONENTS = new ArrayList(); - - public CombatPageLayer(HandledScreen parent, ScreenHandler handler, PlayerInventory inventory, Text title) { - super(parent, handler, inventory, title); - } - - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - MatrixStack stack = context.getMatrices(); - - stack.push(); - stack.scale(scaleX.get(), scaleY.get(), scaleZ); - - COMPONENTS.forEach(component -> component.renderText(this.client.player, context, this.textRenderer, this.x, - this.y, scaleX.get(), scaleY.get())); - - context.drawText(textRenderer, - Text.translatable("playerex.gui.page.combat.text.melee").formatted(Formatting.DARK_GRAY), - (int) ((this.x + 21) / scaleX.get()), (int) ((this.y + 26) / scaleY.get()), 4210752, false); - context.drawText(textRenderer, - Text.translatable("playerex.gui.page.combat.text.defense").formatted(Formatting.DARK_GRAY), - (int) ((this.x + 21) / scaleX.get()), (int) ((this.y + 92) / scaleY.get()), 4210752, false); - context.drawText(textRenderer, - Text.translatable("playerex.gui.page.combat.text.ranged").formatted(Formatting.DARK_GRAY), - (int) ((this.x + 105) / scaleX.get()), (int) ((this.y + 26) / scaleY.get()), 4210752, false); - - stack.pop(); - - COMPONENTS.forEach(component -> component.drawTooltip(this.client.player, context::drawTooltip, context, - this.textRenderer, this.x, this.y, mouseX, mouseY, scaleX.get(), scaleY.get())); - } - - @Override - public void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 24, 244, 9, 9, 9); - context.drawTexture(PlayerExClient.GUI, this.x + 9, this.y + 90, 226, 18, 9, 9); - context.drawTexture(PlayerExClient.GUI, this.x + 93, this.y + 24, 235, 18, 9, 9); - - DataAttributesAPI.ifPresent(this.client.player, ExAPI.ATTACK_RANGE, (Object) null, value -> { - context.drawTexture(PlayerExClient.GUI, this.x + 93, this.y + 79, 226, 27, 9, 9); - return (Object) null; - }); - - DataAttributesAPI.ifPresent(this.client.player, ExAPI.LIFESTEAL, (Object) null, value -> { - context.drawTexture(PlayerExClient.GUI, this.x + 93, this.y + 90, 244, 18, 9, 9); - return (Object) null; - }); - } - - static { - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes.GENERIC_ATTACK_SPEED, value -> { - return Text - .translatable("playerex.gui.page.combat.text.attack_speed", ClientUtil.FORMATTING_2.format(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add( - (Text.translatable("playerex.gui.page.combat.tooltip.attack_speed[0]")).formatted(Formatting.GRAY)); - tooltip.add( - (Text.translatable("playerex.gui.page.combat.tooltip.attack_speed[1]")).formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 37)); - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes.GENERIC_ATTACK_DAMAGE, value -> { - return Text - .translatable("playerex.gui.page.combat.text.attack_damage", ClientUtil.FORMATTING_2.format(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.attack_damage[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.attack_damage[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 48)); - COMPONENTS.add(RenderComponent.of(ExAPI.MELEE_CRIT_DAMAGE, value -> { - double disp = 100.0D + ClientUtil.displayValue(ExAPI.MELEE_CRIT_DAMAGE, value); - return Text.translatable("playerex.gui.page.combat.text.melee_crit_damage", - ClientUtil.FORMATTING_2.format(disp)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.melee_crit_damage[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.melee_crit_damage[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 59)); - COMPONENTS.add(RenderComponent.of(ExAPI.MELEE_CRIT_CHANCE, value -> { - double disp = ClientUtil.displayValue(ExAPI.MELEE_CRIT_CHANCE, value); - return Text.translatable("playerex.gui.page.combat.text.melee_crit_chance", - ClientUtil.FORMATTING_2.format(disp)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.melee_crit_chance[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.melee_crit_chance[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 71)); - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes.GENERIC_ARMOR, value -> { - return Text.translatable("playerex.gui.page.combat.text.armor", ClientUtil.FORMATTING_2.format(value)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.armor[0]")).formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.armor[1]")).formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 103)); - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes.GENERIC_ARMOR_TOUGHNESS, value -> { - return Text.translatable("playerex.gui.page.combat.text.armor_toughness", - ClientUtil.FORMATTING_2.format(value)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.armor_toughness[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.armor_toughness[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 114)); - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, value -> { - double disp = ClientUtil.displayValue(() -> EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, value); - return Text.translatable("playerex.gui.page.combat.text.knockback_resistance", - ClientUtil.FORMATTING_2.format(disp)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - double disp = 100.0D * value; - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.knockback_resistance", - ClientUtil.FORMATTING_2.format(disp))).formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 125)); - COMPONENTS.add(RenderComponent.of(ExAPI.EVASION, value -> { - double disp = ClientUtil.displayValue(ExAPI.EVASION, value); - return Text.translatable("playerex.gui.page.combat.text.evasion", ClientUtil.FORMATTING_2.format(disp)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.evasion[0]")).formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.evasion[1]")).formatted(Formatting.GRAY)); - - return tooltip; - }, 9, 136)); - COMPONENTS.add(RenderComponent.of(() -> EntityAttributes_ProjectileDamage.GENERIC_PROJECTILE_DAMAGE, value -> { - double disp = ClientUtil.displayValue(() -> EntityAttributes_ProjectileDamage.GENERIC_PROJECTILE_DAMAGE, - value); - return Text - .translatable("playerex.gui.page.combat.text.ranged_damage", ClientUtil.FORMATTING_2.format(disp)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_damage[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_damage[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 93, 37)); - COMPONENTS.add(RenderComponent.of(ExAPI.RANGED_CRIT_DAMAGE, value -> { - double disp = 100.0D + ClientUtil.displayValue(ExAPI.RANGED_CRIT_DAMAGE, value); - return Text.translatable("playerex.gui.page.combat.text.ranged_crit_damage", - ClientUtil.FORMATTING_2.format(disp)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_crit_damage[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_crit_damage[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 93, 48)); - COMPONENTS.add(RenderComponent.of(ExAPI.RANGED_CRIT_CHANCE, value -> { - double disp = ClientUtil.displayValue(ExAPI.RANGED_CRIT_CHANCE, value); - return Text.translatable("playerex.gui.page.combat.text.ranged_crit_chance", - ClientUtil.FORMATTING_2.format(disp)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_crit_chance[0]")) - .formatted(Formatting.GRAY)); - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_crit_chance[1]")) - .formatted(Formatting.GRAY)); - - return tooltip; - }, 93, 59)); - COMPONENTS.add(RenderComponent.of(ExAPI.ATTACK_RANGE, value -> { - return Text.translatable("playerex.gui.page.combat.text.attack_range", - ClientUtil.FORMATTING_2.format(3.0F + value)).formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.attack_range", - ClientUtil.FORMATTING_2.format(3.0F + value))).formatted(Formatting.GRAY)); - - return tooltip; - }, 105, 81)); - COMPONENTS.add(RenderComponent.of(ExAPI.LIFESTEAL, value -> { - double disp = ClientUtil.displayValue(ExAPI.LIFESTEAL, value); - return Text.translatable("playerex.gui.page.combat.text.lifesteal", ClientUtil.FORMATTING_2.format(disp)) - .formatted(Formatting.DARK_GRAY); - }, value -> { - List tooltip = new ArrayList(); - - tooltip.add( - (Text.translatable("playerex.gui.page.combat.tooltip.lifesteal[0]")).formatted(Formatting.GRAY)); - tooltip.add( - (Text.translatable("playerex.gui.page.combat.tooltip.lifesteal[1]")).formatted(Formatting.GRAY)); - - return tooltip; - }, 105, 92)); - } -} \ No newline at end of file diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreen.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreen.java deleted file mode 100644 index 97bfd37b..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreen.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui; - -import java.util.List; -import java.util.function.Consumer; - -import com.github.clevernucleus.playerex.api.client.PageLayer; -import com.github.clevernucleus.playerex.client.PageRegistryImpl; -import com.github.clevernucleus.playerex.client.PlayerExClient; -import com.github.clevernucleus.playerex.client.factory.NetworkFactoryClient; -import com.github.clevernucleus.playerex.client.gui.widget.TabButtonWidget; -import com.github.clevernucleus.playerex.factory.ExScreenFactory; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.minecraft.util.math.MathHelper; - -@Environment(EnvType.CLIENT) -public class ExScreen extends AbstractInventoryScreen { - private int tab = 0; - - public ExScreen(ExScreenFactory.Handler screenHandler, PlayerInventory playerInventory, Text text) { - super(screenHandler, playerInventory, text); - this.tab = screenHandler.pageId; - this.getPages().forEach(page -> this.addLayers(page, screenHandler, playerInventory, text)); - } - - private List getPages() { - return ((ExScreenData) this).pages(); - } - - private void addLayers(Page page, ExScreenFactory.Handler screenhandler, PlayerInventory playerInventory, - Text text) { - for (PageLayer.Builder builder : PageRegistryImpl.findPageLayers(page.id())) { - page.addLayer(builder.build(this, screenhandler, playerInventory, text)); - } - } - - private Page currentPage() { - int index = MathHelper.clamp(this.tab, 0, this.getPages().size() - 1); - return this.getPages().get(index); - } - - private void forEachButton(Consumer consumer) { - this.children().stream().filter(e -> e instanceof ButtonWidget).forEach(e -> consumer.accept((ButtonWidget) e)); - } - - private void forEachTab(Consumer consumer) { - this.children().stream().filter(e -> e instanceof TabButtonWidget) - .forEach(e -> consumer.accept((TabButtonWidget) e)); - } - - @Override - public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - if (PlayerExClient.keyBinding.matchesKey(keyCode, scanCode)) { - this.close(); - } - - return super.keyPressed(keyCode, scanCode, modifiers); - } - - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - this.renderBackground(context); - super.render(context, mouseX, mouseY, delta); - this.currentPage().forEachLayer(layer -> layer.render(context, mouseX, mouseY, delta)); - // this.forEachButton(button -> button.renderTooltip(context, mouseX, mouseY)); - } - - @Override - protected void drawBackground(DrawContext context, float delta, int mouseX, int mouseY) { - int u = this.x; - int v = (this.height - this.backgroundHeight) / 2; - - context.drawTexture(this.currentPage().texture(), u + 6, v + 6, 0, 0, this.backgroundWidth - 12, - this.backgroundWidth - 12); - - context.drawTexture(PlayerExClient.GUI, u, v, 0, 0, this.backgroundWidth, this.backgroundWidth); - this.currentPage().forEachLayer(layer -> layer.drawBackground(context, delta, mouseX, mouseY)); - this.forEachButton(button -> button.render(context, mouseX, mouseY, delta)); - } - - @Override - protected void drawForeground(DrawContext context, int mouseX, int mouseY) { - context.drawText(this.textRenderer, this.currentPage().title().copy().formatted(Formatting.DARK_GRAY), - this.titleX, (this.titleY + 2), 4210752, false); - } - - @Override - protected void init() { - super.init(); - this.clearChildren(); - this.addDrawableChild(new TabButtonWidget(this, PlayerExClient.INVENTORY, 0, 0, -28, true, - NetworkFactoryClient::openInventoryScreen)); - - for (int i = 0; i < this.getPages().size(); i++) { - Page page = this.getPages().get(i); - int j = i + 1; - int u = ((j % 5) * 29) + (j < 6 ? 0 : 3); - int v = j < 6 ? -28 : 162; - - this.addDrawableChild(new TabButtonWidget(this, page, j, u, v, true, btn -> { - TabButtonWidget button = (TabButtonWidget) btn; - this.tab = button.index() - 1; - this.forEachTab(tab -> tab.active = true); - button.active = false; - this.init(); - })); - } - - this.forEachTab(tab -> { - if (tab.index() - 1 == this.tab) { - tab.active = false; - } - }); - - this.currentPage().forEachLayer(layer -> { - layer.init(this.client, this.width, this.height); - layer.children().stream().filter(e -> e instanceof ButtonWidget) - .forEach(e -> this.addDrawableChild((ButtonWidget) e)); - }); - } -} \ No newline at end of file diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreenData.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreenData.java deleted file mode 100644 index 4e1b90c3..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/ExScreenData.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui; - -import java.util.List; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -public interface ExScreenData { - int getX(); - int getY(); - List pages(); -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/Page.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/Page.java deleted file mode 100644 index 45ef4967..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/Page.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.client.PageLayer; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -@Environment(EnvType.CLIENT) -public final class Page { - private static final Identifier DEFAULT = new Identifier(ExAPI.MODID, "textures/gui/default.png"); - private final List layers; - private final Identifier pageId, icon, texture; - private final Text title; - - public Page(final Identifier pageId, final Identifier icon, final Identifier texture, final Text title) { - this.layers = new ArrayList(); - this.pageId = pageId; - this.icon = icon; - this.texture = texture; - this.title = title; - } - - public Page(final Identifier pageId, final Identifier icon, final Text title) { - this(pageId, icon, DEFAULT, title); - } - - protected final void addLayer(PageLayer layer) { - this.layers.add(layer); - } - - protected final void forEachLayer(Consumer consumer) { - this.layers.forEach(consumer); - } - - public Identifier id() { - return this.pageId; - } - - public Identifier icon() { - return this.icon; - } - - public Identifier texture() { - return this.texture; - } - - public Text title() { - return this.title; - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/ScreenButtonWidget.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/ScreenButtonWidget.java deleted file mode 100644 index d179a1f0..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/ScreenButtonWidget.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui.widget; - -import com.github.clevernucleus.playerex.client.PlayerExClient; -import com.github.clevernucleus.playerex.client.gui.ExScreenData; -import com.mojang.blaze3d.systems.RenderSystem; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.gui.tooltip.Tooltip; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; -import org.jetbrains.annotations.Nullable; - -import java.util.function.Function; - -@Environment(EnvType.CLIENT) -public class ScreenButtonWidget extends ButtonWidget { - public static final Identifier EMPTY_KEY = new Identifier("playerex:empty"); - private HandledScreen parent; - private final Identifier key; - private int u, v, dx, dy; - public boolean alt; - - @Nullable - private Function tooltipSupplier = null; - - public ScreenButtonWidget(HandledScreen parent, int x, int y, int u, int v, int width, int height, - Identifier key, PressAction pressAction, NarrationSupplier narrationSupplier) { - super(x, y, width, height, Text.empty(), pressAction, narrationSupplier); - - this.parent = parent; - this.key = key; - this.u = u; - this.v = v; - this.dx = x; - this.dy = y; - this.alt = false; - } - - @Override - public void render(DrawContext context, int mouseX, int mouseY, float delta) { - if (tooltipSupplier != null && this.visible) - this.setTooltip(tooltipSupplier.apply(this)); - - super.render(context, mouseX, mouseY, delta); - } - - public ScreenButtonWidget setTooltipSupplier(Function tooltipSupplier) { - this.tooltipSupplier = tooltipSupplier; - - return this; - } - - public Identifier key() { - return this.key; - } - - @Override - public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { - ExScreenData handledScreen = (ExScreenData) this.parent; - this.setX(handledScreen.getX() + this.dx); - this.setY(handledScreen.getY() + this.dy); - - RenderSystem.setShaderTexture(0, PlayerExClient.GUI); - RenderSystem.disableDepthTest(); - - int i = this.u; - int j = this.v; - - if (this.alt) { - i += this.width; - } - - if (this.active) { - if (this.isHovered()) { - j += this.height; - } - } else { - j += (2 * this.height); - } - - context.drawTexture(PlayerExClient.GUI, this.getX(), this.getY(), i, j, this.width, this.height); - - RenderSystem.enableDepthTest(); - } - -} diff --git a/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/TabButtonWidget.java b/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/TabButtonWidget.java deleted file mode 100644 index 6d94ffbe..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/client/gui/widget/TabButtonWidget.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.github.clevernucleus.playerex.client.gui.widget; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.client.gui.ExScreenData; -import com.github.clevernucleus.playerex.client.gui.Page; -import com.mojang.blaze3d.systems.RenderSystem; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -@Environment(EnvType.CLIENT) -public class TabButtonWidget extends ButtonWidget { - private static final Identifier TABS = new Identifier(ExAPI.MODID, "textures/gui/tab.png"); - private HandledScreen parent; - private Page page; - private int index, dx, dy; - private final float scale = 1.0F / 16.0F; - - public TabButtonWidget(HandledScreen parent, Page page, int index, int x, int y, boolean startingState, - PressAction onPress) { - super(x, y, 28, 32, Text.empty(), onPress, DEFAULT_NARRATION_SUPPLIER); - - this.parent = parent; - this.page = page; - this.index = index; - this.dx = x; - this.dy = y; - this.active = startingState; - } - - private boolean isTopRow() { - return this.index < 6; - } - - public int index() { - return this.index; - } - - @Override - public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { - ExScreenData handledScreen = (ExScreenData) this.parent; - this.setX(handledScreen.getX() + this.dx); - this.setY(handledScreen.getY() + this.dy); - - RenderSystem.disableDepthTest(); - - int u = (this.index % 6) * this.width; - int v = this.isTopRow() ? 0 : (2 * this.height); - int w = this.isTopRow() ? 9 : 7; - - if (!this.active) { - v += this.height; - } - - context.drawTexture(TABS, this.getX(), this.getY(), u, v, this.width, this.height); - - MatrixStack matrices = context.getMatrices(); - - matrices.push(); - matrices.scale(this.scale, this.scale, 0.75F); - - context.drawTexture(this.page.icon(), (int) ((this.getX() + 6) / this.scale), - (int) ((this.getY() + w) / this.scale), 0, 0, 256, 256); - - matrices.pop(); - RenderSystem.enableDepthTest(); - } -} \ No newline at end of file diff --git a/src/main/java/com/github/clevernucleus/playerex/config/ConfigImpl.java b/src/main/java/com/github/clevernucleus/playerex/config/ConfigImpl.java deleted file mode 100644 index e669d7da..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/config/ConfigImpl.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.github.clevernucleus.playerex.config; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.ExConfig; - -import me.shedaniel.autoconfig.ConfigData; -import me.shedaniel.autoconfig.annotation.Config; -import me.shedaniel.autoconfig.annotation.ConfigEntry; -import net.minecraft.entity.player.PlayerEntity; - -@Config(name = ExAPI.MODID) -public class ConfigImpl implements ConfigData, ExConfig { - public static enum Tooltip { - DEFAULT, VANILLA, PLAYEREX; - } - - @ConfigEntry.Category(value = "server") - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - @ConfigEntry.Gui.Tooltip(count = 2) - protected int resetOnDeath = 100; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.Gui.Tooltip(count = 2) - protected boolean disableAttributesGui = false; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.Gui.Tooltip(count = 2) - protected boolean showLevelNameplates = true; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.Gui.Tooltip(count = 2) - protected int skillPointsPerLevelUp = 1; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.Gui.Tooltip(count = 2) - protected String levelFormula = "stairs(x,0.2,2.4,17,10,25)"; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.Gui.Tooltip(count = 2) - protected int restorativeForceTicks = 600; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.BoundedDiscrete(min = 101, max = 200) - @ConfigEntry.Gui.Tooltip(count = 2) - protected int restorativeForceMultiplier = 110; - - @ConfigEntry.Category(value = "server") - @ConfigEntry.BoundedDiscrete(min = 1, max = 100) - @ConfigEntry.Gui.Tooltip(count = 2) - protected int expNegationFactor = 95; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.BoundedDiscrete(min = 0, max = 150) - @ConfigEntry.Gui.Tooltip - private int levelUpVolume = 100; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.BoundedDiscrete(min = 0, max = 150) - @ConfigEntry.Gui.Tooltip - private int skillUpVolume = 100; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.BoundedDiscrete(min = 0, max = 200) - @ConfigEntry.Gui.Tooltip - private int skillUpPitch = 100; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.Gui.Tooltip - private boolean disableInventoryTabs = false; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.BoundedDiscrete(min = 0, max = 50) - @ConfigEntry.Gui.Tooltip - private int textScaleX = 40; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.BoundedDiscrete(min = 0, max = 50) - @ConfigEntry.Gui.Tooltip - private int textScaleY = 40; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.Gui.Tooltip - private float levelNameplateHeight = 0.3F; - - @ConfigEntry.Category(value = "client") - @ConfigEntry.Gui.Tooltip - private Tooltip tooltip = Tooltip.PLAYEREX; - - public void createServerConfig() { - ConfigServer.INSTANCE.init(this); - } - - public ConfigServer getServerInstance() { - return ConfigServer.INSTANCE; - } - - /** Server & Client */ - public boolean levelNameplate() { - return ConfigServer.INSTANCE.showLevelNameplates; - } - - /** Client */ - public Tooltip tooltip() { - return this.tooltip; - } - - @Override - public int resetOnDeath() { - return ConfigServer.INSTANCE.resetOnDeath; - } - - @Override - public boolean isAttributesGuiDisabled() { - return ConfigServer.INSTANCE.disableAttributesGui; - } - - @Override - public int skillPointsPerLevelUp() { - return ConfigServer.INSTANCE.skillPointsPerLevelUp; - } - - @Override - public int requiredXp(final PlayerEntity player) { - return DataAttributesAPI.ifPresent(player, ExAPI.LEVEL, 1, ConfigServer.INSTANCE::level); - } - - @Override - public int restorativeForceTicks() { - return ConfigServer.INSTANCE.restorativeForceTicks; - } - - @Override - public float restorativeForceMultiplier() { - return (float) ConfigServer.INSTANCE.restorativeForceMultiplier * 0.01F; - } - - @Override - public float expNegationFactor() { - return (float) ConfigServer.INSTANCE.expNegationFactor * 0.01F; - } - - @Override - public float levelUpVolume() { - return this.levelUpVolume * 0.01F; - } - - @Override - public float skillUpVolume() { - return this.skillUpVolume * 0.01F; - } - - @Override - public float skillUpPitch() { - return this.skillUpPitch * 0.01F; - } - - @Override - public boolean disableInventoryTabs() { - return this.disableInventoryTabs; - } - - @Override - public float textScaleX() { - return (this.textScaleX + 25) * 0.01F; - } - - @Override - public float textScaleY() { - return (this.textScaleY + 25) * 0.01F; - } - - @Override - public float levelNameplateHeight() { - return this.levelNameplateHeight; - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/config/ConfigServer.java b/src/main/java/com/github/clevernucleus/playerex/config/ConfigServer.java deleted file mode 100644 index ca0de448..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/config/ConfigServer.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.github.clevernucleus.playerex.config; - -import com.github.clevernucleus.dataattributes_dc.api.util.Maths; - -import net.minecraft.nbt.NbtCompound; -import net.objecthunter.exp4j.Expression; -import net.objecthunter.exp4j.ExpressionBuilder; -import net.objecthunter.exp4j.function.Function; - -public final class ConfigServer { - private static final String RESET_ON_DEATH = "ResetOnDeath", DISABLE_ATTRIBUTES_GUI = "DisableAttributesGui", - SKILL_POINTS_PER_LEVEL_UP = "SkillPointsPerLevelUp", LEVEL_NAMEPLATE = "LevelNameplate", - LEVEL_FORMULA = "LevelFormula", VARIABLE = "x", RESTORATIVE_FORCE_TICKS = "RestorativeForceTicks", - RESTORATIVE_FORCE_MULTIPLIER = "RestorativeForceMultiplier", EXP_NEGATION_FACTOR = "ExpNegationFactor"; - - /** - * stairs(x, stretch, steepness, x-offset, y-offset, y-limit) - */ - private static final Function STAIRS = new Function("stairs", 6) { - - @Override - public double apply(double... args) { - return Math.min(Maths.stairs(args[0], args[1], args[2], args[3], args[4]), args[5]); - } - }; - protected static final ConfigServer INSTANCE = new ConfigServer(); - protected int resetOnDeath; - protected boolean disableAttributesGui; - protected boolean showLevelNameplates; - protected int skillPointsPerLevelUp; - protected int restorativeForceTicks; - protected int restorativeForceMultiplier; - protected int expNegationFactor; - protected String levelFormula; - private Expression expression; - - private ConfigServer() { - } - - private Expression createExpression() { - return new ExpressionBuilder(this.levelFormula).variable(VARIABLE).function(STAIRS).build(); - } - - protected void init(final ConfigImpl config) { - this.resetOnDeath = config.resetOnDeath; - this.disableAttributesGui = config.disableAttributesGui; - this.showLevelNameplates = config.showLevelNameplates; - this.skillPointsPerLevelUp = config.skillPointsPerLevelUp; - this.restorativeForceTicks = config.restorativeForceTicks; - this.restorativeForceMultiplier = config.restorativeForceMultiplier; - this.expNegationFactor = config.expNegationFactor; - this.levelFormula = config.levelFormula; - this.expression = this.createExpression(); - } - - protected int level(final double value) { - Expression expression2 = this.expression.setVariable(VARIABLE, Math.round((float) value)); - return Math.abs(Math.round((float) expression2.evaluate())); - } - - public void readFromNbt(NbtCompound tag) { - this.resetOnDeath = tag.getInt(RESET_ON_DEATH); - this.disableAttributesGui = tag.getBoolean(DISABLE_ATTRIBUTES_GUI); - this.showLevelNameplates = tag.getBoolean(LEVEL_NAMEPLATE); - this.skillPointsPerLevelUp = tag.getInt(SKILL_POINTS_PER_LEVEL_UP); - this.restorativeForceTicks = tag.getInt(RESTORATIVE_FORCE_TICKS); - this.restorativeForceMultiplier = tag.getInt(RESTORATIVE_FORCE_MULTIPLIER); - this.expNegationFactor = tag.getInt(EXP_NEGATION_FACTOR); - this.levelFormula = tag.getString(LEVEL_FORMULA); - this.expression = this.createExpression(); - } - - public void writeToNbt(NbtCompound tag) { - tag.putInt(RESET_ON_DEATH, this.resetOnDeath); - tag.putBoolean(DISABLE_ATTRIBUTES_GUI, this.disableAttributesGui); - tag.putBoolean(LEVEL_NAMEPLATE, this.showLevelNameplates); - tag.putInt(SKILL_POINTS_PER_LEVEL_UP, this.skillPointsPerLevelUp); - tag.putInt(RESTORATIVE_FORCE_TICKS, this.restorativeForceTicks); - tag.putInt(RESTORATIVE_FORCE_MULTIPLIER, this.restorativeForceMultiplier); - tag.putInt(EXP_NEGATION_FACTOR, this.expNegationFactor); - tag.putString(LEVEL_FORMULA, this.levelFormula); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/config/ModMenuCompat.java b/src/main/java/com/github/clevernucleus/playerex/config/ModMenuCompat.java deleted file mode 100644 index d8f23023..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/config/ModMenuCompat.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.github.clevernucleus.playerex.config; - -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; - -import me.shedaniel.autoconfig.AutoConfig; - -public class ModMenuCompat implements ModMenuApi { - - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfig.getConfigScreen(ConfigImpl.class, parent).get(); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/DamageFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/DamageFactory.java deleted file mode 100644 index a4e50ce7..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/DamageFactory.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import java.util.function.BiConsumer; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.damage.DamageFunction; -import com.github.clevernucleus.playerex.api.damage.DamagePredicate; - -import net.minecraft.entity.AreaEffectCloudEntity; -import net.minecraft.entity.damage.DamageTypes; -import net.minecraft.entity.effect.StatusEffects; -import net.minecraft.entity.projectile.thrown.PotionEntity; - -public final class DamageFactory { - public static final DamageFactory STORE = new DamageFactory(); - - private DamageFactory() { - } - - public void forEach(BiConsumer registry) { - registry.accept((living, source, damage) -> source.isOf(DamageTypes.ON_FIRE), - (living, source, damage) -> DataAttributesAPI // <- ON_FIRE? unsure about implementation, but should be - // right - .ifPresent(living, ExAPI.FIRE_RESISTANCE, damage, value -> (float) (damage * (1.0 - value)))); - registry.accept((living, source, damage) -> source.isOf(DamageTypes.FREEZE), - (living, source, damage) -> DataAttributesAPI.ifPresent(living, ExAPI.FREEZE_RESISTANCE, damage, - value -> (float) (damage * (1.0 - value)))); - registry.accept((living, source, damage) -> source.isOf(DamageTypes.LIGHTNING_BOLT), - (living, source, damage) -> DataAttributesAPI.ifPresent(living, ExAPI.LIGHTNING_RESISTANCE, damage, - value -> (float) (damage * (1.0 - value)))); - registry.accept( - (living, source, damage) -> living.hasStatusEffect(StatusEffects.POISON) - && source.isOf(DamageTypes.MAGIC) - && damage <= 1.0F, - (living, source, damage) -> DataAttributesAPI.ifPresent(living, ExAPI.FREEZE_RESISTANCE, damage, - value -> (float) (damage * (1.0 - value)))); - registry.accept( - (living, source, damage) -> source.isOf(DamageTypes.WITHER) || (source.isOf(DamageTypes.INDIRECT_MAGIC) - && (source.getSource() instanceof PotionEntity - || source.getSource() instanceof AreaEffectCloudEntity)), - (living, source, damage) -> { - return DataAttributesAPI.ifPresent(living, ExAPI.WITHER_RESISTANCE, damage, value -> { - if (source.isOf(DamageTypes.WITHER) && living.isUndead()) - return 0.0F; - if (source.getName().equals("indirectMagic") && source.getSource() instanceof PotionEntity - && living.isUndead()) - return damage; - return (float) (damage * (1.0 - value)); - }); - }); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/EventFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/EventFactory.java deleted file mode 100644 index 4ecd0843..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/EventFactory.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttribute; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PlayerData; -import com.github.clevernucleus.playerex.config.ConfigImpl; -import com.github.clevernucleus.playerex.impl.DamageModificationImpl; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.entity.damage.DamageSource; -import net.minecraft.entity.effect.StatusEffects; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.projectile.PersistentProjectileEntity; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.world.World; - -public final class EventFactory { - public static void serverStarting(final MinecraftServer server) { - ((ConfigImpl) ExAPI.getConfig()).createServerConfig(); - } - - public static void reset(final ServerPlayerEntity oldPlayer, final ServerPlayerEntity newPlayer, - final boolean isAlive) { - PlayerData playerData = ExAPI.PLAYER_DATA.get(newPlayer); - playerData.reset(ExAPI.getConfig().resetOnDeath()); - } - - public static double clamped(final EntityAttribute attributeIn, final double valueIn) { - IEntityAttribute attribute = (IEntityAttribute) attributeIn; - - if (!attribute.hasProperty(ExAPI.INTEGER_PROPERTY)) - return valueIn; - return Math.round((float) valueIn); - } - - public static float healed(final LivingEntity livingEntity, final float amount) { - return DataAttributesAPI.ifPresent(livingEntity, ExAPI.HEAL_AMPLIFICATION, amount, value -> { - return (float) (amount * (1.0 + (value * 10.0))); - }); - } - - public static void healthRegeneration(final LivingEntity livingEntity) { - World world = livingEntity.getWorld(); - if (!world.isClient) { - DataAttributesAPI.ifPresent(livingEntity, ExAPI.HEALTH_REGENERATION, (Object) null, value -> { - if (value > 0.0 && livingEntity.getHealth() < livingEntity.getMaxHealth()) { - livingEntity.heal((float) (double) value); - } - - return (Object) null; - }); - } - } - - public static float onDamage(final LivingEntity livingEntity, final DamageSource source, final float original) { - float amount = original; - - for (var condition : DamageModificationImpl.get()) { - float damage = amount; - - amount = condition.provide((predicate, function) -> { - if (predicate.test(livingEntity, source, damage)) { - return function.apply(livingEntity, source, damage); - } else { - return damage; - } - }); - } - - return amount; - } - - public static boolean shouldDamage(final LivingEntity livingEntity, final DamageSource source, - final float original) { - if (original == 0.0F) - return true; - Entity origin = source.getSource(); - Entity attacker = source.getAttacker(); - - if (attacker instanceof LivingEntity - && (origin instanceof LivingEntity || origin instanceof PersistentProjectileEntity)) { - LivingEntity user = (LivingEntity) attacker; - DataAttributesAPI.ifPresent(user, ExAPI.LIFESTEAL, (Object) null, value -> { - user.heal((float) (original * value * 10.0)); - return (Object) null; - }); - } - - return DataAttributesAPI.ifPresent(livingEntity, ExAPI.EVASION, true, value -> { - float chance = livingEntity.getRandom().nextFloat(); - return !(chance < value && origin instanceof PersistentProjectileEntity); - }); - } - - public static float onCritAttack(final PlayerEntity player, final Entity target, final float amount) { - if (!(target instanceof LivingEntity)) - return amount; - return DataAttributesAPI.ifPresent(player, ExAPI.MELEE_CRIT_DAMAGE, amount, value -> { - return (float) (amount * (1.0 + (value * 10.0)) / 1.5); - }); - } - - public static boolean attackIsCrit(final PlayerEntity player, final Entity target, final boolean vanilla) { - if (!(target instanceof LivingEntity)) - return vanilla; - return DataAttributesAPI.ifPresent(player, ExAPI.MELEE_CRIT_CHANCE, vanilla, value -> { - float chance = player.getRandom().nextFloat(); - return (chance < value) && !player.isClimbing() && !player.isTouchingWater() - && !player.hasStatusEffect(StatusEffects.BLINDNESS) && !player.hasVehicle(); - }); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/ExScreenFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/ExScreenFactory.java deleted file mode 100644 index 2c2f7a55..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/ExScreenFactory.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import com.github.clevernucleus.playerex.PlayerEx; - -import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; -import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.Text; - -public class ExScreenFactory implements ExtendedScreenHandlerFactory { - private final int pageId; - - public ExScreenFactory(final int pageId) { - this.pageId = pageId; - } - - public static ExtendedScreenHandlerType type() { - return new ExtendedScreenHandlerType<>( - (syncId, inv, buf) -> new ExScreenFactory.Handler(syncId, inv, buf.readInt())); - } - - @Override - public ScreenHandler createMenu(int syncId, PlayerInventory inventory, PlayerEntity player) { - return new Handler(syncId, inventory, this.pageId); - } - - @Override - public void writeScreenOpeningData(ServerPlayerEntity player, PacketByteBuf buf) { - buf.writeInt(this.pageId); - } - - @Override - public Text getDisplayName() { - return Text.translatable("playerex.gui.page.attributes.title"); - } - - public static class Handler extends ScreenHandler { - public final int pageId; - - public Handler(int syncId, PlayerInventory inventory, int pageId) { - super(PlayerEx.EX_SCREEN, syncId); - this.pageId = pageId; - } - - @Override - public boolean canUse(PlayerEntity player) { - return true; - } - - @Override - public ItemStack quickMove(PlayerEntity player, int slot) { - return this.slots.get(slot).getStack(); - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/NetworkFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/NetworkFactory.java deleted file mode 100644 index 29e3232a..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/NetworkFactory.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PacketType; -import com.github.clevernucleus.playerex.api.PlayerData; -import com.github.clevernucleus.playerex.config.ConfigImpl; - -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.ServerLoginNetworking; -import net.fabricmc.fabric.api.networking.v1.ServerLoginNetworking.LoginSynchronizer; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.nbt.NbtElement; -import net.minecraft.nbt.NbtList; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.network.ServerLoginNetworkHandler; -import net.minecraft.server.network.ServerPlayNetworkHandler; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -public final class NetworkFactory { - public static final Identifier CONFIG = new Identifier(ExAPI.MODID, "config"); - public static final Identifier MODIFY = new Identifier(ExAPI.MODID, "modify"); - public static final Identifier SCREEN = new Identifier(ExAPI.MODID, "screen"); - public static final Identifier NOTIFY = new Identifier(ExAPI.MODID, "notify"); - - public static void loginQueryStart(ServerLoginNetworkHandler handler, MinecraftServer server, PacketSender sender, - ServerLoginNetworking.LoginSynchronizer synchronizer) { - PacketByteBuf buf = PacketByteBufs.create(); - NbtCompound tag = new NbtCompound(); - - ((ConfigImpl) ExAPI.getConfig()).getServerInstance().writeToNbt(tag); - - buf.writeNbt(tag); - sender.sendPacket(CONFIG, buf); - } - - public static void loginQueryResponse(MinecraftServer server, ServerLoginNetworkHandler handler, boolean understood, - PacketByteBuf buf, LoginSynchronizer synchronizer, PacketSender responseSender) { - if (!understood) { - handler.disconnect(Text.literal("Disconnected: network communication issue.")); - } - } - - public static void switchScreen(MinecraftServer server, ServerPlayerEntity player, ServerPlayNetworkHandler handler, - PacketByteBuf buf, PacketSender responseSender) { - int pageId = buf.readInt(); - - server.execute(() -> { - if (player != null) { - if (pageId < 0) { - player.onHandledScreenClosed(); - } else { - if (!ExAPI.getConfig().isAttributesGuiDisabled()) { - player.openHandledScreen(new ExScreenFactory(pageId)); - } - } - } - }); - } - - public static void modifyAttributes(MinecraftServer server, ServerPlayerEntity player, - ServerPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) { - NbtCompound tag = buf.readNbt(); - - server.execute(() -> { - if (player != null) { - PlayerData data = ExAPI.PLAYER_DATA.get(player); - NbtList list = tag.getList("Data", NbtElement.COMPOUND_TYPE); - PacketType packetType = PacketType.fromId(tag.getByte("Type")); - - if (packetType.test(server, player, data)) { - for (int i = 0; i < list.size(); i++) { - NbtCompound entry = list.getCompound(i); - Identifier identifier = new Identifier(entry.getString("Key")); - EntityAttributeSupplier attribute = EntityAttributeSupplier.of(identifier); - DataAttributesAPI.ifPresent(player, attribute, (Object) null, amount -> { - double value = entry.getDouble("Value"); - data.add(attribute, value); - return (Object) null; - }); - } - } - } - }); - } - - public static void notifyLevelUp(final ServerPlayerEntity player) { - ServerPlayNetworking.send(player, NOTIFY, PacketByteBufs.empty()); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/PlaceholderFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/PlaceholderFactory.java deleted file mode 100644 index 4367f31c..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/PlaceholderFactory.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.opc_dc.api.OfflinePlayerCache; -import com.github.clevernucleus.playerex.api.ExAPI; - -import eu.pb4.placeholders.api.PlaceholderHandler; -import eu.pb4.placeholders.api.PlaceholderResult; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; - -public final class PlaceholderFactory { - public static final Map STORE = new HashMap(); - - private static NameLevelPair nameLevelPair(final MinecraftServer server, final Collection namesIn, - final int indexIn) { - return OfflinePlayerCache.getOfflinePlayerCache(server, new NameLevelPair("", 0), opc -> { - NameLevelPair[] names = new NameLevelPair[namesIn.size()]; - int i = 0; - - for (String name : namesIn) { - names[i++] = new NameLevelPair(name, opc.get(name, ExAPI.LEVEL_VALUE)); - } - - Arrays.sort(names, Comparator.comparing(pair -> pair.level)); - int j = MathHelper.clamp(indexIn, 1, names.length); - return names[names.length - j]; - }); - } - - private static PlaceholderHandler top(Function function) { - return (ctx, arg) -> { - MinecraftServer server = ctx.server(); - Collection names = OfflinePlayerCache.getOfflinePlayerCache(server, Collections.emptySet(), - opc -> opc.playerNames()); - int index = 1; - - if (arg != null) { - try { - int i = Integer.parseInt(arg); - index = Math.max(1, i); - } catch (NumberFormatException e) { - return PlaceholderResult.invalid("Invalid argument!"); - } - } - - if (index > names.size()) - return PlaceholderResult.value(""); - NameLevelPair pair = nameLevelPair(server, names, index); - return PlaceholderResult.value(function.apply(pair)); - }; - } - - static { - STORE.put(new Identifier(ExAPI.MODID, "level"), (ctx, arg) -> { - ServerPlayerEntity player = ctx.player(); - - if (player == null) - return PlaceholderResult.invalid("No player!"); - int level = DataAttributesAPI.ifPresent(player, ExAPI.LEVEL, 0, value -> (int) Math.round(value)); - return PlaceholderResult.value(String.valueOf(level)); - }); - STORE.put(new Identifier(ExAPI.MODID, "name_top"), top(pair -> pair.name)); - STORE.put(new Identifier(ExAPI.MODID, "level_top"), top(pair -> String.valueOf(pair.level))); - } - - private static final class NameLevelPair { - protected final String name; - protected final int level; - - protected NameLevelPair(final String name, final int level) { - this.name = name; - this.level = level; - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/factory/RefundFactory.java b/src/main/java/com/github/clevernucleus/playerex/factory/RefundFactory.java deleted file mode 100644 index d71381c1..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/factory/RefundFactory.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.github.clevernucleus.playerex.factory; - -import java.util.function.BiFunction; -import java.util.function.Consumer; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PlayerData; - -import net.minecraft.entity.player.PlayerEntity; - -public final class RefundFactory { - public static final RefundFactory STORE = new RefundFactory(); - - private RefundFactory() { - } - - public void forEach(Consumer> registry) { - registry.accept((data, player) -> DataAttributesAPI.ifPresent(player, ExAPI.CONSTITUTION, 0.0D, - value -> data.get(ExAPI.CONSTITUTION))); - registry.accept((data, player) -> DataAttributesAPI.ifPresent(player, ExAPI.STRENGTH, 0.0D, - value -> data.get(ExAPI.STRENGTH))); - registry.accept((data, player) -> DataAttributesAPI.ifPresent(player, ExAPI.DEXTERITY, 0.0D, - value -> data.get(ExAPI.DEXTERITY))); - registry.accept((data, player) -> DataAttributesAPI.ifPresent(player, ExAPI.INTELLIGENCE, 0.0D, - value -> data.get(ExAPI.INTELLIGENCE))); - registry.accept((data, player) -> DataAttributesAPI.ifPresent(player, ExAPI.LUCKINESS, 0.0D, - value -> data.get(ExAPI.LUCKINESS))); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/CommandsImpl.java b/src/main/java/com/github/clevernucleus/playerex/impl/CommandsImpl.java deleted file mode 100644 index c5c6976e..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/CommandsImpl.java +++ /dev/null @@ -1,414 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import java.util.Collection; -import java.util.function.Supplier; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttribute; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.ExperienceData; -import com.github.clevernucleus.playerex.api.PacketType; -import com.github.clevernucleus.playerex.api.PlayerData; -import com.google.common.collect.Sets; -import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.arguments.IntegerArgumentType; -import com.mojang.brigadier.arguments.StringArgumentType; -import com.mojang.brigadier.suggestion.SuggestionProvider; -import com.mojang.brigadier.tree.ArgumentCommandNode; -import com.mojang.brigadier.tree.CommandNode; -import com.mojang.brigadier.tree.LiteralCommandNode; - -import net.fabricmc.fabric.api.networking.v1.PlayerLookup; -import net.minecraft.command.CommandRegistryAccess; -import net.minecraft.command.CommandSource; -import net.minecraft.command.EntitySelector; -import net.minecraft.command.argument.EntityArgumentType; -import net.minecraft.command.argument.IdentifierArgumentType; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.server.command.CommandManager; -import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; - -public final class CommandsImpl { - private static final Supplier> PRIMARIES = () -> Sets.newHashSet(ExAPI.CONSTITUTION.getId(), - ExAPI.STRENGTH.getId(), ExAPI.DEXTERITY.getId(), ExAPI.INTELLIGENCE.getId(), ExAPI.LUCKINESS.getId()); - private static final SuggestionProvider SUGGESTION_PROVIDER = (context, - builder) -> CommandSource.suggestIdentifiers(PRIMARIES.get(), builder); - - private static void registerReset(CommandNode root) { - LiteralCommandNode reset = CommandManager.literal("reset").build(); - root.addChild(reset); - - ArgumentCommandNode player = CommandManager - .argument("player", EntityArgumentType.player()).executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - playerData.reset(ExAPI.getConfig().resetOnDeath()); - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.reset", serverPlayerEntity.getName()), false); - - return 1; - }).build(); - reset.addChild(player); - } - - private static void registerResetAll(CommandNode root) { - LiteralCommandNode reset = CommandManager.literal("reset_all").executes(ctx -> { - PlayerLookup.all(ctx.getSource().getServer()).forEach(player -> { - PlayerData playerData = ExAPI.PLAYER_DATA.get(player); - playerData.reset(ExAPI.getConfig().resetOnDeath()); - }); - - ctx.getSource().sendFeedback(() -> Text.translatable("playerex.command.reset", "*"), false); - - return 1; - }).build(); - root.addChild(reset); - } - - private static void registerRefund(CommandNode root) { - LiteralCommandNode refund = CommandManager.literal("refund").build(); - root.addChild(refund); - - ArgumentCommandNode player = CommandManager - .argument("player", EntityArgumentType.player()).executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - int refunded = playerData.addRefundPoints(1); - - if (refunded == 1) { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.refund_alt", serverPlayerEntity.getName()), - false); - } else { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.refund", refunded, - serverPlayerEntity.getName()), - false); - } - - return refunded % 16; - }).build(); - refund.addChild(player); - - ArgumentCommandNode amount = CommandManager - .argument("amount", IntegerArgumentType.integer(1)).executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - int value = IntegerArgumentType.getInteger(ctx, "amount"); - int refunded = playerData.addRefundPoints(value); - - if (refunded == 1) { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.refund_alt", serverPlayerEntity.getName()), - false); - } else { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.refund", refunded, - serverPlayerEntity.getName()), - false); - } - - return refunded % 16; - }).build(); - player.addChild(amount); - } - - private static void registerLevelUp(CommandNode root) { - LiteralCommandNode levelup = CommandManager.literal("levelup").build(); - root.addChild(levelup); - - ArgumentCommandNode player = CommandManager - .argument("player", EntityArgumentType.player()).executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - return DataAttributesAPI.ifPresent(serverPlayerEntity, ExAPI.LEVEL, -1, value -> { - EntityAttribute attribute = ExAPI.LEVEL.get(); - - if (((IEntityAttribute) attribute).maxValue() - value < 1) { - ctx.getSource() - .sendFeedback(() -> (Text.translatable("playerex.command.attribute_max_error", - Text.translatable(attribute.getTranslationKey()), - serverPlayerEntity.getName())).formatted(Formatting.RED), false); - return -1; - } - - playerData.add(ExAPI.LEVEL, 1); - playerData.addSkillPoints(ExAPI.getConfig().skillPointsPerLevelUp()); - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.levelup_alt", serverPlayerEntity.getName()), - false); - return 1; - }); - }).build(); - levelup.addChild(player); - - ArgumentCommandNode amount = CommandManager - .argument("amount", IntegerArgumentType.integer(1)).executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - int levels = IntegerArgumentType.getInteger(ctx, "amount"); - return DataAttributesAPI.ifPresent(serverPlayerEntity, ExAPI.LEVEL, -1, value -> { - EntityAttribute attribute = ExAPI.LEVEL.get(); - int max = Math.round((float) (((IEntityAttribute) attribute).maxValue() - value)); - - if (max < 1) { - ctx.getSource() - .sendFeedback(() -> (Text.translatable("playerex.command.attribute_max_error", - Text.translatable(attribute.getTranslationKey()), - serverPlayerEntity.getName())).formatted(Formatting.RED), false); - return -1; - } - - int adding = MathHelper.clamp(levels, 1, max); - playerData.add(ExAPI.LEVEL, adding); - playerData.addSkillPoints(adding * ExAPI.getConfig().skillPointsPerLevelUp()); - - if (adding == 1) { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.levelup_alt", - serverPlayerEntity.getName()), - false); - } else { - ctx.getSource().sendFeedback( - () -> Text.translatable("playerex.command.levelup", adding, - serverPlayerEntity.getName()), - false); - } - - return adding % 16; - }); - }).build(); - player.addChild(amount); - } - - private static void registerSkillAttribute(CommandNode root) { - LiteralCommandNode skillAttribute = CommandManager.literal("skill_attribute").build(); - root.addChild(skillAttribute); - - ArgumentCommandNode player = CommandManager - .argument("player", EntityArgumentType.player()).build(); - skillAttribute.addChild(player); - - ArgumentCommandNode attribute = CommandManager - .argument("attribute", IdentifierArgumentType.identifier()).suggests(SUGGESTION_PROVIDER) - .executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - Identifier identifier = IdentifierArgumentType.getIdentifier(ctx, "attribute"); - EntityAttributeSupplier primary = EntityAttributeSupplier.of(identifier); - return DataAttributesAPI.ifPresent(serverPlayerEntity, primary, -1, value -> { - EntityAttribute attr = primary.get(); - - if (playerData.get(primary) < ((IEntityAttribute) attr).maxValue()) { - if (PacketType.SKILL.test(ctx.getSource().getServer(), serverPlayerEntity, playerData)) { - playerData.add(primary, 1); - ctx.getSource().sendFeedback(() -> Text.translatable("playerex.command.skill_attribute", - Text.translatable(attr.getTranslationKey()), serverPlayerEntity.getName()), - false); - return 1; - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.skill_attribute_error", - serverPlayerEntity.getName())).formatted(Formatting.RED), - false); - return -1; - } - } else { - ctx.getSource() - .sendFeedback(() -> (Text.translatable("playerex.command.attribute_max_error", - Text.translatable(attr.getTranslationKey()), serverPlayerEntity.getName())) - .formatted(Formatting.RED), false); - return -1; - } - }); - }).build(); - player.addChild(attribute); - - ArgumentCommandNode requiresSkillPoints = CommandManager - .argument("requires", StringArgumentType.word()) - .suggests((ctx, builder) -> CommandSource.suggestMatching(Sets.newHashSet("true", "false"), builder)) - .executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - Identifier identifier = IdentifierArgumentType.getIdentifier(ctx, "attribute"); - EntityAttributeSupplier primary = EntityAttributeSupplier.of(identifier); - String requires = StringArgumentType.getString(ctx, "requires"); - return DataAttributesAPI.ifPresent(serverPlayerEntity, primary, -1, value -> { - EntityAttribute attr = primary.get(); - - if (playerData.get(primary) < ((IEntityAttribute) attr).maxValue()) { - if (!requires.equals("true")) { - playerData.add(primary, 1); - ctx.getSource().sendFeedback(() -> Text.translatable("playerex.command.skill_attribute", - Text.translatable(attr.getTranslationKey()), serverPlayerEntity.getName()), - false); - return 1; - } else if (PacketType.SKILL.test(ctx.getSource().getServer(), serverPlayerEntity, - playerData)) { - playerData.add(primary, 1); - ctx.getSource().sendFeedback(() -> Text.translatable("playerex.command.skill_attribute", - Text.translatable(attr.getTranslationKey()), serverPlayerEntity.getName()), - false); - return 1; - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.skill_attribute_error", - serverPlayerEntity.getName())).formatted(Formatting.RED), - false); - return -1; - } - } else { - ctx.getSource() - .sendFeedback(() -> (Text.translatable("playerex.command.attribute_max_error", - Text.translatable(attr.getTranslationKey()), serverPlayerEntity.getName())) - .formatted(Formatting.RED), false); - return -1; - } - }); - }).build(); - attribute.addChild(requiresSkillPoints); - } - - private static void registerRefundAttribute(CommandNode root) { - LiteralCommandNode refundAttribute = CommandManager.literal("refund_attribute").build(); - root.addChild(refundAttribute); - - ArgumentCommandNode player = CommandManager - .argument("player", EntityArgumentType.player()).build(); - refundAttribute.addChild(player); - - ArgumentCommandNode attribute = CommandManager - .argument("attribute", IdentifierArgumentType.identifier()).suggests(SUGGESTION_PROVIDER) - .executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - Identifier identifier = IdentifierArgumentType.getIdentifier(ctx, "attribute"); - EntityAttributeSupplier primary = EntityAttributeSupplier.of(identifier); - return DataAttributesAPI.ifPresent(serverPlayerEntity, primary, -1, value -> { - EntityAttribute attr = primary.get(); - - if (playerData.get(primary) > 0) { - if (PacketType.REFUND.test(ctx.getSource().getServer(), serverPlayerEntity, playerData)) { - playerData.add(primary, -1); - ctx.getSource() - .sendFeedback(() -> Text.translatable("playerex.command.refund_attribute", - Text.translatable(attr.getTranslationKey()), - serverPlayerEntity.getName()), - false); - return 1; - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.refund_attribute_error", - serverPlayerEntity.getName())).formatted(Formatting.RED), - false); - return -1; - } - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.refund_attribute_unskilled", - Text.translatable(attr.getTranslationKey()), - serverPlayerEntity.getName())) - .formatted(Formatting.RED), - false); - return -1; - } - }); - }).build(); - player.addChild(attribute); - - ArgumentCommandNode requiresRefundPoints = CommandManager - .argument("requires", StringArgumentType.word()) - .suggests((ctx, builder) -> CommandSource.suggestMatching(Sets.newHashSet("true", "false"), builder)) - .executes(ctx -> { - ServerPlayerEntity serverPlayerEntity = EntityArgumentType.getPlayer(ctx, "player"); - PlayerData playerData = ExAPI.PLAYER_DATA.get(serverPlayerEntity); - Identifier identifier = IdentifierArgumentType.getIdentifier(ctx, "attribute"); - EntityAttributeSupplier primary = EntityAttributeSupplier.of(identifier); - String requires = StringArgumentType.getString(ctx, "requires"); - return DataAttributesAPI.ifPresent(serverPlayerEntity, primary, -1, value -> { - EntityAttribute attr = primary.get(); - - if (playerData.get(primary) > 0) { - if (!requires.equals("true")) { - playerData.add(primary, -1); - ctx.getSource() - .sendFeedback(() -> Text.translatable("playerex.command.refund_attribute", - Text.translatable(attr.getTranslationKey()), - serverPlayerEntity.getName()), - false); - return 1; - } else if (PacketType.REFUND.test(ctx.getSource().getServer(), serverPlayerEntity, - playerData)) { - playerData.add(primary, -1); - ctx.getSource() - .sendFeedback(() -> Text.translatable("playerex.command.refund_attribute", - Text.translatable(attr.getTranslationKey()), - serverPlayerEntity.getName()), - false); - return 1; - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.refund_attribute_error", - serverPlayerEntity.getName())).formatted(Formatting.RED), - false); - return -1; - } - } else { - ctx.getSource() - .sendFeedback( - () -> (Text.translatable("playerex.command.refund_attribute_unskilled", - Text.translatable(attr.getTranslationKey()), - serverPlayerEntity.getName())) - .formatted(Formatting.RED), - false); - return -1; - } - }); - }).build(); - attribute.addChild(requiresRefundPoints); - } - - private static void registerResetChunk(CommandNode root) { - LiteralCommandNode reset = CommandManager.literal("reset_chunk").executes(ctx -> { - World world = ctx.getSource().getWorld(); - Vec3d vec3d = ctx.getSource().getPosition(); - BlockPos pos = BlockPos.ofFloored(vec3d); - Chunk chunk = world.getChunk(pos); - - ExAPI.EXPERIENCE_DATA.maybeGet(chunk).ifPresent(ExperienceData::resetExperienceNegationFactor); - ctx.getSource().sendFeedback(() -> Text.translatable("playerex.command.reset_chunk", pos), false); - return 1; - }).build(); - root.addChild(reset); - } - - public static void register(CommandDispatcher dispatcher, CommandRegistryAccess registryAccess, - CommandManager.RegistrationEnvironment environment) { - LiteralCommandNode root = CommandManager.literal("playerex") - .requires(source -> source.hasPermissionLevel(2)).build(); - dispatcher.getRoot().addChild(root); - - registerReset(root); - registerResetAll(root); - registerRefund(root); - registerLevelUp(root); - registerSkillAttribute(root); - registerRefundAttribute(root); - registerResetChunk(root); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/DamageModificationImpl.java b/src/main/java/com/github/clevernucleus/playerex/impl/DamageModificationImpl.java deleted file mode 100644 index 13023c40..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/DamageModificationImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.function.BiFunction; - -import com.github.clevernucleus.playerex.api.damage.DamageFunction; -import com.github.clevernucleus.playerex.api.damage.DamagePredicate; - -public final class DamageModificationImpl { - private static final List REGISTRY = new ArrayList<>(); - - public static void add(final DamagePredicate predicate, final DamageFunction function) { - REGISTRY.add(registry -> registry.apply(predicate, function)); - } - - public static Collection get() { - return REGISTRY; - } - - @FunctionalInterface - public interface DamageModification { - float provide(BiFunction provider); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataContainer.java b/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataContainer.java deleted file mode 100644 index f1a27d34..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataContainer.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import com.github.clevernucleus.playerex.api.ExAPI; - -import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentFactoryRegistry; -import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentInitializer; - -public final class ExperienceDataContainer implements ChunkComponentInitializer { - - @Override - public void registerChunkComponentFactories(ChunkComponentFactoryRegistry registry) { - registry.register(ExAPI.EXPERIENCE_DATA, ExperienceDataManager.class, ExperienceDataManager::new); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataManager.java b/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataManager.java deleted file mode 100644 index 6dde0a8e..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/ExperienceDataManager.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import java.util.Random; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.ExConfig; -import com.github.clevernucleus.playerex.api.ExperienceData; - -import net.minecraft.nbt.NbtCompound; -import net.minecraft.world.chunk.Chunk; - -public final class ExperienceDataManager implements ExperienceData { - private static final String KEY_EXP_NEGATION_CHANCE = "ExpNegationFactor"; - private static final Random RANDOM = new Random(); - private final Chunk chunk; - private float expNegationFactor; - private int ticks; - private final int restorativeForceTicks; - private final float restorativeForce; - private final float expNegationMultiplier; - - public ExperienceDataManager(final Chunk chunk) { - this.chunk = chunk; - this.expNegationFactor = 1.0F; - this.ticks = 0; - - ExConfig config = ExAPI.getConfig(); - this.restorativeForceTicks = config.restorativeForceTicks(); - this.restorativeForce = config.restorativeForceMultiplier(); - this.expNegationMultiplier = config.expNegationFactor(); - } - - @Override - public boolean updateExperienceNegationFactor(final int amount) { - if(RANDOM.nextFloat() > this.expNegationFactor) return true; - float dynamicMultiplier = this.expNegationMultiplier + ((1.0F - this.expNegationMultiplier) * (1.0F - (0.1F * (float)amount))); - this.expNegationFactor = Math.max(this.expNegationFactor * dynamicMultiplier, 0.0F); - this.chunk.setNeedsSaving(true); - return false; - } - - @Override - public void resetExperienceNegationFactor() { - this.expNegationFactor = 1.0F; - } - - @Override - public void serverTick() { - if(this.expNegationFactor == 1.0F) return; - if(this.ticks < this.restorativeForceTicks) { - this.ticks++; - } else { - this.ticks = 0; - this.expNegationFactor = Math.min(this.expNegationFactor * this.restorativeForce, 1.0F); - this.chunk.setNeedsSaving(true); - } - } - - @Override - public void readFromNbt(NbtCompound tag) { - this.expNegationFactor = tag.getFloat(KEY_EXP_NEGATION_CHANCE); - } - - @Override - public void writeToNbt(NbtCompound tag) { - tag.putFloat(KEY_EXP_NEGATION_CHANCE, this.expNegationFactor); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/LevelValue.java b/src/main/java/com/github/clevernucleus/playerex/impl/LevelValue.java deleted file mode 100644 index 00a83d34..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/LevelValue.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.opc_dc.api.CacheableValue; -import com.github.clevernucleus.playerex.api.ExAPI; - -import net.minecraft.nbt.NbtCompound; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.util.Identifier; - -public final class LevelValue implements CacheableValue { - private final Identifier id; - - public LevelValue() { - this.id = new Identifier(ExAPI.MODID, "level"); - } - - @Override - public Integer get(final ServerPlayerEntity player) { - return DataAttributesAPI.ifPresent(player, ExAPI.LEVEL, 0, value -> value.intValue()); - } - - @Override - public Integer readFromNbt(final NbtCompound tag) { - return tag.getInt("level"); - } - - @Override - public void writeToNbt(final NbtCompound tag, final Object value) { - tag.putInt("level", (Integer) value); - } - - @Override - public Identifier id() { - return this.id; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (!(obj instanceof LevelValue)) - return false; - - LevelValue levelValue = (LevelValue) obj; - return this.id.equals(levelValue.id); - } - - @Override - public int hashCode() { - return this.id.hashCode(); - } - - @Override - public String toString() { - return this.id.toString(); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataContainer.java b/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataContainer.java deleted file mode 100644 index 8cce3a9c..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataContainer.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import com.github.clevernucleus.playerex.api.ExAPI; - -import dev.onyxstudios.cca.api.v3.entity.EntityComponentFactoryRegistry; -import dev.onyxstudios.cca.api.v3.entity.EntityComponentInitializer; -import dev.onyxstudios.cca.api.v3.entity.RespawnCopyStrategy; - -public final class PlayerDataContainer implements EntityComponentInitializer { - - @Override - public void registerEntityComponentFactories(EntityComponentFactoryRegistry registry) { - registry.registerForPlayers(ExAPI.PLAYER_DATA, PlayerDataManager::new, RespawnCopyStrategy.ALWAYS_COPY); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataManager.java b/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataManager.java deleted file mode 100644 index 47cca816..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/PlayerDataManager.java +++ /dev/null @@ -1,312 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.function.BiFunction; -import java.util.function.Consumer; - -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttributeInstance; -import com.github.clevernucleus.playerex.api.EntityAttributeSupplier; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.PlayerData; - -import dev.onyxstudios.cca.api.v3.component.sync.AutoSyncedComponent; -import dev.onyxstudios.cca.api.v3.component.sync.ComponentPacketWriter; -import net.minecraft.entity.attribute.AttributeContainer; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.entity.attribute.EntityAttributeInstance; -import net.minecraft.entity.attribute.EntityAttributeModifier; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.nbt.NbtElement; -import net.minecraft.nbt.NbtList; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraft.registry.Registries; - -public final class PlayerDataManager implements PlayerData, AutoSyncedComponent { - private static final String KEY_SET = "Set", KEY_REMOVE = "Remove", KEY_RESET = "Reset", - KEY_MODIFIERS = "Modifiers", KEY_REFUND_POINTS = "RefundPoints", KEY_SKILL_POINTS = "SkillPoints"; - private final PlayerEntity player; - private final Map data; - private int refundPoints, skillPoints; - public boolean hasNotifiedLevelUp; - - public PlayerDataManager(final PlayerEntity player) { - this.player = player; - this.data = new HashMap(); - this.hasNotifiedLevelUp = false; - } - - private void sync(ComponentPacketWriter packet) { - World world = this.player.getWorld(); - if (world.isClient) - return; - ExAPI.PLAYER_DATA.sync(this.player, packet); - } - - private void readModifiersFromNbt(NbtCompound tag, BiFunction function) { - NbtList modifiers = tag.getList(KEY_MODIFIERS, NbtElement.COMPOUND_TYPE); - - for (int i = 0; i < modifiers.size(); i++) { - NbtCompound entry = modifiers.getCompound(i); - Identifier identifier = new Identifier(entry.getString("Key")); - final double value = entry.getDouble("Value"); - function.apply(identifier, value); - } - } - - private boolean isValid(final Identifier registryKey, final Consumer ifPresent, - final Consumer otherwise) { - EntityAttribute attribute = Registries.ATTRIBUTE.get(registryKey); - - if (attribute == null) - return false; - AttributeContainer container = this.player.getAttributes(); - EntityAttributeInstance instance = container.getCustomInstance(attribute); - - if (instance == null) - return false; - if (instance.getModifier(ExAPI.PLAYEREX_MODIFIER_ID) != null) { - ifPresent.accept(instance); - } else { - otherwise.accept(instance); - } - - return true; - } - - private boolean trySet(final Identifier registryKey, final double valueIn) { - if (!this.isValid(registryKey, - instance -> ((IEntityAttributeInstance) instance).updateModifier(ExAPI.PLAYEREX_MODIFIER_ID, valueIn), - instance -> { - EntityAttributeModifier modifier = new EntityAttributeModifier(ExAPI.PLAYEREX_MODIFIER_ID, - "PlayerEx Attribute", valueIn, EntityAttributeModifier.Operation.ADDITION); - instance.addPersistentModifier(modifier); - })) - return false; - - this.data.put(registryKey, valueIn); - return true; - } - - private boolean tryRemove(final Identifier registryKey, final Consumer consumer) { - if (!this.isValid(registryKey, instance -> instance.removeModifier(ExAPI.PLAYEREX_MODIFIER_ID), instance -> { - })) - return false; - consumer.accept(registryKey); - return true; - } - - @Override - public double get(final EntityAttributeSupplier attributeIn) { - if (attributeIn.get() == null) - return 0.0D; - return this.data.getOrDefault(attributeIn.getId(), 0.0D); - } - - @Override - public void set(final EntityAttributeSupplier attributeIn, final double valueIn) { - EntityAttribute attribute = attributeIn.get(); - - if (attribute == null) - return; - Identifier identifier = attributeIn.getId(); - double value = attribute.clamp(valueIn); - - if (!this.trySet(identifier, value)) - return; - this.sync((buf, player) -> { - NbtCompound tag = new NbtCompound(); - NbtCompound entry = new NbtCompound(); - entry.putString("Key", identifier.toString()); - entry.putDouble("Value", value); - tag.put(KEY_SET, entry); - buf.writeNbt(tag); - }); - } - - @Override - public void add(final EntityAttributeSupplier attributeIn, final double valueIn) { - final double value = this.get(attributeIn); - this.set(attributeIn, value + valueIn); - } - - @Override - public void remove(final EntityAttributeSupplier attributeIn) { - Identifier identifier = attributeIn.getId(); - - if (!this.tryRemove(identifier, this.data::remove)) - return; - this.sync((buf, player) -> { - NbtCompound tag = new NbtCompound(); - tag.putString(KEY_REMOVE, identifier.toString()); - buf.writeNbt(tag); - }); - } - - @Override - public void reset(int percent) { - if (percent == 100) - return; - NbtList list = new NbtList(); - - for (Iterator iterator = this.data.keySet().iterator(); iterator.hasNext();) { - Identifier identifier = iterator.next(); - - if (percent == 0) { - if (!this.tryRemove(identifier, id -> iterator.remove())) - continue; - NbtCompound entry = new NbtCompound(); - entry.putString("Key", identifier.toString()); - entry.putDouble("Value", 0.0D); - entry.putBoolean("Remove", true); - list.add(entry); - } else { - double value = this.data.getOrDefault(identifier, 0.0D) * 0.01D * percent; - if (!this.trySet(identifier, value)) - continue; - NbtCompound entry = new NbtCompound(); - entry.putString("Key", identifier.toString()); - entry.putDouble("Value", value); - entry.putBoolean("Remove", false); - list.add(entry); - } - } - - this.refundPoints = Math.round((float) this.refundPoints * 0.01F * (float) percent); - this.skillPoints = Math.round((float) this.skillPoints * 0.01F * (float) percent); - this.sync((buf, player) -> { - NbtCompound tag = new NbtCompound(); - tag.put(KEY_RESET, list); - tag.putInt(KEY_SKILL_POINTS, this.skillPoints); - tag.putInt(KEY_REFUND_POINTS, this.refundPoints); - buf.writeNbt(tag); - }); - } - - @Override - public void addSkillPoints(final int pointsIn) { - this.skillPoints += pointsIn; - this.sync((buf, player) -> { - NbtCompound tag = new NbtCompound(); - tag.putInt(KEY_SKILL_POINTS, this.skillPoints); - buf.writeNbt(tag); - }); - } - - @Override - public int addRefundPoints(final int pointsIn) { - final int previous = this.refundPoints; - double maxRefundPt = 0.0D; - - for (var refundCondition : RefundConditionImpl.get()) { - maxRefundPt += refundCondition.apply(this, this.player); - } - - double refund = MathHelper.clamp((double) (this.refundPoints + pointsIn), 0.0D, maxRefundPt); - this.refundPoints = Math.round((float) refund); - this.sync((buf, player) -> { - NbtCompound tag = new NbtCompound(); - tag.putInt(KEY_REFUND_POINTS, this.refundPoints); - buf.writeNbt(tag); - }); - - return this.refundPoints - previous; - } - - @Override - public int skillPoints() { - return this.skillPoints; - } - - @Override - public int refundPoints() { - return this.refundPoints; - } - - @Override - public boolean shouldSyncWith(ServerPlayerEntity player) { - return player == this.player; - } - - @Override - public void applySyncPacket(PacketByteBuf buf) { - NbtCompound tag = buf.readNbt(); - - if (tag == null) - return; - if (tag.contains(KEY_SET)) { - NbtCompound entry = tag.getCompound(KEY_SET); - Identifier identifier = new Identifier(entry.getString("Key")); - final double value = entry.getDouble("Value"); - this.data.put(identifier, value); - } - - if (tag.contains(KEY_REMOVE)) { - Identifier identifier = new Identifier(tag.getString(KEY_REMOVE)); - this.data.remove(identifier); - } - - if (tag.contains(KEY_RESET)) { - NbtList list = tag.getList(KEY_RESET, NbtElement.COMPOUND_TYPE); - - for (int i = 0; i < list.size(); i++) { - NbtCompound entry = list.getCompound(i); - Identifier identifier = new Identifier(entry.getString("Key")); - final boolean remove = entry.getBoolean("Remove"); - - if (remove) { - this.data.remove(identifier); - } else { - final double value = entry.getDouble("Value"); - this.data.put(identifier, value); - } - } - - this.hasNotifiedLevelUp = false; - } - - if (tag.contains(KEY_MODIFIERS)) { - this.readModifiersFromNbt(tag, this.data::put); - } - - if (tag.contains(KEY_REFUND_POINTS)) { - this.refundPoints = tag.getInt(KEY_REFUND_POINTS); - } - - if (tag.contains(KEY_SKILL_POINTS)) { - this.skillPoints = tag.getInt(KEY_SKILL_POINTS); - } - } - - @Override - public void readFromNbt(NbtCompound tag) { - this.readModifiersFromNbt(tag, this::trySet); - this.refundPoints = tag.getInt(KEY_REFUND_POINTS); - this.skillPoints = tag.getInt(KEY_SKILL_POINTS); - this.hasNotifiedLevelUp = tag.getBoolean("NotifiedLevelUp"); - } - - @Override - public void writeToNbt(NbtCompound tag) { - NbtList modifiers = new NbtList(); - - for (Identifier identifier : this.data.keySet()) { - NbtCompound entry = new NbtCompound(); - double value = this.data.get(identifier); - entry.putString("Key", identifier.toString()); - entry.putDouble("Value", value); - modifiers.add(entry); - } - - tag.put(KEY_MODIFIERS, modifiers); - tag.putInt(KEY_REFUND_POINTS, this.refundPoints); - tag.putInt(KEY_SKILL_POINTS, this.skillPoints); - tag.putBoolean("NotifiedLevelUp", this.hasNotifiedLevelUp); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/impl/RefundConditionImpl.java b/src/main/java/com/github/clevernucleus/playerex/impl/RefundConditionImpl.java deleted file mode 100644 index 20dd4dd1..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/impl/RefundConditionImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.github.clevernucleus.playerex.impl; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.function.BiFunction; - -import com.github.clevernucleus.playerex.api.PlayerData; - -import net.minecraft.entity.player.PlayerEntity; - -public final class RefundConditionImpl { - private static final List> REGISTRY = new ArrayList<>(); - - public static void add(final BiFunction refundCondition) { - REGISTRY.add(refundCondition); - } - - public static Collection> get() { - return REGISTRY; - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/ExperienceOrbEntityMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/ExperienceOrbEntityMixin.java deleted file mode 100644 index a2f60837..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/ExperienceOrbEntityMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.github.clevernucleus.playerex.api.ExAPI; - -import net.minecraft.entity.Entity.RemovalReason; -import net.minecraft.entity.ExperienceOrbEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; - -@Mixin(ExperienceOrbEntity.class) -abstract class ExperienceOrbEntityMixin { - - // Inject code at the end of the constructor method - @Inject(method = "", at = @At("TAIL")) - public void playerex_init(World world, double x, double y, double z, int amount, CallbackInfo ci) { - // Create a BlockPos based on the provided coordinates - BlockPos pos = BlockPos.ofFloored(x, y, z); - - // Get the chunk at the specified position - Chunk chunk = world.getChunk(pos); - - // Access the experience data through the ExAPI and perform actions based on it - ExAPI.EXPERIENCE_DATA.maybeGet(chunk).ifPresent(data -> { - // Update the experience negation factor with the given amount - if (data.updateExperienceNegationFactor(amount)) { - // If the factor was updated and it evaluates to true, remove the experience orb - ((ExperienceOrbEntity) (Object) this).remove(RemovalReason.DISCARDED); - } - }); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/LivingEntityMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/LivingEntityMixin.java deleted file mode 100644 index 866584f5..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/LivingEntityMixin.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyVariable; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.github.clevernucleus.playerex.api.event.LivingEntityEvents; - -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.damage.DamageSource; - -@Mixin(LivingEntity.class) -abstract class LivingEntityMixin { - - // Unique field to store tick counter - @Unique - private int playerex_ticks; - - // Modify the amount of healing before it occurs - @ModifyVariable(method = "heal", at = @At("HEAD")) - private float playerex_heal(float amount) { - return LivingEntityEvents.ON_HEAL.invoker().onHeal((LivingEntity) (Object) this, amount); - } - - // Inject code at the beginning of the heal method to potentially cancel healing - @Inject(method = "heal", at = @At("HEAD"), cancellable = true) - private void playerex_heal(float amount, CallbackInfo info) { - // Check if healing should be cancelled - final boolean cancel = LivingEntityEvents.SHOULD_HEAL.invoker().shouldHeal((LivingEntity) (Object) this, amount); - - if (!cancel) { - // If not cancelled, proceed with the default healing - info.cancel(); - } - } - - // Inject code at the end of the tick method to trigger an event every second - @Inject(method = "tick", at = @At("TAIL")) - private void playerex_tick(CallbackInfo info) { - LivingEntity livingEntity = (LivingEntity) (Object) this; - - // Increment the tick counter, trigger an event every second, and reset the counter after 20 ticks (1 second) - if (this.playerex_ticks < 20) { - this.playerex_ticks++; - } else { - LivingEntityEvents.EVERY_SECOND.invoker().everySecond(livingEntity); - this.playerex_ticks = 0; - } - } - - // Modify the amount of damage before it occurs - @ModifyVariable(method = "damage", at = @At("HEAD"), ordinal = 0) - private float playerex_damage(float amount, DamageSource source) { - return LivingEntityEvents.ON_DAMAGE.invoker().onDamage((LivingEntity) (Object) this, source, amount); - } - - // Inject code before the despawnCounter field is accessed to potentially cancel damage - @Inject(method = "damage", at = @At(value = "FIELD", target = "Lnet/minecraft/entity/LivingEntity;despawnCounter:I", ordinal = 0), cancellable = true) - private void playerex_damage(DamageSource source, float amount, CallbackInfoReturnable info) { - // Check if damage should be cancelled - final boolean cancel = LivingEntityEvents.SHOULD_DAMAGE.invoker().shouldDamage((LivingEntity) (Object) this, source, amount); - - if (!cancel) { - // If not cancelled, proceed with the default damage handling - info.setReturnValue(false); - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/PersistentProjectileEntityMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/PersistentProjectileEntityMixin.java deleted file mode 100644 index 199dd567..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/PersistentProjectileEntityMixin.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyArg; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.projectile.PersistentProjectileEntity; -import net.minecraft.entity.projectile.ProjectileEntity; -import net.minecraft.util.hit.EntityHitResult; -import net.minecraft.world.World; - -@Mixin(PersistentProjectileEntity.class) -abstract class PersistentProjectileEntityMixin extends ProjectileEntity { - - // Constructor for the mixin class - private PersistentProjectileEntityMixin(EntityType entityType, World world) { - super(entityType, world); - } - - // Injecting code into the onEntityHit method at a specific point - @Inject(method = "onEntityHit", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/Vec3d;length()D")) - private void playerex_onEntityHit(EntityHitResult entityHitResult, CallbackInfo info) { - // Cast this to PersistentProjectileEntity - PersistentProjectileEntity persistentProjectileEntity = (PersistentProjectileEntity) (Object) this; - - // Get the owner of the projectile - Entity owner = persistentProjectileEntity.getOwner(); - - // Check if the owner is a living entity - if (owner instanceof LivingEntity) { - // Modify the critical hit chance using DataAttributesAPI - DataAttributesAPI.ifPresent((LivingEntity) owner, ExAPI.RANGED_CRIT_CHANCE, 0, value -> { - persistentProjectileEntity.setCritical(false); - return 0; - }); - } - } - - // Modifying an argument in the onEntityHit method - @ModifyArg(method = "onEntityHit", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/damage/DamageSource;F)Z"), index = -1) - private float playerex_onEntityHit(float i) { - // Cast this to PersistentProjectileEntity - PersistentProjectileEntity persistentProjectileEntity = (PersistentProjectileEntity) (Object) this; - // Get the owner of the projectile - Entity owner = persistentProjectileEntity.getOwner(); - float damage = i; - - // Check if the owner is a living entity - if (owner instanceof LivingEntity) { - LivingEntity livingEntity = (LivingEntity) owner; - final float amount = damage; - - // Modify the critical hit chance and damage using DataAttributesAPI - if (DataAttributesAPI.ifPresent(livingEntity, ExAPI.RANGED_CRIT_CHANCE, - persistentProjectileEntity.isCritical(), value -> { - boolean cache = livingEntity.getRandom().nextFloat() < value; - persistentProjectileEntity.setCritical(cache); - return cache; - })) { - final long randomOffset = this.random.nextInt(Math.round(i) / 2 + 2); - final float fallback = Math.min(randomOffset + (long) i, Integer.MAX_VALUE); - damage = DataAttributesAPI.ifPresent(livingEntity, ExAPI.RANGED_CRIT_DAMAGE, fallback, - value -> (float) (amount * (1.0 + (10.0 * value)))); - } - } - - // Print the modified damage for debugging purposes - System.out.println("DAMAGE: " + damage); - return damage; - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerEntityMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerEntityMixin.java deleted file mode 100644 index 5f0a3fd1..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerEntityMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; - -import com.github.clevernucleus.playerex.api.event.PlayerEntityEvents; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.PlayerEntity; - -@Mixin(PlayerEntity.class) -abstract class PlayerEntityMixin { - - // Modify the 'bl3' variable in the 'attack' method before it's stored - @ModifyVariable(method = "attack", at = @At("STORE"), name = "bl3", ordinal = 2) - private boolean playerex_attack(boolean bl3, Entity target) { - // Invoke the SHOULD_CRIT event to determine if the attack should be a critical hit - return PlayerEntityEvents.SHOULD_CRIT.invoker().shouldCrit((PlayerEntity) (Object) this, target, bl3); - } - - // Modify the 'f' variable in the 'attack' method before it's stored - @ModifyVariable(method = "attack", at = @At(value = "STORE", ordinal = 2), name = "f", ordinal = 0) - private float playerex_attack(float f, Entity target) { - // Invoke the ON_CRIT event to modify the critical hit damage - return PlayerEntityEvents.ON_CRIT.invoker().onCrit((PlayerEntity) (Object) this, target, f); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerInventoryMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerInventoryMixin.java deleted file mode 100644 index 802ce5a8..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/PlayerInventoryMixin.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; - -import net.minecraft.block.BlockState; -import net.minecraft.entity.player.PlayerInventory; - -@Mixin(PlayerInventory.class) -abstract class PlayerInventoryMixin { - - // Inject code into the getBlockBreakingSpeed method after its return - @Inject(method = "getBlockBreakingSpeed", at = @At("RETURN"), cancellable = true) - private void playerex_getBlockBreakingSpeed(BlockState block, CallbackInfoReturnable info) { - // Store the original return value of the method - float original = info.getReturnValue(); - - // Use DataAttributesAPI to get the breaking speed attribute from the player - float result = DataAttributesAPI.ifPresent(((PlayerInventory) (Object) this).player, ExAPI.BREAKING_SPEED, - original, value -> { - // Modify the original breaking speed based on the attribute value - return (float) (original + value - 1.0); - }); - - // Set the modified value as the new return value - info.setReturnValue(result); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/ServerPlayerEntityMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/ServerPlayerEntityMixin.java deleted file mode 100644 index f8089049..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/ServerPlayerEntityMixin.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.factory.NetworkFactory; -import com.github.clevernucleus.playerex.impl.PlayerDataManager; - -import net.minecraft.server.network.ServerPlayerEntity; - -@Mixin(ServerPlayerEntity.class) -abstract class ServerPlayerEntityMixin { - - // Inject code at the end of the addExperienceLevels method - @Inject(method = "addExperienceLevels", at = @At("TAIL")) - private void playerex_addExperienceLevels(int levels, CallbackInfo info) { - // Cast this mixin to ServerPlayerEntity to access player-related methods and fields - ServerPlayerEntity player = (ServerPlayerEntity) (Object) this; - - // Get the PlayerDataManager instance associated with the player from the ExAPI - PlayerDataManager playerDataManager = (PlayerDataManager) ExAPI.PLAYER_DATA.get(player); - - // Get the current experience level and calculate the required experience using ExAPI.getConfig().requiredXp(player) - int currentXp = player.experienceLevel; - int requiredXp = ExAPI.getConfig().requiredXp(player); - - // Check if the player's current experience level is greater than or equal to the required experience level - if (currentXp >= requiredXp) { - // If the condition is true and the player has not been notified of the level up yet - if (!playerDataManager.hasNotifiedLevelUp) { - // Notify a level up using the NetworkFactory and update the flag - NetworkFactory.notifyLevelUp(player); - playerDataManager.hasNotifiedLevelUp = true; - } - } else { - // If the condition is false, reset the notification flag - playerDataManager.hasNotifiedLevelUp = false; - } - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/ServerWorldMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/ServerWorldMixin.java deleted file mode 100644 index b6a8d5b3..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/ServerWorldMixin.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.github.clevernucleus.playerex.mixin; - -import org.slf4j.Logger; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import net.minecraft.server.world.ServerWorld; - -@Mixin(ServerWorld.class) -abstract class ServerWorldMixin { - - // Redirect the "warn" method call in the "addEntity" method - @Redirect(method = "addEntity", at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;)V")) - private void playerex_addEntity(Logger logger, String arg0, Object arg1) { - // Redirecting the "warn" method call to an empty method effectively disables the warning - // This is a way to suppress or alter log messages during entity addition - // You can customize the behavior based on your requirements - // The parameters (logger, arg0, arg1) are the original parameters of the "warn" method - // and can be used if you want to perform specific actions or logging. - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/client/AbstractInventoryScreenMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/client/AbstractInventoryScreenMixin.java deleted file mode 100644 index c2d650f8..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/client/AbstractInventoryScreenMixin.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.github.clevernucleus.playerex.mixin.client; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.function.Supplier; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.github.clevernucleus.playerex.client.PageRegistryImpl; -import com.github.clevernucleus.playerex.client.PlayerExClient; -import com.github.clevernucleus.playerex.client.gui.ExScreenData; -import com.github.clevernucleus.playerex.client.gui.Page; - -import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.screen.ScreenHandler; -import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -@Mixin(AbstractInventoryScreen.class) -abstract class AbstractInventoryScreenMixin extends HandledScreen implements ExScreenData { - - @Unique - private List playerex_pages = new ArrayList(); - - // Constructor for the mixin, called by the superclass constructor - private AbstractInventoryScreenMixin(T handler, PlayerInventory inventory, Text title) { - super(handler, inventory, title); - } - - // Method to filter out specific pages based on their identifiers - private boolean filter(Map.Entry> entry) { - Identifier key = entry.getKey(); - // Exclude ATTRIBUTES_PAGE and COMBAT_PAGE - return !(key.equals(PlayerExClient.ATTRIBUTES_PAGE) || key.equals(PlayerExClient.COMBAT_PAGE)); - } - - // Inject code at the end of the superclass constructor - @Inject(method = "", at = @At("TAIL")) - private void playerex_init(T screenHandler, PlayerInventory playerInventory, Text text, CallbackInfo info) { - // Add ATTRIBUTES_PAGE and COMBAT_PAGE at specific indices - this.playerex_pages.add(0, PageRegistryImpl.findPage(PlayerExClient.ATTRIBUTES_PAGE)); - this.playerex_pages.add(1, PageRegistryImpl.findPage(PlayerExClient.COMBAT_PAGE)); - - // Add other pages (excluding ATTRIBUTES_PAGE and COMBAT_PAGE) from the PageRegistry - PageRegistryImpl.pages().entrySet().stream().filter(this::filter).map(Map.Entry::getValue).forEach(page -> this.playerex_pages.add(page.get())); - } - - // Implementation of the ExScreenData interface method - @Override - public int getX() { - return this.x; - } - - // Implementation of the ExScreenData interface method - @Override - public int getY() { - return this.y; - } - - // Implementation of the ExScreenData interface method - @Override - public List pages() { - return this.playerex_pages; - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/client/InventoryScreenMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/client/InventoryScreenMixin.java deleted file mode 100644 index 6d9b34e6..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/client/InventoryScreenMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.github.clevernucleus.playerex.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; - -import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; -import net.minecraft.client.gui.screen.ingame.InventoryScreen; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.screen.PlayerScreenHandler; -import net.minecraft.text.Text; - -@Mixin(InventoryScreen.class) -abstract class InventoryScreenMixin extends AbstractInventoryScreen { - - // Constructor for the mixin, called by the superclass constructor - private InventoryScreenMixin(PlayerEntity player, Text text) { - super(player.playerScreenHandler, player.getInventory(), text); - } - - // // Custom method to iterate over TabButtonWidget elements and apply a - // consumer - // private void playerex_forEachTab(Consumer consumer) { - // // Filter children to get only TabButtonWidget instances and apply the - // consumer - // this.children().stream().filter(e -> e instanceof TabButtonWidget) - // .forEach(e -> consumer.accept((TabButtonWidget) e)); - // } - - // // Inject code at the end of the render method - // @Inject(method = "render", at = @At("TAIL")) - // private void playerex_render(DrawContext context, int mouseX, int mouseY, - // float delta, CallbackInfo info) { - // // Render tooltips for each TabButtonWidget using the playerex_forEachTab - // method - // this.playerex_forEachTab(tab -> tab.renderTooltip(context, mouseX, mouseY, - // delta)); - // } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/client/ItemStackMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/client/ItemStackMixin.java deleted file mode 100644 index dc14db93..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/client/ItemStackMixin.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.github.clevernucleus.playerex.mixin.client; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyVariable; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; - -import com.github.clevernucleus.dataattributes_dc.api.attribute.IEntityAttribute; -import com.github.clevernucleus.dataattributes_dc.api.item.ItemFields; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.api.client.ClientUtil; -import com.github.clevernucleus.playerex.config.ConfigImpl; -import com.google.common.collect.Multimap; - -import net.minecraft.client.item.TooltipContext; -import net.minecraft.entity.EquipmentSlot; -import net.minecraft.entity.attribute.EntityAttribute; -import net.minecraft.entity.attribute.EntityAttributeInstance; -import net.minecraft.entity.attribute.EntityAttributeModifier; -import net.minecraft.entity.attribute.EntityAttributes; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.text.MutableText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -@Mixin(ItemStack.class) -abstract class ItemStackMixin { - - // Method to get the tooltip configuration - @Unique - private ConfigImpl.Tooltip playerex_tooltip() { - return ((ConfigImpl) ExAPI.getConfig()).tooltip(); - } - - // Method to modify the attribute value based on the tooltip configuration - @Unique - private double playerex_modifyValue(double d, PlayerEntity player, EntityAttribute attribute, UUID uuid) { - if (player == null || playerex_tooltip() == ConfigImpl.Tooltip.DEFAULT) - return d; - double e = d - player.getAttributeBaseValue(attribute); - EntityAttributeInstance instance = player.getAttributeInstance(attribute); - EntityAttributeModifier modifier = instance.getModifier(uuid); - double value = player.getAttributeValue(attribute) + e; - - if (modifier != null) { - value -= modifier.getValue(); - } - - return playerex_tooltip() == ConfigImpl.Tooltip.PLAYEREX ? e : value; - } - - // Method to format the attribute value based on the attribute type - @Unique - private String playerex_value(double e, Map.Entry entry, - EntityAttributeModifier modifier) { - if (modifier.getOperation() != EntityAttributeModifier.Operation.ADDITION) - return ItemStack.MODIFIER_FORMAT.format(e); - EntityAttribute attribute = entry.getKey(); - String value = ItemStack.MODIFIER_FORMAT.format(ClientUtil.displayValue(() -> attribute, e)); - - if (((IEntityAttribute) attribute).hasProperty(ExAPI.PERCENTAGE_PROPERTY)) { - value += "%"; - } - - return value; - } - - // Modify the attack damage value based on the tooltip configuration - @ModifyVariable(method = "getTooltip", at = @At(value = "STORE", ordinal = 1), ordinal = 0) - private double playerex_modifyAttackDamage(double d, PlayerEntity player) { - return playerex_modifyValue(d, player, EntityAttributes.GENERIC_ATTACK_DAMAGE, - ItemFields.attackDamageModifierID()); - } - - // Modify the attack speed value based on the tooltip configuration - @ModifyVariable(method = "getTooltip", at = @At(value = "STORE", ordinal = 3), ordinal = 0) - private double playerex_modifyAttackSpeed(double d, PlayerEntity player) { - return playerex_modifyValue(d, player, EntityAttributes.GENERIC_ATTACK_SPEED, - ItemFields.attackSpeedModifierID()); - } - - // Flag to exclude attack damage from the tooltip based on the configuration - @ModifyVariable(method = "getTooltip", at = @At(value = "STORE", ordinal = 1), ordinal = 0) - private boolean playerex_flagAttackDamage(boolean bl) { - return playerex_tooltip() == ConfigImpl.Tooltip.PLAYEREX ? false : bl; - } - - // Flag to exclude attack speed from the tooltip based on the configuration - @ModifyVariable(method = "getTooltip", at = @At(value = "STORE", ordinal = 2), ordinal = 0) - private boolean playerex_flagAttackSpeed(boolean bl) { - return playerex_tooltip() == ConfigImpl.Tooltip.PLAYEREX ? false : bl; - } - - // Modify the additional attribute value for knockback based on a custom factor - @ModifyVariable(method = "getTooltip", at = @At(value = "STORE", ordinal = 1), ordinal = 1) - private double playerex_modifyAdditionAttributeKnockback(double e, PlayerEntity player) { - return e / 10.0D; - } - - // Inject code to handle tooltips for different modifier operations - @Inject(method = "getTooltip", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 7, shift = Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD) - private void playerex_insertModifierEqualsTooltip(PlayerEntity player, TooltipContext context, - CallbackInfoReturnable> info, List list, MutableText arg3, int arg4, EquipmentSlot[] arg5, - int arg6, int arg7, EquipmentSlot arg8, Multimap arg9, Iterator arg10, - Map.Entry entry, EntityAttributeModifier entityAttributeModifier, - double arg13, double e) { - list.set(list.size() - 1, Text.literal(" ") - .append(Text.translatable("attribute.modifier.equals." + entityAttributeModifier.getOperation().getId(), - playerex_value(e, entry, entityAttributeModifier), - Text.translatable(entry.getKey().getTranslationKey()))) - .formatted(Formatting.DARK_GREEN)); - } - - @Inject(method = "getTooltip", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 8, shift = Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD) - private void playerex_insertModifierPlusTooltip(PlayerEntity player, TooltipContext context, - CallbackInfoReturnable> info, List list, MutableText arg3, int arg4, EquipmentSlot[] arg5, - int arg6, int arg7, EquipmentSlot arg8, Multimap arg9, Iterator arg10, - Map.Entry entry, EntityAttributeModifier entityAttributeModifier, - double arg13, double e) { - list.set(list.size() - 1, - Text.translatable("attribute.modifier.plus." + entityAttributeModifier.getOperation().getId(), - playerex_value(e, entry, entityAttributeModifier), - Text.translatable(entry.getKey().getTranslationKey())).formatted(Formatting.BLUE)); - } - - @Inject(method = "getTooltip", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 9, shift = Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD) - private void playerex_insertModifierTakeTooltip(PlayerEntity player, TooltipContext context, - CallbackInfoReturnable> info, List list, MutableText arg3, int arg4, EquipmentSlot[] arg5, - int arg6, int arg7, EquipmentSlot arg8, Multimap arg9, Iterator arg10, - Map.Entry entry, EntityAttributeModifier entityAttributeModifier, - double arg13, double e) { - list.set(list.size() - 1, - Text.translatable("attribute.modifier.take." + entityAttributeModifier.getOperation().getId(), - playerex_value(e, entry, entityAttributeModifier), - Text.translatable(entry.getKey().getTranslationKey())).formatted(Formatting.RED)); - } -} diff --git a/src/main/java/com/github/clevernucleus/playerex/mixin/client/LivingEntityRendererMixin.java b/src/main/java/com/github/clevernucleus/playerex/mixin/client/LivingEntityRendererMixin.java deleted file mode 100644 index fe4832ed..00000000 --- a/src/main/java/com/github/clevernucleus/playerex/mixin/client/LivingEntityRendererMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.github.clevernucleus.playerex.mixin.client; - -import org.joml.Matrix4f; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI; -import com.github.clevernucleus.playerex.api.ExAPI; -import com.github.clevernucleus.playerex.config.ConfigImpl; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.entity.EntityRenderer; -import net.minecraft.client.render.entity.EntityRendererFactory; -import net.minecraft.client.render.entity.LivingEntityRenderer; -import net.minecraft.client.render.entity.model.EntityModel; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.Entity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.scoreboard.AbstractTeam; -import net.minecraft.text.StringVisitable; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -@Mixin(LivingEntityRenderer.class) -abstract class LivingEntityRendererMixin> extends EntityRenderer { - - // Constructor - private LivingEntityRendererMixin(EntityRendererFactory.Context ctx, M model, float shadowRadius) { - super(ctx); - } - - // Custom method to check if the level nameplate should be rendered - private boolean playerex_shouldRenderLevel(T livingEntity) { - double d = this.dispatcher.getSquaredDistanceToCamera((Entity) livingEntity); - float f = ((Entity) livingEntity).isSneaky() ? 32.0f : 64.0f; - - if (d >= (double) (f * f)) - return false; - MinecraftClient minecraftClient = MinecraftClient.getInstance(); - ClientPlayerEntity clientPlayerEntity = minecraftClient.player; - boolean bl = !((Entity) livingEntity).isInvisibleTo(clientPlayerEntity); - - if (livingEntity != clientPlayerEntity) { - AbstractTeam abstractTeam = ((Entity) livingEntity).getScoreboardTeam(); - AbstractTeam abstractTeam2 = clientPlayerEntity.getScoreboardTeam(); - - if (abstractTeam != null) { - AbstractTeam.VisibilityRule visibilityRule = abstractTeam.getNameTagVisibilityRule(); - - switch (visibilityRule) { - case ALWAYS: { - return bl; - } - case NEVER: { - return false; - } - case HIDE_FOR_OTHER_TEAMS: { - return abstractTeam2 == null ? bl - : abstractTeam.isEqual(abstractTeam2) - && (abstractTeam.shouldShowFriendlyInvisibles() || bl); - } - case HIDE_FOR_OWN_TEAM: { - return abstractTeam2 == null ? bl : !abstractTeam.isEqual(abstractTeam2) && bl; - } - } - - return true; - } - } - - return MinecraftClient.isHudEnabled() && livingEntity != minecraftClient.getCameraEntity() && bl - && !((Entity) livingEntity).hasPassengers(); - } - - // Custom method to render the level nameplate - private void playerex_renderLevel(T entity, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, - int light) { - double d = this.dispatcher.getSquaredDistanceToCamera(entity); - - if (!(d > 4096.0D)) { - boolean bl = !entity.isSneaky(); - float f = entity.getHeight() + ExAPI.getConfig().levelNameplateHeight(); - int i = 0; - matrices.push(); - matrices.translate(0.0D, (double) f, 0.0D); - matrices.multiply(this.dispatcher.getRotation()); - matrices.scale(-0.025F, -0.025F, 0.025F); - Matrix4f matrix4f = matrices.peek().getPositionMatrix(); - MinecraftClient mc = MinecraftClient.getInstance(); - float g = mc.options.getTextBackgroundOpacity(0.25F); - int j = (int) (g * 255.0F) << 24; - TextRenderer textRenderer = this.getTextRenderer(); - float h = (float) (-textRenderer.getWidth((StringVisitable) text) / 2); - - TextRenderer.TextLayerType textLayer = bl ? TextRenderer.TextLayerType.NORMAL - : TextRenderer.TextLayerType.SEE_THROUGH; - - textRenderer.draw(text, h, (float) i, 553648127, false, matrix4f, vertexConsumers, textLayer, j, light); - - if (bl) { - textRenderer.draw((Text) text, h, (float) i, -1, false, matrix4f, vertexConsumers, textLayer, 0, light); - } - - matrices.pop(); - } - } - - // Inject code at the end of the render method - @Inject(method = "render", at = @At("TAIL")) - private void onRender(T livingEntity, float f, float g, MatrixStack matrixStack, - VertexConsumerProvider vertexConsumerProvider, int i, CallbackInfo info) { - // Check if the level nameplate should be rendered and the configuration allows - // it - if (this.playerex_shouldRenderLevel(livingEntity) && ((ConfigImpl) ExAPI.getConfig()).levelNameplate()) { - // Get the level value using DataAttributesAPI - DataAttributesAPI.ifPresent(livingEntity, ExAPI.LEVEL, (Object) null, value -> { - // Check if the entity is the player "CleverNucleus" (for special formatting) - boolean coder = (livingEntity instanceof PlayerEntity) - && "CleverNucleus".equals(((PlayerEntity) livingEntity).getGameProfile().getName()); - // Format the level as a Text object - Text tag = Text.translatable("playerex.gui.text.nameplate", String.valueOf(Math.round(value))) - .formatted(coder ? Formatting.GOLD : Formatting.WHITE); - // Render the level nameplate - this.playerex_renderLevel(livingEntity, tag, matrixStack, vertexConsumerProvider, i); - return (Object) null; - }); - } - } -} diff --git a/src/main/kotlin/com/edelweiss/playerex/Playerexdirectorscut.kt b/src/main/kotlin/com/edelweiss/playerex/Playerexdirectorscut.kt new file mode 100644 index 00000000..56a7a689 --- /dev/null +++ b/src/main/kotlin/com/edelweiss/playerex/Playerexdirectorscut.kt @@ -0,0 +1,12 @@ +package com.edelweiss.playerex + +import net.fabricmc.api.ModInitializer +import org.slf4j.LoggerFactory + +object PlayerEXDirectorsCut : ModInitializer { + private val logger = LoggerFactory.getLogger("playerex-directors-cut") + + override fun onInitialize() { + logger.info("Hello Fabric world!") + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/edelweiss/playerex/PlayerexdirectorscutDataGenerator.kt b/src/main/kotlin/com/edelweiss/playerex/PlayerexdirectorscutDataGenerator.kt new file mode 100644 index 00000000..ef7ace70 --- /dev/null +++ b/src/main/kotlin/com/edelweiss/playerex/PlayerexdirectorscutDataGenerator.kt @@ -0,0 +1,9 @@ +package com.edelweiss.playerex + +import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator + +object PlayerEXDirectorsCutDataGenerator : DataGeneratorEntrypoint { + override fun onInitializeDataGenerator(fabricDataGenerator: FabricDataGenerator) { + } +} \ No newline at end of file diff --git a/src/main/resources/LICENSE_exp4j b/src/main/resources/LICENSE_exp4j deleted file mode 100644 index 90efbdd9..00000000 --- a/src/main/resources/LICENSE_exp4j +++ /dev/null @@ -1,206 +0,0 @@ -/*************************************/ -/******* Credit to exp4j *************/ -/*************************************/ - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/src/main/resources/assets/playerex-directors-cut/icon.png b/src/main/resources/assets/playerex-directors-cut/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9f9530e89a43e5e7c1b390d1f9ac03875d8d03 GIT binary patch literal 144328 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�kMvZh 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 OkNi6&>58{7zyAZ1nn7;> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/playerex/icon.png b/src/main/resources/assets/playerex/icon.png deleted file mode 100644 index 9148d51c24449eee433ba2c3a86db7bc5b6df3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162196 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%0AI$zLFE3Yxl3ZwtDas@|x}O*rr(&Y}%^tVmcV$mQ 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 z

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 U-Y*DMP>|mjDJ97o36qfj13lDdYXATM diff --git a/src/main/resources/assets/playerex/lang/en_us.json b/src/main/resources/assets/playerex/lang/en_us.json deleted file mode 100644 index 73d3e0de..00000000 --- a/src/main/resources/assets/playerex/lang/en_us.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "text.autoconfig.playerex.title": "PlayerEx Config Options", - "text.autoconfig.playerex.category.server": "Server Options", - "text.autoconfig.playerex.category.client": "Client Options", - "text.autoconfig.playerex.option.disableInventoryTabs": "Disable Inventory Tabs", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[0]": "Hides inventory tabs.", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[1]": "Superseded by Disable Attributes GUI option.", - "text.autoconfig.playerex.option.disableAttributesGui": "Disable Attributes GUI", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[0]": "Hides inventory tabs and stops opening of the attributes gui.", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.resetOnDeath": "Reset On Death", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[0]": "Resets all attributes to their default value on respawn.", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.showLevelNameplates": "Level Nameplates", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[0]": "Displays a nameplate above living entities showing their \nlevel if they have the level attribute.", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.skillPointsPerLevelUp": "Skill Points per Level", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[0]": "The number of skill points gained from levelling up.", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.levelFormula": "Level Up Formula", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[0]": "The number of experience points required to level up. The 'x' \nvariable refers to the player's current level; 'x' is required.", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.restorativeForceTicks": "Restorative Force Ticks", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[0]": "The number of ticks between every restorative event. \nNote that 20 ticks is 1 second.", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.restorativeForceMultiplier": "Restorative Force", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[0]": "The restorative force multiplier.", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.expNegationFactor": "XP Negation Factor", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[0]": "The chance for xp orbs to drop in a given chunk. \nSet to 100 for vanilla behaviour.", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.levelUpVolume": "Level Up Volume", - "text.autoconfig.playerex.option.levelUpVolume.@Tooltip": "Volume multiplier as a percentage.", - "text.autoconfig.playerex.option.skillUpVolume": "Skill Up Volume", - "text.autoconfig.playerex.option.skillUpVolume.@Tooltip": "Volume multiplier as a percentage.", - "text.autoconfig.playerex.option.textScaleX": "Horizontal Text Scale", - "text.autoconfig.playerex.option.textScaleX.@Tooltip": "The x-squeeze of the gui text.", - "text.autoconfig.playerex.option.textScaleY": "Vertical Text Scale", - "text.autoconfig.playerex.option.textScaleY.@Tooltip": "The y-squeeze of the gui text.", - "text.autoconfig.playerex.option.levelNameplateHeight": "Level Nameplate Height", - "text.autoconfig.playerex.option.levelNameplateHeight.@Tooltip": "The level nameplate height offset.", - "text.autoconfig.playerex.option.tooltip": "Tooltip Attributes", - "text.autoconfig.playerex.option.tooltip.@Tooltip": "DEFAULT: no change to the tooltip (for mod compatibility).\nVANILLA: fixes attack damage/speed not showing their true value.\nPLAYEREX: attack damage/speed display as regular attribute modifiers.", - "playerex.command.reset": "Reset attributes to default values for player %s", - "playerex.command.reset_chunk": "Reset experience negation factor for chunk at %s", - "playerex.command.refund": "Refunded %s skill points for player %s", - "playerex.command.refund_alt": "Refunded 1 skill point for player %s", - "playerex.command.levelup": "Added %s levels to player %s", - "playerex.command.levelup_alt": "Added 1 level to player %s", - "playerex.command.attribute_max_error": "%s attribute is already at maximum value for player %s", - "playerex.command.skill_attribute": "Skilled %s for player %s.", - "playerex.command.skill_attribute_error": "%s has no Skill Points to spend!", - "playerex.command.refund_attribute": "Refunded %s for player %s.", - "playerex.command.refund_attribute_error": "%s has no Refunds to spend!", - "playerex.command.refund_attribute_unskilled": "%s has not been skilled for player %s!", - "sound.playerex.sp_spend": "Spent Skill Points", - "sound.playerex.level_up": "Leveled Up", - "playerex.key.screen": "Open/Close Attributes Screen", - "playerex.gui.text.nameplate": "lvl %s", - "playerex.gui.page.inventory.title": "Inventory", - "playerex.gui.page.attributes.title": "Attributes", - "playerex.gui.page.combat.title": "Combat", - "playerex.gui.page.attributes.text.level": "Level: %s", - "playerex.gui.page.attributes.text.skill_points": "Skill Points: %s", - "playerex.gui.page.attributes.text.constitution": "Constitution: %s", - "playerex.gui.page.attributes.text.strength": "Strength: %s", - "playerex.gui.page.attributes.text.dexterity": "Dexterity: %s", - "playerex.gui.page.attributes.text.intelligence": "Intelligence: %s", - "playerex.gui.page.attributes.text.luckiness": "Luckiness: %s", - "playerex.gui.page.attributes.text.movement_speed": "Movement: %s", - "playerex.gui.page.attributes.text.breaking_speed": "Break Spd.: %s", - "playerex.gui.page.attributes.text.reach_distance": "Reach Dist.: %s", - "playerex.gui.page.attributes.text.vitality": "Vitality", - "playerex.gui.page.attributes.text.health": "Health: %s/%s", - "playerex.gui.page.attributes.text.health_regeneration": "Health Reg.: %s", - "playerex.gui.page.attributes.text.heal_amplification": "Heal Amp.: %s%%", - "playerex.gui.page.attributes.text.resistances": "Resistances", - "playerex.gui.page.attributes.text.fire_resistance": "Fire: %s", - "playerex.gui.page.attributes.text.freeze_resistance": "Freeze: %s", - "playerex.gui.page.attributes.text.lightning_resistance": "Lightning: %s", - "playerex.gui.page.attributes.text.poison_resistance": "Poison: %s", - "playerex.gui.page.attributes.text.wither_resistance": "Wither: %s", - "playerex.gui.page.combat.text.attack_speed": "Attack Speed: %s", - "playerex.gui.page.combat.text.attack_damage": "Attack Damage: %s", - "playerex.gui.page.combat.text.melee": "Melee", - "playerex.gui.page.combat.text.defense": "Defense", - "playerex.gui.page.combat.text.ranged": "Ranged", - "playerex.gui.page.combat.text.melee_crit_damage": "Crit. Damage: %s%%", - "playerex.gui.page.combat.text.melee_crit_chance": "Crit. Chance: %s%%", - "playerex.gui.page.combat.text.armor": "Armor: %s", - "playerex.gui.page.combat.text.armor_toughness": "Armor Toughness: %s", - "playerex.gui.page.combat.text.knockback_resistance": "Knockback Res.: %s", - "playerex.gui.page.combat.text.evasion": "Evasion: %s%%", - "playerex.gui.page.combat.text.ranged_damage": "Ranged Damage: %s", - "playerex.gui.page.combat.text.ranged_crit_damage": "Crit. Damage: %s%%", - "playerex.gui.page.combat.text.ranged_crit_chance": "Crit. Chance: %s%%", - "playerex.gui.page.combat.text.attack_range": "Attack Range: %s", - "playerex.gui.page.combat.text.lifesteal": "Lifesteal: %s%%", - "playerex.gui.page.attributes.tooltip.level[0]": "This is your player level. ", - "playerex.gui.page.attributes.tooltip.level[1]": "It can be increased with xp.", - "playerex.gui.page.attributes.tooltip.level[2]": "+%s Skill Points", - "playerex.gui.page.attributes.tooltip.skill_points[0]": "Skill Points can be spent ", - "playerex.gui.page.attributes.tooltip.skill_points[1]": "to increase other attributes.", - "playerex.gui.page.attributes.tooltip.movement_speed": "Movement Speed: %s blocks/s.", - "playerex.gui.page.attributes.tooltip.breaking_speed": "Base block breaking speed.", - "playerex.gui.page.attributes.tooltip.reach_distance": "Reach Distance: %s blocks.", - "playerex.gui.page.attributes.tooltip.health": "Current Health/Max Health", - "playerex.gui.page.attributes.tooltip.health_regeneration[0]": "You passively heal this ", - "playerex.gui.page.attributes.tooltip.health_regeneration[1]": "amount every second.", - "playerex.gui.page.attributes.tooltip.heal_amplification[0]": "Amplifies all healing ", - "playerex.gui.page.attributes.tooltip.heal_amplification[1]": "by this amount.", - "playerex.gui.page.attributes.tooltip.fire_resistance": "Fire Damage Resistance: %s%%", - "playerex.gui.page.attributes.tooltip.freeze_resistance": "Freeze Damage Resistance: %s%%", - "playerex.gui.page.attributes.tooltip.lightning_resistance": "Lightning Damage Resistance: %s%%", - "playerex.gui.page.attributes.tooltip.poison_resistance": "Poison Damage Resistance: %s%%", - "playerex.gui.page.attributes.tooltip.wither_resistance": "Wither Damage Resistance: %s%%", - "playerex.gui.page.attributes.tooltip.button.level": "Level Up %s", - "playerex.gui.page.attributes.tooltip.button.skill": "Skill ", - "playerex.gui.page.attributes.tooltip.button.refund": "Refund ", - "playerex.gui.page.combat.tooltip.attack_speed[0]": "How many full powered ", - "playerex.gui.page.combat.tooltip.attack_speed[1]": "attacks per unit time.", - "playerex.gui.page.combat.tooltip.attack_damage[0]": "The damage dealt in a ", - "playerex.gui.page.combat.tooltip.attack_damage[1]": "full powered melee attack.", - "playerex.gui.page.combat.tooltip.melee_crit_damage[0]": "A multiplier applied to your ", - "playerex.gui.page.combat.tooltip.melee_crit_damage[1]": "melee damage on a critical hit.", - "playerex.gui.page.combat.tooltip.melee_crit_chance[0]": "The chance that your melee ", - "playerex.gui.page.combat.tooltip.melee_crit_chance[1]": "attack is a critical hit.", - "playerex.gui.page.combat.tooltip.armor[0]": "Total armor points; ", - "playerex.gui.page.combat.tooltip.armor[1]": "reduces incoming damage.", - "playerex.gui.page.combat.tooltip.armor_toughness[0]": "Increases the effectiveness ", - "playerex.gui.page.combat.tooltip.armor_toughness[1]": "of your armor's defense.", - "playerex.gui.page.combat.tooltip.knockback_resistance": "Knockback Resistance: %s%%", - "playerex.gui.page.combat.tooltip.evasion[0]": "Chance to completely ", - "playerex.gui.page.combat.tooltip.evasion[1]": "dodge arrow projectiles.", - "playerex.gui.page.combat.tooltip.ranged_damage[0]": "The damage dealt ", - "playerex.gui.page.combat.tooltip.ranged_damage[1]": "by arrow projectiles.", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[0]": "A multiplier applied to your ", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "ranged damage on a critical hit.", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "The chance that your ranged ", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "attack is a critical hit.", - "playerex.gui.page.combat.tooltip.attack_range": "Melee Attack Range: %s blocks.", - "playerex.gui.page.combat.tooltip.lifesteal[0]": "A percentage of attack ", - "playerex.gui.page.combat.tooltip.lifesteal[1]": "damage dealt is healed.", - "playerex.attribute.name.level": "Level", - "playerex.attribute.name.constitution": "Constitution", - "playerex.attribute.name.strength": "Strength", - "playerex.attribute.name.dexterity": "Dexterity", - "playerex.attribute.name.intelligence": "Intelligence", - "playerex.attribute.name.luckiness": "Luckiness", - "playerex.attribute.name.evasion": "Evasion", - "playerex.attribute.name.lifesteal": "Lifesteal", - "playerex.attribute.name.health_regeneration": "Health Regeneration", - "playerex.attribute.name.heal_amplification": "Heal Amplification", - "playerex.attribute.name.melee_crit_damage": "Melee Crit. Damage", - "playerex.attribute.name.melee_crit_chance": "Melee Crit. Chance", - "playerex.attribute.name.ranged_crit_damage": "Ranged Crit. Damage", - "playerex.attribute.name.ranged_crit_chance": "Ranged Crit. Chance", - "playerex.attribute.name.ranged_damage": "Ranged Damage", - "playerex.attribute.name.fire_resistance": "Fire Resistance", - "playerex.attribute.name.freeze_resistance": "Freeze Resistance", - "playerex.attribute.name.lightning_resistance": "Lightning Resistance", - "playerex.attribute.name.poison_resistance": "Poison Resistance", - "playerex.attribute.name.wither_resistance": "Wither Resistance", - "playerex.attribute.name.breaking_speed": "Breaking Speed" -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/lang/es_mx.json b/src/main/resources/assets/playerex/lang/es_mx.json deleted file mode 100644 index c2a57b4d..00000000 --- a/src/main/resources/assets/playerex/lang/es_mx.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "text.autoconfig.playerex.title": "Configuración de PlayerEx", - "text.autoconfig.playerex.category.server": "Opciones de Servidor", - "text.autoconfig.playerex.category.client": "Opciones de Cliente", - "text.autoconfig.playerex.option.disableInventoryTabs": "Disable Inventory Tabs", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[0]": "Hides inventory tabs.", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[1]": "Superseded by Disable Attributes GUI option.", - "text.autoconfig.playerex.option.disableAttributesGui": "Deshabilitar GUI de atributos", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[0]": "Oculta las pesta�as de inventario y detiene la apertura \nde la interfaz gr�fica de usuario de atributos.", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[1]": "(Requiere reiniciar)", - "text.autoconfig.playerex.option.resetOnDeath": "Reiniciar al Morir", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[0]": "Reinicia todos los atributos al reaparecer.", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[1]": "(Requiere reiniciar)", - "text.autoconfig.playerex.option.showLevelNameplates": "Placa de Nivel", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[0]": "Muestra una placa debajo del nombre de entidad viviente mostrando su nivel \nsi ellos tienen el atributo de nivel.", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[1]": "(Requiere reiniciar)", - "text.autoconfig.playerex.option.skillPointsPerLevelUp": "Puntos de habilidad por nivel", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[0]": "El número de puntos de habilidad ganados al subir de nivel.", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[1]": "(Requiere reiniciar)", - "text.autoconfig.playerex.option.levelFormula": "Fórmula de Nivelación", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[0]": "El número de puntos de experiencia requeridos para subir de nivel. La variable 'x' \nse refiere a el nivel actual de la entidad; 'x' es requerido.", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[1]": "(Requiere reiniciar)", - "text.autoconfig.playerex.option.restorativeForceTicks": "Restorative Force Ticks", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[0]": "The number of ticks between every restorative event. \nNote that 20 ticks is 1 second.", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.restorativeForceMultiplier": "Restorative Force", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[0]": "The restorative force multiplier.", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.expNegationFactor": "XP Negation Factor", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[0]": "The chance for xp orbs to drop in a given chunk. \nSet to 100 for vanilla behaviour.", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.levelUpVolume": "Volumen al Subir de Nivel", - "text.autoconfig.playerex.option.levelUpVolume.@Tooltip": "Modifica el porcentaje de volumen del sonido.", - "text.autoconfig.playerex.option.skillUpVolume": "Volumen al Subir el Nivel de Habilidad", - "text.autoconfig.playerex.option.skillUpVolume.@Tooltip": "Modifica el porcentaje de volumen del sonido.", - "text.autoconfig.playerex.option.textScaleX": "Estiramiento Horizontal del Texto", - "text.autoconfig.playerex.option.textScaleX.@Tooltip": "Extender el texto en el eje X.", - "text.autoconfig.playerex.option.textScaleY": "Estiramiento Vertical del Texto", - "text.autoconfig.playerex.option.textScaleY.@Tooltip": "Extender el texto en el eje Y.", - "text.autoconfig.playerex.option.levelNameplateHeight": "Level Nameplate Height", - "text.autoconfig.playerex.option.levelNameplateHeight.@Tooltip": "The level nameplate height offset.", - "text.autoconfig.playerex.option.tooltip": "Descripciones de atributos", - "text.autoconfig.playerex.option.tooltip.@Tooltip": "DEFAULT: sin cambios en las descripciones (para compatibilidad con mods).\nVANILLA: corrige el da�o de ataque/velocidad que no muestra su verdadero valor.\nPLAYEREX: el da�o de ataque/la velocidad se muestran como otros atributos.", - "command.playerex.reset": "Reinicia los atributos a sus valores predeterminados para %s", - "playerex.command.reset_chunk": "Reset experience negation factor for chunk at %s", - "command.playerex.refund": "Se le devolvieron %s puntos de habilidad al jugador %s", - "command.playerex.refund_alt": "Se le devolvi� 1 punto de habilidad al jugador %s", - "command.playerex.levelup": "Se le agregaron %s niveles al jugador %s", - "command.playerex.levelup_alt": "Se le agreg� 1 nivel al jugador %s", - "command.playerex.attribute_max_error": "El atributo %s ya est� en su valor m�ximo para el jugador %s.", - "playerex.command.skill_attribute": "%s aumentada para el jugador %s.", - "playerex.command.skill_attribute_error": "%s no tiene puntos de habilidad para gastar!", - "playerex.command.refund_attribute": "%s reembolsada para el jugador %s.", - "playerex.command.refund_attribute_error": "%s no tiene reembolsos para gastar!", - "playerex.command.refund_attribute_unskilled": "La %s no se ha aumentado para el jugador %s.", - "sound.playerex.sp_spend": "Spent Skill Points", - "sound.playerex.level_up": "Leveled Up", - "playerex.key.screen": "Abrir/Cerrar Menú de Atributos", - "playerex.gui.text.nameplate": "Nvl %s", - "playerex.gui.page.inventory.title": "Inventario", - "playerex.gui.page.attributes.title": "Atributos", - "playerex.gui.page.combat.title": "Combate", - "playerex.gui.page.attributes.text.level": "Nivel: %s", - "playerex.gui.page.attributes.text.skill_points": "Puntos de Hab.: %s", - "playerex.gui.page.attributes.text.constitution": "Complexión: %s", - "playerex.gui.page.attributes.text.strength": "Fuerza: %s", - "playerex.gui.page.attributes.text.dexterity": "Destreza: %s", - "playerex.gui.page.attributes.text.intelligence": "Inteligencia: %s", - "playerex.gui.page.attributes.text.luckiness": "Suerte: %s", - "playerex.gui.page.attributes.text.movement_speed": "Velocidad: %s", - "playerex.gui.page.attributes.text.breaking_speed": "Vel. de Ruptura: %s", - "playerex.gui.page.attributes.text.reach_distance": "Distancia: %s", - "playerex.gui.page.attributes.text.vitality": "Vitalidad", - "playerex.gui.page.attributes.text.health": "Vida: %s/%s", - "playerex.gui.page.attributes.text.health_regeneration": "Reg. de Vida: %s", - "playerex.gui.page.attributes.text.heal_amplification": "Amp. de Vida: %s%%", - "playerex.gui.page.attributes.text.resistances": "Resistencias", - "playerex.gui.page.attributes.text.fire_resistance": "Fuego: %s", - "playerex.gui.page.attributes.text.freeze_resistance": "Congelación: %s", - "playerex.gui.page.attributes.text.lightning_resistance": "Relámpago: %s", - "playerex.gui.page.attributes.text.poison_resistance": "Veneno: %s", - "playerex.gui.page.attributes.text.wither_resistance": "Wither: %s", - "playerex.gui.page.combat.text.attack_speed": "Vel. de Ataque: %s", - "playerex.gui.page.combat.text.attack_damage": "Daño de Ataque: %s", - "playerex.gui.page.combat.text.melee": "Cuerpo a Cuerpo", - "playerex.gui.page.combat.text.defense": "Defensa", - "playerex.gui.page.combat.text.ranged": "A Distancia", - "playerex.gui.page.combat.text.melee_crit_damage": "Daño Crít.: %s%%", - "playerex.gui.page.combat.text.melee_crit_chance": "Prob. Crít.: %s%%", - "playerex.gui.page.combat.text.armor": "Armadura: %s", - "playerex.gui.page.combat.text.armor_toughness": "Dureza de Arm.: %s", - "playerex.gui.page.combat.text.knockback_resistance": "Res. Retroceso: %s", - "playerex.gui.page.combat.text.evasion": "Evasión: %s%%", - "playerex.gui.page.combat.text.ranged_damage": "Daño Adicional: %s", - "playerex.gui.page.combat.text.ranged_crit_damage": "Daño Crít.: %s%%", - "playerex.gui.page.combat.text.ranged_crit_chance": "Prob. Crít.: %s%%", - "playerex.gui.page.combat.text.attack_range": "Rango de Ataque: %s", - "playerex.gui.page.combat.text.lifesteal": "Robo de Vida: %s%%", - "playerex.gui.page.attributes.tooltip.level[0]": "Este es tu nivel. ", - "playerex.gui.page.attributes.tooltip.level[1]": "Se puede subir con experiencia.", - "playerex.gui.page.attributes.tooltip.level[2]": "+%s Puntos de Habilidad", - "playerex.gui.page.attributes.tooltip.skill_points[0]": "Los puntos de habilidad pueden usarse ", - "playerex.gui.page.attributes.tooltip.skill_points[1]": "para mejorar otros atributos.", - "playerex.gui.page.attributes.tooltip.movement_speed": "Movilidad: %s bloques/s", - "playerex.gui.page.attributes.tooltip.breaking_speed": "Tasa de rotura de bloque.", - "playerex.gui.page.attributes.tooltip.reach_distance": "Distancia: %s bloques.", - "playerex.gui.page.attributes.tooltip.health": "Vida Actual/Máxima", - "playerex.gui.page.attributes.tooltip.health_regeneration[0]": "Te curas pasivamente por esta ", - "playerex.gui.page.attributes.tooltip.health_regeneration[1]": "cantidad a cada segundo.", - "playerex.gui.page.attributes.tooltip.heal_amplification[0]": "Amplifica toda la curación ", - "playerex.gui.page.attributes.tooltip.heal_amplification[1]": "por esta cantidad.", - "playerex.gui.page.attributes.tooltip.fire_resistance": "Resistencia al Daño por Fuego: %s%%", - "playerex.gui.page.attributes.tooltip.freeze_resistance": "Resistencia al Daño por Congelación: %s%%", - "playerex.gui.page.attributes.tooltip.lightning_resistance": "Resistencia al Daño por Relámpago: %s%%", - "playerex.gui.page.attributes.tooltip.poison_resistance": "Resistencia al Daño por Efecto Veneno: %s%%", - "playerex.gui.page.attributes.tooltip.wither_resistance": "Resistencia al Daño por Efecto Wither: %s%%", - "playerex.gui.page.attributes.tooltip.button.level": "Subir de Nivel %s", - "playerex.gui.page.attributes.tooltip.button.skill": "Habilidad ", - "playerex.gui.page.attributes.tooltip.button.refund": "Reembolso ", - "playerex.gui.page.combat.tooltip.attack_speed[0]": "La cantidad de ataques a máximo ", - "playerex.gui.page.combat.tooltip.attack_speed[1]": "poder por unidad de tiempo.", - "playerex.gui.page.combat.tooltip.attack_damage[0]": "El daño cuerpo a cuerpo total ", - "playerex.gui.page.combat.tooltip.attack_damage[1]": "infligido a su máximo poder.", - "playerex.gui.page.combat.tooltip.melee_crit_damage[0]": "Un multiplicador aplicado a tu daño cuerpo a ", - "playerex.gui.page.combat.tooltip.melee_crit_damage[1]": "cuerpo al realizar un golpe crítico.", - "playerex.gui.page.combat.tooltip.melee_crit_chance[0]": "La probabilidad de que el ataque cuerpo ", - "playerex.gui.page.combat.tooltip.melee_crit_chance[1]": "a cuerpo sea un golpe crítico.", - "playerex.gui.page.combat.tooltip.armor[0]": "El total de los puntos de armadura; ", - "playerex.gui.page.combat.tooltip.armor[1]": "reduce el daño recibido.", - "playerex.gui.page.combat.tooltip.armor_toughness[0]": "Aumenta la efectividad de ", - "playerex.gui.page.combat.tooltip.armor_toughness[1]": "la defensa de la armadura.", - "playerex.gui.page.combat.tooltip.knockback_resistance": "Resistencia de Retroceso: %s%%", - "playerex.gui.page.combat.tooltip.evasion[0]": "La probabilidad de esquivar ", - "playerex.gui.page.combat.tooltip.evasion[1]": "un proyectil completamente.", - "playerex.gui.page.combat.tooltip.ranged_damage[0]": "Daño adicional aplicado ", - "playerex.gui.page.combat.tooltip.ranged_damage[1]": "a los proyectiles.", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[0]": "Un multiplicador aplicado a tu daño a ", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "distancia al realizar un golpe crítico.", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "La probabilidad de que tu ataque a ", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "distancia sea un golpe crítico.", - "playerex.gui.page.combat.tooltip.attack_range": "Rango de Ataque: %s bloques.", - "playerex.gui.page.combat.tooltip.lifesteal[0]": "Un porcentaje del daño infligido ", - "playerex.gui.page.combat.tooltip.lifesteal[1]": "se transforma en curación.", - "playerex.attribute.name.level": "Nivel", - "playerex.attribute.name.constitution": "Complexión", - "playerex.attribute.name.strength": "Fuerza", - "playerex.attribute.name.dexterity": "Destreza", - "playerex.attribute.name.intelligence": "Inteligencia", - "playerex.attribute.name.luckiness": "Suerte", - "playerex.attribute.name.evasion": "Evasión", - "playerex.attribute.name.lifesteal": "Robo de Vida", - "playerex.attribute.name.health_regeneration": "Regeneración de Vida", - "playerex.attribute.name.heal_amplification": "Amplificación de Vida", - "playerex.attribute.name.melee_crit_damage": "Daño de Crítico Cuerpo a Cuerpo", - "playerex.attribute.name.melee_crit_chance": "Probabilidad de Crítico Cuerpo a Cuerpo", - "playerex.attribute.name.ranged_crit_damage": "Daño de Crítico a Distancia", - "playerex.attribute.name.ranged_crit_chance": "Probabilidad de Crítico a Distancia", - "playerex.attribute.name.ranged_damage": "Daño a Distancia", - "playerex.attribute.name.fire_resistance": "Resistencia a Fuego", - "playerex.attribute.name.freeze_resistance": "Resistencia a Congelación", - "playerex.attribute.name.lightning_resistance": "Resistencia a Relámpago", - "playerex.attribute.name.poison_resistance": "Resistencia a Veneno", - "playerex.attribute.name.wither_resistance": "Resistencia a Wither", - "playerex.attribute.name.breaking_speed": "Velocidad de Ruptura" -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/lang/ko_kr.json b/src/main/resources/assets/playerex/lang/ko_kr.json deleted file mode 100644 index 30425653..00000000 --- a/src/main/resources/assets/playerex/lang/ko_kr.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "text.autoconfig.playerex.title": "PlayerEx 환경설정 옵션", - "text.autoconfig.playerex.category.server": "서버 옵션", - "text.autoconfig.playerex.category.client": "클라이언트 옵션", - "text.autoconfig.playerex.option.disableInventoryTabs": "Disable Inventory Tabs", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[0]": "Hides inventory tabs.", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[1]": "Superseded by Disable Attributes GUI option.", - "text.autoconfig.playerex.option.disableAttributesGui": "특성 GUI 사용 안 함", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[0]": "소지품 탭을 숨기고 특성 gui 열기를 중단합니다.", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[1]": "(다시 시작 필요)", - "text.autoconfig.playerex.option.resetOnDeath": "사망 시 초기화", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[0]": "리스폰 시 모든 특성을 기본값으로 초기화합니다.", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[1]": "(다시 시작 필요)", - "text.autoconfig.playerex.option.showLevelNameplates": "레벨 이름표", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[0]": "살아있는 엔티티가 레벨 특성을 보유한 경우\n위에 이름표를 표시합니다.", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[1]": "(다시 시작 필요)", - "text.autoconfig.playerex.option.skillPointsPerLevelUp": "레벨당 스킬 포인트", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[0]": "레벨 업 시 획득하는 스킬 포인트 개수입니다.", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[1]": "(다시 시작 필요)", - "text.autoconfig.playerex.option.levelFormula": "레벨 업 공식", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[0]": "레벨 업에 필요한 경험치 포인트입니다.\n'x' 변수는 플레이어의 현재 레벨을 의미합니다. 'x'는 필수 값입니다.", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[1]": "(다시 시작 필요)", - "text.autoconfig.playerex.option.restorativeForceTicks": "Restorative Force Ticks", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[0]": "The number of ticks between every restorative event. \nNote that 20 ticks is 1 second.", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.restorativeForceMultiplier": "Restorative Force", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[0]": "The restorative force multiplier.", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.expNegationFactor": "XP Negation Factor", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[0]": "The chance for xp orbs to drop in a given chunk. \nSet to 100 for vanilla behaviour.", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.levelUpVolume": "레벨 업 볼륨", - "text.autoconfig.playerex.option.levelUpVolume.@Tooltip": "볼륨 배율 (퍼센트)", - "text.autoconfig.playerex.option.skillUpVolume": "스킬 업 볼륨", - "text.autoconfig.playerex.option.skillUpVolume.@Tooltip": "볼륨 배율 (퍼센트)", - "text.autoconfig.playerex.option.textScaleX": "가로 텍스트 크기", - "text.autoconfig.playerex.option.textScaleX.@Tooltip": "gui 텍스트의 x 스퀴즈.", - "text.autoconfig.playerex.option.textScaleY": "세로 텍스트 크기", - "text.autoconfig.playerex.option.textScaleY.@Tooltip": "gui 텍스트의 y 스퀴즈.", - "text.autoconfig.playerex.option.levelNameplateHeight": "Level Nameplate Height", - "text.autoconfig.playerex.option.levelNameplateHeight.@Tooltip": "The level nameplate height offset.", - "text.autoconfig.playerex.option.tooltip": "특성 툴팁", - "text.autoconfig.playerex.option.tooltip.@Tooltip": "DEFAULT: 툴팁 (모드 호환)을 변경하지 않습니다.\nVANILLA: 공격 데미지/속도 값을 실제 값으로 표시하지 않습니다.\nPLAYEREX: 공격 데미지/속도 값을 일반 특성 수정자로 표시합니다.", - "playerex.command.reset": "플레이어 %s 값을 기본값으로 초기화합니다.", - "playerex.command.reset_chunk": "Reset experience negation factor for chunk at %s", - "playerex.command.refund": "스킬 포인트 %s를 플레이어 %s에게 돌려줍니다.", - "playerex.command.refund_alt": "스킬 포인트 1을 플레이어 %s에게 돌려줍니다.", - "playerex.command.levelup": "%s레벨을 플레이어 %s에게 추가합니다.", - "playerex.command.levelup_alt": "1레벨을 플레이어 %s에게 추가합니다.", - "playerex.command.attribute_max_error": "% 특성은 플레이어 %s에겐 이미 최댓값입니다.", - "playerex.command.skill_attribute": "%s 스킬을 플레이어 %s가 배웁니다.", - "playerex.command.skill_attribute_error": "%s는(은) 사용할 스킬 포인트가 없습니다!", - "playerex.command.refund_attribute": "%s를(을) 플레이어 %s에게 돌려줍니다.", - "playerex.command.refund_attribute_error": "%s는(은) 돌려줄 것이 없습니다!", - "playerex.command.refund_attribute_unskilled": "%s는(은) 플레이어 %s이(가) 배우지 않았습니다!", - "sound.playerex.sp_spend": "Spent Skill Points", - "sound.playerex.level_up": "Leveled Up", - "playerex.key.screen": "특성 화면 열기/닫기", - "playerex.gui.text.nameplate": "lvl %s", - "playerex.gui.page.inventory.title": "소지품", - "playerex.gui.page.attributes.title": "특성", - "playerex.gui.page.combat.title": "전투", - "playerex.gui.page.attributes.text.level": "레벨: %s", - "playerex.gui.page.attributes.text.skill_points": "스킬 포인트: %s", - "playerex.gui.page.attributes.text.constitution": "체질: %s", - "playerex.gui.page.attributes.text.strength": "힘: %s", - "playerex.gui.page.attributes.text.dexterity": "민첩: %s", - "playerex.gui.page.attributes.text.intelligence": "지력: %s", - "playerex.gui.page.attributes.text.luckiness": "행운: %s", - "playerex.gui.page.attributes.text.movement_speed": "이동속도: %s", - "playerex.gui.page.attributes.text.breaking_speed": "파괴 속도: %s", - "playerex.gui.page.attributes.text.reach_distance": "닿는 거리: %s", - "playerex.gui.page.attributes.text.vitality": "활력", - "playerex.gui.page.attributes.text.health": "체력: %s/%s", - "playerex.gui.page.attributes.text.health_regeneration": "체력 회복: %s", - "playerex.gui.page.attributes.text.heal_amplification": "치유 효과 향상: %s%%", - "playerex.gui.page.attributes.text.resistances": "저항", - "playerex.gui.page.attributes.text.fire_resistance": "불: %s", - "playerex.gui.page.attributes.text.freeze_resistance": "얼음: %s", - "playerex.gui.page.attributes.text.lightning_resistance": "전기: %s", - "playerex.gui.page.attributes.text.poison_resistance": "독: %s", - "playerex.gui.page.attributes.text.wither_resistance": "위더: %s", - "playerex.gui.page.combat.text.attack_speed": "공격 속도: %s", - "playerex.gui.page.combat.text.attack_damage": "공격 데미지: %s", - "playerex.gui.page.combat.text.melee": "근접", - "playerex.gui.page.combat.text.defense": "방어", - "playerex.gui.page.combat.text.ranged": "원거리", - "playerex.gui.page.combat.text.melee_crit_damage": "치명타 데미지: %s%%", - "playerex.gui.page.combat.text.melee_crit_chance": "치명타 확률: %s%%", - "playerex.gui.page.combat.text.armor": "방어구: %s", - "playerex.gui.page.combat.text.armor_toughness": "방어구 강인함: %s", - "playerex.gui.page.combat.text.knockback_resistance": "밀치기 저항: %s", - "playerex.gui.page.combat.text.evasion": "회피율: %s%%", - "playerex.gui.page.combat.text.ranged_damage": "보너스 데미지: %s", - "playerex.gui.page.combat.text.ranged_crit_damage": "치명타 데미지: %s%%", - "playerex.gui.page.combat.text.ranged_crit_chance": "치명타 확률: %s%%", - "playerex.gui.page.combat.text.attack_range": "공격 범위: %s", - "playerex.gui.page.combat.text.lifesteal": "생명 흡수: %s%%", - "playerex.gui.page.attributes.tooltip.level[0]": "플레이어 레벨입니다. ", - "playerex.gui.page.attributes.tooltip.level[1]": "경험치를 이용해 올릴 수 있습니다.", - "playerex.gui.page.attributes.tooltip.level[2]": "+%s 스킬 포인트", - "playerex.gui.page.attributes.tooltip.skill_points[0]": "스킬 포인트는 다른 특성을 ", - "playerex.gui.page.attributes.tooltip.skill_points[1]": "올릴 때 사용할 수 있습니다.", - "playerex.gui.page.attributes.tooltip.movement_speed": "이동 속도: %s 블럭/s.", - "playerex.gui.page.attributes.tooltip.breaking_speed": "기본 블럭 파괴 속도.", - "playerex.gui.page.attributes.tooltip.reach_distance": "닿는 거리: %s 블럭.", - "playerex.gui.page.attributes.tooltip.health": "현재 체력/최대 체력", - "playerex.gui.page.attributes.tooltip.health_regeneration[0]": "매 초 자동으로 ", - "playerex.gui.page.attributes.tooltip.health_regeneration[1]": "회복되는 치유량입니다.", - "playerex.gui.page.attributes.tooltip.heal_amplification[0]": "해당 값만큼 모든 치유 효과가 ", - "playerex.gui.page.attributes.tooltip.heal_amplification[1]": "향상됩니다.", - "playerex.gui.page.attributes.tooltip.fire_resistance": "화염 데미지 저항: %s%%", - "playerex.gui.page.attributes.tooltip.freeze_resistance": "냉기 데미지 저항: %s%%", - "playerex.gui.page.attributes.tooltip.lightning_resistance": "번개 데미지 저항: %s%%", - "playerex.gui.page.attributes.tooltip.poison_resistance": "독 데미지 저항: %s%%", - "playerex.gui.page.attributes.tooltip.wither_resistance": "위더 데미지 저항: %s%%", - "playerex.gui.page.attributes.tooltip.button.level": "레벨 업 %s", - "playerex.gui.page.attributes.tooltip.button.skill": "스킬 ", - "playerex.gui.page.attributes.tooltip.button.refund": "돌려받기 ", - "playerex.gui.page.combat.tooltip.attack_speed[0]": "단위 시간당 ", - "playerex.gui.page.combat.tooltip.attack_speed[1]": "최대 공격 횟수입니다.", - "playerex.gui.page.combat.tooltip.attack_damage[0]": "근접 공격으로 ", - "playerex.gui.page.combat.tooltip.attack_damage[1]": "입히는 데미지 수치.", - "playerex.gui.page.combat.tooltip.melee_crit_damage[0]": "근접 치명타 공격에 ", - "playerex.gui.page.combat.tooltip.melee_crit_damage[1]": "적용되는 배율.", - "playerex.gui.page.combat.tooltip.melee_crit_chance[0]": "근접 치명타 공격 ", - "playerex.gui.page.combat.tooltip.melee_crit_chance[1]": "발생 확률.", - "playerex.gui.page.combat.tooltip.armor[0]": "총 방어 포인트. ", - "playerex.gui.page.combat.tooltip.armor[1]": "받는 피해가 감소합니다.", - "playerex.gui.page.combat.tooltip.armor_toughness[0]": "방어구의 방어력 ", - "playerex.gui.page.combat.tooltip.armor_toughness[1]": "효과가 증가합니다.", - "playerex.gui.page.combat.tooltip.knockback_resistance": "밀치기 저항: %s%%", - "playerex.gui.page.combat.tooltip.evasion[0]": "화살 투사체를 ", - "playerex.gui.page.combat.tooltip.evasion[1]": "완벽히 피할 확률.", - "playerex.gui.page.combat.tooltip.ranged_damage[0]": "화살 투사체에 ", - "playerex.gui.page.combat.tooltip.ranged_damage[1]": "추가되는 보너스 데미지.", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[0]": "원거리 치명타 공격에 ", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "적용되는 배율.", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "원거리 치명타 공격 ", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "발생 확률.", - "playerex.gui.page.combat.tooltip.attack_range": "근접 공격 범위: %s 블럭.", - "playerex.gui.page.combat.tooltip.lifesteal[0]": "가한 공격 피해의 ", - "playerex.gui.page.combat.tooltip.lifesteal[1]": "일정 비율만큼 회복됩니다.", - "playerex.attribute.name.level": "레벨", - "playerex.attribute.name.constitution": "체질", - "playerex.attribute.name.strength": "힘", - "playerex.attribute.name.dexterity": "민첩", - "playerex.attribute.name.intelligence": "지력", - "playerex.attribute.name.luckiness": "행운", - "playerex.attribute.name.evasion": "회피율", - "playerex.attribute.name.lifesteal": "생명 흡수", - "playerex.attribute.name.health_regeneration": "체력 재생", - "playerex.attribute.name.heal_amplification": "치유 효과 향상", - "playerex.attribute.name.melee_crit_damage": "근접 치명타 데미지", - "playerex.attribute.name.melee_crit_chance": "근접 치명타 확률", - "playerex.attribute.name.ranged_crit_damage": "원거리 치명타 데미지", - "playerex.attribute.name.ranged_crit_chance": "원거리 치명타 확률", - "playerex.attribute.name.ranged_damage": "원거리 데미지", - "playerex.attribute.name.fire_resistance": "화염 저항", - "playerex.attribute.name.freeze_resistance": "냉기 저항", - "playerex.attribute.name.lightning_resistance": "번개 저항", - "playerex.attribute.name.poison_resistance": "독 저항", - "playerex.attribute.name.wither_resistance": "위더 저항", - "playerex.attribute.name.breaking_speed": "파괴 속도" -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/lang/ru_ru.json b/src/main/resources/assets/playerex/lang/ru_ru.json deleted file mode 100644 index 6eaf216c..00000000 --- a/src/main/resources/assets/playerex/lang/ru_ru.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "text.autoconfig.playerex.title": "PlayerEx Параметры Конфигурации", - "text.autoconfig.playerex.category.server": "Параметры Сервера", - "text.autoconfig.playerex.category.client": "Параметры Клиента", - "text.autoconfig.playerex.option.disableInventoryTabs": "Disable Inventory Tabs", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[0]": "Hides inventory tabs.", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[1]": "Superseded by Disable Attributes GUI option.", - "text.autoconfig.playerex.option.disableAttributesGui": "Отключить GUI характеристик", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[0]": "Скрывает вкладки инвентаря и останавливает открытие графического", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[1]": "интерфейса характеристик. (Требуется перезагрузка)", - "text.autoconfig.playerex.option.resetOnDeath": "Сброс после смерти", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[0]": "При возрождении сбрасывает все характеристики до значения по умолчанию.", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[1]": "(Требуется перезагрузка)", - "text.autoconfig.playerex.option.showLevelNameplates": "Таблички с уровнями", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[0]": "Отображает табличку с именем над живыми объектами, показывающий их\nуровень, если он у них есть.", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[1]": "(Требуется перезагрузка)", - "text.autoconfig.playerex.option.skillPointsPerLevelUp": "Очки навыков за уровень", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[0]": "Количество очков навыков за повышение уровня.", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[1]": "(Требуется перезагрузка)", - "text.autoconfig.playerex.option.levelFormula": "Формула повышения уровня", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[0]": "Количество очков опыта, необходимое для повышения уровня.\n'x' переменная относится к текущему уровню игрока; 'x' обязательна.", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[1]": "(Требуется перезагрузка)", - "text.autoconfig.playerex.option.restorativeForceTicks": "Restorative Force Ticks", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[0]": "The number of ticks between every restorative event. \nNote that 20 ticks is 1 second.", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.restorativeForceMultiplier": "Restorative Force", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[0]": "The restorative force multiplier.", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.expNegationFactor": "XP Negation Factor", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[0]": "The chance for xp orbs to drop in a given chunk. \nSet to 100 for vanilla behaviour.", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[1]": "(Requires restart)", - "text.autoconfig.playerex.option.levelUpVolume": "Громкость повышения уровня", - "text.autoconfig.playerex.option.levelUpVolume.@Tooltip": "Множитель громкости в процентах.", - "text.autoconfig.playerex.option.skillUpVolume": "Громкость повышения навыков", - "text.autoconfig.playerex.option.skillUpVolume.@Tooltip": "Множитель громкости в процентах.", - "text.autoconfig.playerex.option.textScaleX": "Масштаб горизонтального текста", - "text.autoconfig.playerex.option.textScaleX.@Tooltip": "Сжатие текста по 'x'.", - "text.autoconfig.playerex.option.textScaleY": "Масштаб вертикального текста", - "text.autoconfig.playerex.option.textScaleY.@Tooltip": "Сжатие текста по 'y'.", - "text.autoconfig.playerex.option.levelNameplateHeight": "Level Nameplate Height", - "text.autoconfig.playerex.option.levelNameplateHeight.@Tooltip": "The level nameplate height offset.", - "text.autoconfig.playerex.option.tooltip": "Подсказки характеристик", - "text.autoconfig.playerex.option.tooltip.@Tooltip": "ПО УМОЛЧАНИЮ: всплывающая подсказка не изменяется (для совместимости с модами).\nVANILLA: исправляет урон/скорость атаки, не отображающие их истинное значение.\nPLAYEREX: отображение урона/скорости атаки в качестве обычных параметров характеристик.", - "playerex.command.reset": "Сбросить характеристики по умолчанию для игрока %s", - "playerex.command.reset_chunk": "Reset experience negation factor for chunk at %s", - "playerex.command.refund": "Вернуть %s очков навыка для игрока %s", - "playerex.command.refund_alt": "Возвращено 1 очко умений для игрока %s", - "playerex.command.levelup": "Добавлено %s уровней для игрока %s", - "playerex.command.levelup_alt": "Добавлен 1 уровень игроку %s", - "playerex.command.attribute_max_error": "% характеристика имеет максимальное значение для игрока %s", - "playerex.command.skill_attribute": "Обучено %s игрока %s.", - "playerex.command.skill_attribute_error": "%s недостаточно очков умений!", - "playerex.command.refund_attribute": "Возвращено %s для игрока %s.", - "playerex.command.refund_attribute_error": "%s недостаточно очков!", - "playerex.command.refund_attribute_unskilled": "%s не был выучен игроком %s!", - "sound.playerex.sp_spend": "Spent Skill Points", - "sound.playerex.level_up": "Leveled Up", - "playerex.key.screen": "Открыть/Закрыть экран параметров", - "playerex.gui.text.nameplate": "Уровень %s", - "playerex.gui.page.inventory.title": "Инвентарь", - "playerex.gui.page.attributes.title": "Характеристики", - "playerex.gui.page.combat.title": "Сражение", - "playerex.gui.page.attributes.text.level": "Уровень: %s", - "playerex.gui.page.attributes.text.skill_points": "Очки прокачки: %s", - "playerex.gui.page.attributes.text.constitution": "Телосложение: %s", - "playerex.gui.page.attributes.text.strength": "Сила: %s", - "playerex.gui.page.attributes.text.dexterity": "Ловкость: %s", - "playerex.gui.page.attributes.text.intelligence": "Интеллект: %s", - "playerex.gui.page.attributes.text.luckiness": "Удача: %s", - "playerex.gui.page.attributes.text.movement_speed": "Скор. бега: %s", - "playerex.gui.page.attributes.text.breaking_speed": "Скор. добычи: %s", - "playerex.gui.page.attributes.text.reach_distance": "Дистанция: %s", - "playerex.gui.page.attributes.text.vitality": "Живучесть", - "playerex.gui.page.attributes.text.health": "ХП: %s/%s", - "playerex.gui.page.attributes.text.health_regeneration": "Реген здоровья: %s", - "playerex.gui.page.attributes.text.heal_amplification": "Исцеление: %s%%", - "playerex.gui.page.attributes.text.resistances": "Стойкость", - "playerex.gui.page.attributes.text.fire_resistance": "Огонь: %s", - "playerex.gui.page.attributes.text.freeze_resistance": "Холод: %s", - "playerex.gui.page.attributes.text.lightning_resistance": "Молния: %s", - "playerex.gui.page.attributes.text.poison_resistance": "Яд: %s", - "playerex.gui.page.attributes.text.wither_resistance": "Иссушение: %s", - "playerex.gui.page.combat.text.attack_speed": "Скор. атаки: %s", - "playerex.gui.page.combat.text.attack_damage": "Сила атаки: %s", - "playerex.gui.page.combat.text.melee": "Ближний бой", - "playerex.gui.page.combat.text.defense": "Защита", - "playerex.gui.page.combat.text.ranged": "Дистанция", - "playerex.gui.page.combat.text.melee_crit_damage": "Крит. урон: %s%%", - "playerex.gui.page.combat.text.melee_crit_chance": "Шанс крита: %s%%", - "playerex.gui.page.combat.text.armor": "Броня: %s", - "playerex.gui.page.combat.text.armor_toughness": "Прочность брони: %s", - "playerex.gui.page.combat.text.knockback_resistance": "Сопротивление отбрасыванию: %s", - "playerex.gui.page.combat.text.evasion": "Уклонение: %s%%", - "playerex.gui.page.combat.text.ranged_damage": "Доп. урон: %s", - "playerex.gui.page.combat.text.ranged_crit_damage": "Крит. урон: %s%%", - "playerex.gui.page.combat.text.ranged_crit_chance": "Шанс крита: %s%%", - "playerex.gui.page.combat.text.attack_range": "Радиус атаки: %s", - "playerex.gui.page.combat.text.lifesteal": "Вампиризм: %s%%", - "playerex.gui.page.attributes.tooltip.level[0]": "Это ваш уровень игрока. ", - "playerex.gui.page.attributes.tooltip.level[1]": "Может быть увеличен с помощью опыта", - "playerex.gui.page.attributes.tooltip.level[2]": "+%s Очков прокачки", - "playerex.gui.page.attributes.tooltip.skill_points[0]": "Очков прокачки может быть потрачено ", - "playerex.gui.page.attributes.tooltip.skill_points[1]": "чтобы увеличить другие характеристики.", - "playerex.gui.page.attributes.tooltip.movement_speed": "Скорость движения: %s блок(ов)/сек.", - "playerex.gui.page.attributes.tooltip.breaking_speed": "Скорость разрушения базового блока.", - "playerex.gui.page.attributes.tooltip.reach_distance": "Радиус достижения: %s блок(ов).", - "playerex.gui.page.attributes.tooltip.health": "Текущие ХП/Максимум ХП", - "playerex.gui.page.attributes.tooltip.health_regeneration[0]": "Ваша пассивная регенерация ", - "playerex.gui.page.attributes.tooltip.health_regeneration[1]": "здоровья каждую секунду.", - "playerex.gui.page.attributes.tooltip.heal_amplification[0]": "Усиливает восстановление здоровья ", - "playerex.gui.page.attributes.tooltip.heal_amplification[1]": "на это значение.", - "playerex.gui.page.attributes.tooltip.fire_resistance": "Сопротивление огню: %s%%", - "playerex.gui.page.attributes.tooltip.freeze_resistance": "Сопротивление холоду: %s%%", - "playerex.gui.page.attributes.tooltip.lightning_resistance": "Сопротивление молнии: %s%%", - "playerex.gui.page.attributes.tooltip.poison_resistance": "Сопротивление к яду: %s%%", - "playerex.gui.page.attributes.tooltip.wither_resistance": "Сопротивление к иссушению: %s%%", - "playerex.gui.page.attributes.tooltip.button.level": "Повышение уровня %s", - "playerex.gui.page.attributes.tooltip.button.skill": "Навык ", - "playerex.gui.page.attributes.tooltip.button.refund": "Возврат ", - "playerex.gui.page.combat.tooltip.attack_speed[0]": "Сколько полноценных ", - "playerex.gui.page.combat.tooltip.attack_speed[1]": "атак за единицу времени.", - "playerex.gui.page.combat.tooltip.attack_damage[0]": "Урон, нанесенный ", - "playerex.gui.page.combat.tooltip.attack_damage[1]": "заряженной атакой в ближнем бою.", - "playerex.gui.page.combat.tooltip.melee_crit_damage[0]": "Множитель, применяемый к вашей ", - "playerex.gui.page.combat.tooltip.melee_crit_damage[1]": "критической атаке в ближнем бою.", - "playerex.gui.page.combat.tooltip.melee_crit_chance[0]": "Вероятность нанесения критического ", - "playerex.gui.page.combat.tooltip.melee_crit_chance[1]": "удара в ближнем бою.", - "playerex.gui.page.combat.tooltip.armor[0]": "Очки брони; ", - "playerex.gui.page.combat.tooltip.armor[1]": "уменьшает получаемый урон.", - "playerex.gui.page.combat.tooltip.armor_toughness[0]": "Увеличивает эффективность ", - "playerex.gui.page.combat.tooltip.armor_toughness[1]": "защиты вашей брони.", - "playerex.gui.page.combat.tooltip.knockback_resistance": "Сопротивление отдаче: %s%%", - "playerex.gui.page.combat.tooltip.evasion[0]": "Шанс полностью увернуться ", - "playerex.gui.page.combat.tooltip.evasion[1]": "от стрел.", - "playerex.gui.page.combat.tooltip.ranged_damage[0]": "Урон при дальней атаке ", - "playerex.gui.page.combat.tooltip.ranged_damage[1]": "стрелами.", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[0]": "Множитель критического удара ", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "при дальней атаке.", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "Вероятность нанесения критического ", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "удара дальней атакой.", - "playerex.gui.page.combat.tooltip.attack_range": "Радиус ближней атаки: %s блок(ов).", - "playerex.gui.page.combat.tooltip.lifesteal[0]": "Вы исцеляетесь на этот процент", - "playerex.gui.page.combat.tooltip.lifesteal[1]": "от нанесенного урона.", - "playerex.attribute.name.level": "Уровень", - "playerex.attribute.name.constitution": "Телосложение", - "playerex.attribute.name.strength": "Сила", - "playerex.attribute.name.dexterity": "Ловкость", - "playerex.attribute.name.intelligence": "Интеллект", - "playerex.attribute.name.luckiness": "Удача", - "playerex.attribute.name.evasion": "Уклонение", - "playerex.attribute.name.lifesteal": "Вампиризм", - "playerex.attribute.name.health_regeneration": "Реген здоровья", - "playerex.attribute.name.heal_amplification": "Усиление исцеления", - "playerex.attribute.name.melee_crit_damage": "Урон крит. удара в ближнем бою", - "playerex.attribute.name.melee_crit_chance": "Шанс крит. удара в ближнем бою", - "playerex.attribute.name.ranged_crit_damage": "Урон крит. удара в дальнем бою", - "playerex.attribute.name.ranged_crit_chance": "Шанс крит. удара в дальнем бою", - "playerex.attribute.name.ranged_damage": "Урон в дальнем бою", - "playerex.attribute.name.fire_resistance": "Сопротивление огню", - "playerex.attribute.name.freeze_resistance": "Сопротивление холоду", - "playerex.attribute.name.lightning_resistance": "Сопротивление молнии", - "playerex.attribute.name.poison_resistance": "Сопротивление яду", - "playerex.attribute.name.wither_resistance": "Сопротивление иссушению", - "playerex.attribute.name.breaking_speed": "Скор. добычи" -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/lang/zh_cn.json b/src/main/resources/assets/playerex/lang/zh_cn.json deleted file mode 100644 index 7e4ba9d1..00000000 --- a/src/main/resources/assets/playerex/lang/zh_cn.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "text.autoconfig.playerex.title": "玩家属性设置", - "text.autoconfig.playerex.category.server": "服务器设置", - "text.autoconfig.playerex.category.client": "客户端设置", - "text.autoconfig.playerex.option.disableInventoryTabs": "Disable Inventory Tabs", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[0]": "Hides inventory tabs.", - "text.autoconfig.playerex.option.disableInventoryTabs.@Tooltip[1]": "Superseded by Disable Attributes GUI option.", - "text.autoconfig.playerex.option.disableAttributesGui": "禁用属性GUI", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[0]": "隐藏位于物品栏的标签并禁用属性GUI。", - "text.autoconfig.playerex.option.disableAttributesGui.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.resetOnDeath": "死亡重置", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[0]": "当玩家死亡时,所有属性都重置为默认值。", - "text.autoconfig.playerex.option.resetOnDeath.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.showLevelNameplates": "等级铭牌", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[0]": "如果实体拥有等级,则会在该实体的头顶渲染一个等级铭牌显示该实体的等级。", - "text.autoconfig.playerex.option.showLevelNameplates.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.skillPointsPerLevelUp": "升级技能点", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[0]": "设置每当玩家升级时可获得的技能点数量。", - "text.autoconfig.playerex.option.skillPointsPerLevelUp.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.levelFormula": "升级公式", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[0]": "设置玩家升级所需要的经验值。变量“x”指的是玩家当前的等级,且该值是必填项。", - "text.autoconfig.playerex.option.levelFormula.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.restorativeForceTicks": "每Tick力量恢复", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[0]": "设置每Tick可恢复多少力量,1秒 = 20tick。", - "text.autoconfig.playerex.option.restorativeForceTicks.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.restorativeForceMultiplier": "力量恢复", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[0]": "力量恢复速度速率。", - "text.autoconfig.playerex.option.restorativeForceMultiplier.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.expNegationFactor": "区块经验系数", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[0]": "设置经验值在特定区块里的掉落系数,设置为100则与原版一致。", - "text.autoconfig.playerex.option.expNegationFactor.@Tooltip[1]": "(需重启游戏)", - "text.autoconfig.playerex.option.levelUpVolume": "升级音量", - "text.autoconfig.playerex.option.levelUpVolume.@Tooltip": "设置当玩家升级时播放声音的音量,设置为0可静音。", - "text.autoconfig.playerex.option.skillUpVolume": "技能音量", - "text.autoconfig.playerex.option.skillUpVolume.@Tooltip": "设置在获得技能点时的声音音量。", - "text.autoconfig.playerex.option.textScaleX": "文本水平比例", - "text.autoconfig.playerex.option.textScaleX.@Tooltip": "设置文本的X轴比例。", - "text.autoconfig.playerex.option.textScaleY": "文本垂直比例", - "text.autoconfig.playerex.option.textScaleY.@Tooltip": "设置文本的Y轴比例。", - "text.autoconfig.playerex.option.levelNameplateHeight": "等级铭牌高度", - "text.autoconfig.playerex.option.levelNameplateHeight.@Tooltip": "设置渲染等级铭牌的高度位置。", - "text.autoconfig.playerex.option.tooltip": "工具提示属性", - "text.autoconfig.playerex.option.tooltip.@Tooltip": "DEFAULT:保留默认不做修改(兼容其他Mod)。\nVANILLA:修复攻击伤害和攻击速度显示错误问题。\nPLAYEREX:攻击伤害和攻击速度为默认的属性修饰词。", - "playerex.command.reset": "%s的属性已被重置为默认。", - "playerex.command.reset_chunk": "%s区块等级已被重置为默认。", - "playerex.command.refund": "%2$s已返还%1$s个技能重置点。", - "playerex.command.refund_alt": "%s已返还1个技能重置点。", - "playerex.command.levelup": "%2$s已提升%1$s级。", - "playerex.command.levelup_alt": "%s已提升1级。", - "playerex.command.attribute_max_error": "%s的%s属性已达到满级。", - "playerex.command.skill_attribute": "%2$s获得1级%1$s属性。", - "playerex.command.skill_attribute_error": "%s未拥有足够数量的技能点!", - "playerex.command.refund_attribute": "%s已返还%s个技能点。", - "playerex.command.refund_attribute_error": "%s暂时没有可返还的技能点!", - "playerex.command.refund_attribute_unskilled": "%2$s未拥有%1$s属性!", - "sound.playerex.sp_spend": "Spent Skill Points", - "sound.playerex.level_up": "Leveled Up", - "playerex.key.screen": "打开/关闭属性GUI", - "playerex.gui.text.nameplate": "等级:%s", - "playerex.gui.page.inventory.title": "物品栏", - "playerex.gui.page.attributes.title": "属性", - "playerex.gui.page.combat.title": "战斗", - "playerex.gui.page.attributes.text.level": "等级:%s", - "playerex.gui.page.attributes.text.skill_points": "技能点:%s", - "playerex.gui.page.attributes.text.constitution": "体质:%s", - "playerex.gui.page.attributes.text.strength": "力量:%s", - "playerex.gui.page.attributes.text.dexterity": "灵巧:%s", - "playerex.gui.page.attributes.text.intelligence": "智力:%s", - "playerex.gui.page.attributes.text.luckiness": "幸运:%s", - "playerex.gui.page.attributes.text.movement_speed": "移动速度:%s", - "playerex.gui.page.attributes.text.breaking_speed": "挖掘速度:%s", - "playerex.gui.page.attributes.text.reach_distance": "触及距离:%s", - "playerex.gui.page.attributes.text.vitality": "活力", - "playerex.gui.page.attributes.text.health": "生命:%s/%s", - "playerex.gui.page.attributes.text.health_regeneration": "生命恢复:%s", - "playerex.gui.page.attributes.text.heal_amplification": "治疗增益:%s%%", - "playerex.gui.page.attributes.text.resistances": "抗性", - "playerex.gui.page.attributes.text.fire_resistance": "抗火性:%s", - "playerex.gui.page.attributes.text.freeze_resistance": "抗冻性:%s", - "playerex.gui.page.attributes.text.lightning_resistance": "抗雷性:%s", - "playerex.gui.page.attributes.text.poison_resistance": "抗毒性:%s", - "playerex.gui.page.attributes.text.wither_resistance": "抗凋性:%s", - "playerex.gui.page.combat.text.attack_speed": "攻击速度:%s", - "playerex.gui.page.combat.text.attack_damage": "攻击伤害:%s", - "playerex.gui.page.combat.text.melee": "近战属性", - "playerex.gui.page.combat.text.defense": "防御属性", - "playerex.gui.page.combat.text.ranged": "远程属性", - "playerex.gui.page.combat.text.melee_crit_damage": "近战暴伤:%s%%", - "playerex.gui.page.combat.text.melee_crit_chance": "近战暴率:%s%%", - "playerex.gui.page.combat.text.armor": "护甲值:%s", - "playerex.gui.page.combat.text.armor_toughness": "盔甲韧性:%s", - "playerex.gui.page.combat.text.knockback_resistance": "击退抗性:%s", - "playerex.gui.page.combat.text.evasion": "闪避:%s%%", - "playerex.gui.page.combat.text.ranged_damage": "远程伤害:%s", - "playerex.gui.page.combat.text.ranged_crit_damage": "远程暴伤:%s%%", - "playerex.gui.page.combat.text.ranged_crit_chance": "远程暴率:%s%%", - "playerex.gui.page.combat.text.attack_range": "攻击范围:%s", - "playerex.gui.page.combat.text.lifesteal": "吸血:%s%%", - "playerex.gui.page.attributes.tooltip.level[0]": "该属性为玩家的等级。", - "playerex.gui.page.attributes.tooltip.level[1]": "需要消耗经验才能升级。", - "playerex.gui.page.attributes.tooltip.level[2]": "+%s 技能点", - "playerex.gui.page.attributes.tooltip.skill_points[0]": "技能点可用于升级技能属性。", - "playerex.gui.page.attributes.tooltip.skill_points[1]": "", - "playerex.gui.page.attributes.tooltip.movement_speed": "移动速度:%s格/秒", - "playerex.gui.page.attributes.tooltip.breaking_speed": "基础的方块挖掘速度。", - "playerex.gui.page.attributes.tooltip.reach_distance": "触及距离:%s格", - "playerex.gui.page.attributes.tooltip.health": "当前剩余生命值/最高生命值上限", - "playerex.gui.page.attributes.tooltip.health_regeneration[0]": "每秒被动恢复的生命值。", - "playerex.gui.page.attributes.tooltip.health_regeneration[1]": "", - "playerex.gui.page.attributes.tooltip.heal_amplification[0]": "每当玩家获得治疗效果时,该属性可增加回血量。", - "playerex.gui.page.attributes.tooltip.heal_amplification[1]": "", - "playerex.gui.page.attributes.tooltip.fire_resistance": "火焰伤害减免:%s%%", - "playerex.gui.page.attributes.tooltip.freeze_resistance": "冰冻伤害减免:%s%%", - "playerex.gui.page.attributes.tooltip.lightning_resistance": "雷电伤害减免:%s%%", - "playerex.gui.page.attributes.tooltip.poison_resistance": "中毒伤害减免:%s%%", - "playerex.gui.page.attributes.tooltip.wither_resistance": "凋零伤害减免:%s%%", - "playerex.gui.page.attributes.tooltip.button.level": "升级%s", - "playerex.gui.page.attributes.tooltip.button.skill": "技能:", - "playerex.gui.page.attributes.tooltip.button.refund": "重置:", - "playerex.gui.page.combat.tooltip.attack_speed[0]": "每秒可进行多少次满级蓄力伤害。", - "playerex.gui.page.combat.tooltip.attack_speed[1]": "", - "playerex.gui.page.combat.tooltip.attack_damage[0]": "每次可造成多少的蓄力伤害", - "playerex.gui.page.combat.tooltip.attack_damage[1]": "", - "playerex.gui.page.combat.tooltip.melee_crit_damage[0]": "每次使用近战武器攻击可增加多少的近战暴击伤害。", - "playerex.gui.page.combat.tooltip.melee_crit_damage[1]": "", - "playerex.gui.page.combat.tooltip.melee_crit_chance[0]": "每次使用近战武器攻击有多少概率可造成暴击伤害。", - "playerex.gui.page.combat.tooltip.melee_crit_chance[1]": "", - "playerex.gui.page.combat.tooltip.armor[0]": "护甲值越高,可减免的伤害越多。", - "playerex.gui.page.combat.tooltip.armor[1]": "", - "playerex.gui.page.combat.tooltip.armor_toughness[0]": "在护甲值的基础上再次减免部分伤害。", - "playerex.gui.page.combat.tooltip.armor_toughness[1]": "", - "playerex.gui.page.combat.tooltip.knockback_resistance": "击退距离减免:%s%%", - "playerex.gui.page.combat.tooltip.evasion[0]": "有概率可完全免疫箭矢伤害。", - "playerex.gui.page.combat.tooltip.evasion[1]": "", - "playerex.gui.page.combat.tooltip.ranged_damage[0]": "使用远程武器造成伤害的加成。", - "playerex.gui.page.combat.tooltip.ranged_damage[1]": "", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[0]": "每次使用远程武器攻击可增加多少的远程暴击伤害。", - "playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "每次使用远程武器攻击有多少概率可造成暴击伤害。", - "playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "", - "playerex.gui.page.combat.tooltip.attack_range": "近战攻击范围:%s格方块", - "playerex.gui.page.combat.tooltip.lifesteal[0]": "根据攻击伤害的百分比治疗玩家。", - "playerex.gui.page.combat.tooltip.lifesteal[1]": "", - "playerex.attribute.name.level": "等级", - "playerex.attribute.name.constitution": "体质", - "playerex.attribute.name.strength": "力量", - "playerex.attribute.name.dexterity": "灵巧", - "playerex.attribute.name.intelligence": "智力", - "playerex.attribute.name.luckiness": "幸运", - "playerex.attribute.name.evasion": "闪避", - "playerex.attribute.name.lifesteal": "吸血", - "playerex.attribute.name.health_regeneration": "生命恢复", - "playerex.attribute.name.heal_amplification": "治疗增益", - "playerex.attribute.name.melee_crit_damage": "近战暴伤", - "playerex.attribute.name.melee_crit_chance": "近战暴率", - "playerex.attribute.name.ranged_crit_damage": "远程暴伤", - "playerex.attribute.name.ranged_crit_chance": "远程暴率", - "playerex.attribute.name.ranged_damage": "远程伤害", - "playerex.attribute.name.fire_resistance": "抗火性", - "playerex.attribute.name.freeze_resistance": "抗冻性", - "playerex.attribute.name.lightning_resistance": "抗雷性", - "playerex.attribute.name.poison_resistance": "抗毒性", - "playerex.attribute.name.wither_resistance": "抗凋性", - "playerex.attribute.name.breaking_speed": "挖掘速度" -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/sounds.json b/src/main/resources/assets/playerex/sounds.json deleted file mode 100644 index 5078d7e7..00000000 --- a/src/main/resources/assets/playerex/sounds.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "level_up": { - "subtitle": "sound.playerex.level_up", - "sounds": [ - "playerex:level_up" - ] - }, - "sp_spend": { - "subtitle": "sound.playerex.sp_spend", - "sounds": [ - "playerex:sp_spend" - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/playerex/sounds/level_up.ogg b/src/main/resources/assets/playerex/sounds/level_up.ogg deleted file mode 100644 index 7aadd8c0081ef927553b45e56bce4641703a8a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41259 zcmeFYbyQVf+bBBs-n5j`A)&NLgEU(ZX;4DxkP?yZ-YO}I3P`t-N(j;^h=8=Tbfa{~ zhP}^1fA4$V``vGxbH_O2{&yye$y_tneCE^hLCe-w2f)EUX^h}+;Z#Tl55@%ZbaH)Q z=XPENzxDB-E-rsNSHZN-NB%pVkAy*Q#-HjjmmXmMOL~L&JJmI)hrXTjLq086Tb9Rm z5AOY0fJKExNI+0XKuAECg-gr9(azb`+RfV0o%?(#Qs`G#MOR%>Mo^4TP>@gX#zm;+ zrnat%j;@S~qnop}rMr`>Dh&7U3f%Gv_h8_B8-nUAt*E}&dH|3EV9v%(8e^lvogJIW z<&zMrd|ql5h)9TyXr;A$A^7cI8H>Yc!*$GGta3Syjq%vy=rS^IDAe=Rn7RtgHUE5i6Q(TF7@-m(h z3AM94Qy2R6K1NgWSKhlQ$=_U``{XZN|NKK$U2y20Wl=qziN9Nq#B$0%8R4IOut47; zk4I-kE>CbieK>bcf-5xD-)*q~6tqpC^oCO96J_To#_oPLtsUOG6r%mYiaNR)dQkE( zx$kK`;^{Hs8DNkQVpJ7iP!(b{8e(!7VnG}F&vO(oeR%%-**XghWL%Yqo9E8DLZ3A! zk%b5j{RjtE=OAGrjK0Dh{Z1vv=24Mda>c_B6%L)Hyq%@Qf4V@2k8}PtAj2*x=l}KC z7{pos?;qsDb{>F)VAjSQ$_uXVh+%!fYP@F^Lf1RHE!53&Ftf@9}k5B}{ zuPy$71qE%4Hj_Ys`0q+khw#h=mZZL<-EIleq{WPU%H)AB5xU8o)%gj@e@^gm58XU; zmfYVHTQd^-lH7V!h?BDamV7QH;}_=tfa>U$Q%JwjSwQ{lek9@NkLg2W4f>Ln@~SDJ zQbcSrXL+^m-}(MQi+t0Ro-Y!!(1?hi$@bNRCQ#|vDrKXa@VxH7q7M=}H;Yl)Z>djN z0;2F9P_pK*#xS|RB8|xqZ0CN@^fKzUYW}l3+H{=R?oa>hoCSbj@;_Mouj~&h|Hb0> z(a(9lbCq=ob@HBPA6t4PS4&#R6^I2PEanx3u=r*9Qkq+lgtC2h`LN-&>{xA8?(Dx5 z1sy7j)$5yhbbp8>G{N;dcP>N~|9Nm*Y`qsR_y5P!yUlp_5 z5brTw8DcW(F+CD6J@V3wCiK4|*1stSKtvP#hbChmybx?ld8R2(`1gSSML8~%ZEqMm z-ms~avT6L_?cNd5+7;=iP`oRmp+jZTPvtQ{ZLK3_G9YR_pl3bgX+2h9ZB!XxQ1K7J z{3V;|5s&|%oO2SnA`vyO9F6loDJO#~YEC@rs!BAQK{SU?oNYu>eq!3M{4ApXLOBng z=O#SQ4S&8I9>o0ro8bbO0>8 z&l&V3z4YL5X!+h!$+6hbR%CD zS}EVWUhz$vbukYgVtWK2lMax!!5B3VjA{so^3IdW0MMX>byJ+n7$`OMiy$dvkQ9o4 zU;oc?Xd#iiIMDOYG|)o*y0Ctcf7XIlX%bdMia?U&|2+LSYuy!vY5m7qND&RBuEziQ zO8<9;{|kZtEd(GGhd~+^j9NaE^%@){4g+EH$Y>UoEfJKZ!Irc)y*kB=KD9Ji68^xy zr~?4xj)*stG+7SeYZ0tkt44|wH((nO@w)SEA@2C0y zUi)7bgrT?q2+Pu^c4q8^M_C#mqj@iw8vqT2H$9RPcHS9&{&fr@?9}*NB3A5x92d+u zQ+ECkxw{}9mu;8T?!v1!aO;gVqy$A=5rK*q)0Ta52zz&-eRDm}vV%k71p+(nIoQP> zs`8TFdDyNBSlB?*ta#j_PZrm6NPjB$?!w!-d+RQxhK`;|{JehLazqwaQcgh)AGA>K z9}xv9cMp^PT`i(P32|YF8=KH1Ek&HqP*6~G0qQv*q5<_B!OeP@l#^coNfP9rjzbF90)5 zFu>A8AlZ>uO2D8|wFM~YORs=%2p3*hs0wBiTV9eU%Cu0IS7x=+*5={PCX(l2f2(~{ zIs3h~km~j9IBi_kx6!KkEbq0oxp4vNvN-gsPY@FN5eMu*+MZ?XgD#0>HhERSr4+YI ztl6}XdXrCSd9LHcMhilEvZiWB0#wJDZ3Xp9iP4sX>PR7l!yW4KK2}?PCB+TWKT@GC zFo66E?dOj*1up6S0XG$BnmIqNG)@TID$zMUX`GPW`Y8JS-MAw$cLRsIRxk6v8A6CdX#L{l^`Tg|9$bKw z5eG}gLDT#l0Ts?w@VDoE&kKL@ z{PPm@`ZxdEkPR&aRsO9yUkG~rXTCoR#cK2XeTCRB;+*?k<+=VifnWxO9%!DlVkSF>ih`CUad^(g^2UVg|6p6rB}IQh;5 zZQ=*l1l?ZJoL1eC}pPl$myQu#F;5M3a?+@gp?^0B^a%5YW} z=S&rY?EmmC@`&(O7QswcLUHlg zP|m5XV1|?o9o^qZXdM8UzzoE`#=w;;S&8#2TStKKA{{HYpv28{?*af);0OR^ZB%&p z!zFP^X<4NFt=r0~>Y8^T_6GYS36TIsK=9Y#Jbx!3`0Ecra{n0*&ix_hVllN~a*{#r zwz86uqXV`K8-n%5I$>R~kFbu|r%-PF;_`gFt%e4gZZ*YH>CmB9cbx3EZxFhJS{?w= zu9*aK!B=x`LY&N-I{YRU{+b>V#3Mt(ezu1L-&e~hj>tYzy+QZhVA6hxL*-_bbWzR+ zvsTIQJjbW@K7TdkQ_xhr;7#A;b=R(<@zc1}{q*_Y zXGr6j#+dtk>x+StZ@oY`(*p#c#>YRGfy|wbV&}6oB zZ9I_Sh&}vzOkpu|!7UAP!q?Yq?4K6=EL}6~=ThXg_qZ1|Njkr&RTo`z67h$)E z)JKP>sp=gI_K8_i?@k2p_cRcP^cc!A+(xz9X5^ui5dVXsi+T;A5jB=_&D(AtOxg`t9R|GfaW!loY28Vy?$Z-P-FBf zEx%)rh>SB1SoG!%v%?%Q_@`D4UOrUMvg7r0Fc>CMIX010B1yy)#<0$>KD zg_F$ea|S0C6n(verX0gndvm2R&POdap~C&=cu*3dyB?~A6%T2HVDiAVIUQ}q_=2o7B>Jc2@eQy2q^#oMKB=< zU7Yv9;y782l7a4|dhfJ?om`<@IluA!GJJSbVrC~A2PIGQ)aKB2Ns-%Rl!I1rwds`yUosu8_-zWC^{NIidf<xux)t!y@ei+q$1iCucBTRSi=2+)iJ zn&Gp6MS|0b%eti3jBP@OaTHO4zJ9Pu?02>~J}}~PZAjNlZGYd__kmaRbQ~*5z*v~{ z?uU+FCktJlC-(hAiC!ljNttoT;g_2F$LPjj63FF=;_xesB?h4zIH;WDH9C-? zm_-#g55vp?aMD<(mj!Er$wK|k(^lWkwAub}vL`g`65j1i`%Z-TH!#y`Yn+or4+bAW z-3aUt&U+s1!htN^Qdj&fyOs)N^bUAAX0BZ2+Ev>d^h3bfMVBnL9f#M2Qrj2+FDl%? zye2X*vkAaBBoTY^3RvVkzs@sr{(J+JW*i8}`55QYBsT3xfCUU#JRt|}g<6GI`8GJi zzWG*3fu@nT!>za5xdYvyOp}#oOOI-oIU6U-Y8ZS?N3TV4WFx>t7Xi}eX`5}`z8J8Q zw&F+{O6D)(o6^EYEnC;g0m>jLfr4Q%D_!Fo?q@AB{!>(BpzkBMd+FQjx0$xxe?RLL zRhX(V){`!Jc~R1M!*@_)`S@8nb5x4!=^KQ%eNg3snwUib9^jbUVl=bk%}C*=kCky% zgolecQqT}02R5Tk+U6JDUCn{902YG6?yX8uXA-g|5RU^BpzPtoZc&0q$olE1DLiQi zaw11o1CP?@SkAE*_4&=|h;5js{c`|Vp4@u<{gbBHmnX1-iW9bgI2h=L3}(Be(1bi%5q|*(9F~BswPu;c%suf=9BSE`!*x)vJ3*uJgVVCEgK-ijAha< zfD#E3faD^|Rif|9m&I+$i5|ji=wSt1E4pUL>tc;plV5HUpvtzQ zHhp}470aw+59=GU5w-nXNkQT_WINN-uxsnaGyqlULI%FXzdkd=wxoQh|15={0W8}m zoBBwhCBSP|=~}r5{&%On?)nolfm3wmqR(9bp6eDrw-Ki?(OX8F6_t&s-Q$es)Qj1z zrf`#(Yv(}W0=hff-HLlQG4;m=JK5qTEuO`b=n}sf=U?_7XJiOvs{?&gqn*Be)=0CSqhRo8tYszwYY_z>o5-r#2Ece?qY<9K4c3-~}99N8(E z0VJLG*scrW(>Y9mI5nstsmD|~NDC0>anvT;or-|9i5#fqIrhH%Dt&uzU`4 zs(>U}NkT+QmA3j(WpJFkuH8Md6#lg&kDHc!D({qw5+z+Ri zJT0qaU)2H-O0$eJ?;qDm|KZ;&PN*k2xkHr! zo*R&&o>(d8CLs@5^*grM~T>eIvxu@Sr-g;Mp|;mCI}^S1(hgw(4lZ`m~$K6m5x zZMu-yB(F4!GbaF0XVr-oczEm6IKbSjD{{BfN$}Zig;>10wr{hm_UoD;3ia*a0j0z6_dc7b^>io-1pXibGd`7T z+qORGMxu~kDAs(qt?;1i@p@1w39vT$-V~YnR*}D!2;2!yxo+K9P_)iov`7s}&)3p- z0ctvnN(_%~#Yb-))-W`7$S>qw^Jr^QzrH(eeW&brhNkgTz5n~&8xgmHi-IAC2;fbE68p7szWb~v@E7+{<1R8 zz)Mzk9b(lhmJkyGTOR=CXz^?OEdn{;>>+uwhm;g)(u6rn?EUnI!@mqSVREgvbZ5Dk zjuM^H0Xd_zF=3jh2-0#n7Y26lXQt0ET1NE3)C9|IHQwm`$T4b^HTfk%Tzb=qc)MIx zq`1X9=#Y8I;h=KmbGP@3tEh#4LuybEK8tB1_CAd#wqsh)L|1a!vvauYezAA(%(cU+ z$zcSD?I+FHZ_nzeR;)-At1my33c};}Squt2?P$9X0GIqMUME*rX0m;NcLsznlg`xu z?E1OeYdZ_o1ihe}2(Bo@x}Wxc|I)HQgAw&hk6zqm_+iz4Cxb``#kjLPyrX{Xv=Pt7 zz#r6XI-Y4Rmi*<(g{qKyzMtwm0^;5tssw&j#l*-(u_J{6l4|mCV^E*-=GGnL@iXjB zZuT6vKEMZrxZ4^Qp(xxc942vK8Sx}-;U9k*Ow2t;)#@ilk9{kVWv?Il(sWon4A2q*)X0Wfm>elZYAM2507yr6 zl7S|A=(Oi%1(@s}a?GpKQ_h@olneswk#rpZ^yCFK-;a*Emv<4QfUQgV<4Ys}fieS- zf`V#z%MQUCo(5TWBWARRCZ!@L&1Zxrj!z@5d_e{(NB@xVaGi%SQEyX5J@9F|2%ewe zgDoQx&~?zt6m)ij*XBava@$nenV8p8(#&%UD&11kgecXK-TaTdgzm^+{0dXHedK3W z`=u<`0PHNr2mD@w0bQ-mJ2TremGupghn!`-FI>pt9dIJ>FgQRc54piSSaDW`UU<#{ zz^kgv{se7Q=b*vl)xe!?<~_M}ow~rZbPe@eT~06B0x{9-)vp+{IQ*^Beg;S1OkHEY z%tz0esvUuTHKM?>%DM4qd`cq>LEU&tD?)V>y}A5s$|=rrv*j>&%P zkMUhvUKV12?%u>d>vT>#n2|J^aV#NUA}H0se89Kpy?`bnY%W zzv|N+U{#{Unqv*I53rV4PwW%u#~&Mr^@GYG4M*%NVYkX>tNDJmGtIn+NO9lpoYf*U zsbSW8G=?x8y~W{ANnZm4YjOaEErVsKxIMw2F}(j9iy>l&Wc%I-G2VQ7ix5jqs^9j6 z%FVYS1xKF+fGobzd)EkGrh3`R7Wjf;MQqbce>H$K^Ct%08NaED1rCwd#_&B0DPM8E zvvTmWo*M4iiqZ-U4b&&w0H_{03au^Z5(1ULi2y$7Vq`>3L5psFPE9eG$n6%4w}vlf z=JM~vOswn5vD_Kf<><}C`;4QyyqLQYx0r_a^B9ij#z?D2hDsAk$Q^zg_)q;z=sDBh zI8pi48=s!;#faUchPX1yF_+0te11ZP=2f-(Iu~mQDGw_ZG0|bS%}hm<<;I z6Gjm1i7`j)3t?Z9ZLbJAP+$}Xba`B7!u4S;0MuI=l)QyD<^E@w&ll3gWd z8=B~o=)FU_r2$A~M2ZfT#%$h!K_mv~0~n48{Y;{*~S98&H2p$L_z@ zQ@>}(2C3qpV|yR_3eS53ynz1&EWBZq{a5^Zj+R}+*t?5A1ZHo&G(}EF%VaPAP!nEp zI(YCd?;$HdU4!+a=xDbc07_A~F0>!CnVlXVyTEwuKP~7V+!zBT#G=h9n%%)C+HekD zNLWJ4uE-wjc23U7Hn>HKcx7Kb6UrLDAb4agp&IYo(*OrM!*LD@#WeBHAUa z0=9T%PXxLn(!JKzSQ*q)DoqM9eUH(MtW;57wip3r_?#r5LAgYg7kg4RnI+(MS^arkxsuDHOrvQ~nShi00o4C;j)JJgt3k z>y=gfMq!NV_4e$Gzi=W=aOBu;tYYeUuC8b;3cbsl;rg*%00X3sGh@VEB`@b79J1qc zP7qeD3*NOH33Mq`0|t7EEuYl$KHxxx4kS6rsi7m*IJMd2|D;(k{kEaj3@oiv1SX%n z?RKRK;<@y>C|9PK)u~v*Ew;n=@B_rsNZhi2`_XlOAK$O-z;B$y<$t$VsLnTCv^IY= zY#x?$jXxWblE8e}0^Oh#8N)qOw@f2sG{Ke+03R{OON529M&{Jfg6 z=IEpG(s4ip?I>kQUequ00i9w^63p2dRS%=uJ8TI-(Z_b5aXwr@s5|I4`L&5TEs;jy zMSVxVA}xUe=Q3Pi6Eu`;n|QS5Ti%^xvrSS}FnkpJ@J%;2-VDT281ymT%eaAm-Pxc7 z{s{*HuLvMN#ol0~1=RkM`sc&|($1NKX&(Dn{H@l>Vojb@eBUZUPR)fYr|i`)s?lLT zqVc7@7w}g47v!juaKLCf1CDUkC&M6Ih(A!xmQ1Re?wpN!xa{dMU+uGy7z|!b&%SU38`tFSOvN*Vc0=FVguhG#j_QRNfyA$*?V!3RTZ@f3 zwLF@xZrcNSweg!6-ePasT@PIxLVmv)tH4JjAyXy9cClj@?!yZI- zk*(<@KJRoW#@7vZo2snY^A$#*$OBfkRm%~}P3{j4UqmhOLjcm86SrZfG z17^sg+~t+1+{6p07KsYv-R3>@$UK(xMz4pKu?b4irQ zo|YT!Uvsc)e&{dhdvD-p1%A{a&cpk}_|MLHao6KYBCuk=1l^90?uV`|Rl?&>D-*4Q ze7CZ-E{f`XHsa&y+^%~nZS^46R4Ok2kuT8a0(S@|+0x}a?H_+GzCexidNODu`T482 z(x4+>1_hbAqu*&hPp=Z6aPHwzp41gjXq61E2eJe3D!e3^AySW@1U+6P;53o%#W<1K z(_^xyR^9QTuJB6_rpFC4RGS!#-vq!hF)?GFrkiYazN5CNN?96y3V4|9gNap&G$V#4 z1Pk_D*w{=d7(kH#)3P1t%CDs%(*mLa$Q~N|!&dSXk5-MYoCXy>==cFM$=z6mlk-AONZH%vK&(rsp@0FLcf;mJD*nq%f8; zfm!Fr7O3ZCazM~x7cxyC^&2J0r0yWC_>w>CxTCFQNdjzFwVf?`Np5(z7q9Ep$8568 zq9I{xC7FiAYd?DGeb3A$Q+C;fAUSvF*oPp}ru`T>iDKHikGj;J$xgG` z^u@@cXXK^L)-`ZMjcWSp{i>*rJ#Y`&6zZFWBMh91Ezh7H>a`&D>5qE`r7HHK9hL)q z8WPAFU>B4Mvyj(PjUTSCm&T88*X_HdFI6LJ8Ejrw$4g_VG)^dieOWddU1kOW?FO+^ z8$T+FJJyL%lETeAIkK>R)17ksl}59046dZR5H5GZ8d~KH}Z4O;os++{y7ouc7 zD+Q4)pVC&jA;X9dE9|aKvt*eUlxTL+Q zDD*YE;3w=B=3m&KXMepn%zV^&b;JX5LH!V!vBWcvto6khAixh}_6Zbv-jvXz;j$D% zkiG(Fugm9RG|D+csf|89S4g0VUtee(XYR2tVtn_;i&4p|XfwiFvu`Kwa85y06(f%a zTuIquo}tqNBDmZWQ-oRG#_uAf8cR?2zV2VNES|Tj)vl;f5LOcDlz{cQmq1tFpd<+5 zJ56O?n4^K(Wvtg?NKYX)ms#{)IW;ivpT8;PxKZ==)%Q+JbtGqj6Th6A0gc?DmTBj* z-@&5dN^lGE@s_Ac1;Os#vzE#evaPxP&If$GBLZ3wUm(%=A+hPdW7~uP+)6Sew6;~_ zPZ4FkL&@rs9_=YI%ql%NY$Y#3g>~58YRHa{HAP_wjN|EqlCqX&0wjm1} z8JO_$>Y4s3X@d8L5y>198Cyf3F9_RZfT6nFE8H3OzZSO+rML!cf4JR?QN=u(Pms)c~HxrULd8; zjK2+Q4^64dsNS$O7yEz;W%XO$@)#~Iw@P62l%b6A@@ySF@XWJe@;$bhzVnLt&Sv5> zyx68`raUKYNWX@(!!6R)YlHMsNM9^yZ5cALJ}VxNbL(`c11u-$LfAENKJ<*@ zu4luxQ-jfQ(V5m1>)H2!!o@f-RsgJASy?B%8}AGzZ=e@P?YGu891lglKTPgCy&_RQ z*YwsvG; zP`Iv+(edR;2W2O#t8GGP!cqHu%~tn{O!G9pZj0eD4^BYH23YT$7WoTKus>9$%@}*v z;4h20nGe6ySBk$Bt`S3{o9I`YJ-<7R^QeeJFrU2Po<7uEF?5g6*iF0j4d z^b71KbLOJw628{OxG3p|fFvtEgzW;)8vB~`uuf3X84k8uA+`e= zZ1wu%zcS4p8)jdWnOVRS>3DLFAT7PUxpDQ!I`zqu)QGBtbg~vJ!+0&bwIxOndxju+ zeKLF4`yHCI=n@lZeo_m)h}$%^Bt3V_oJ4q5l4GO!YjC#_bX5fDlgAFzHNv-s!aPCW zgEvkGMl??CW-J0`XTR!3p1=W5ETg}Z<4_L63Jdv9Z5H=b0#>n@mssXEsME^I4QhNh zuZH+*rJFGD(O8ZfponeX0Rkm9{p{oXUAsiz{DPCSgS_d>wzV(9R_ipeu2zqD_}=ff zZN6SMmdRtwe{#ElqSQ80+PRLJ-#vHiWcLG?9kgTAlle{4%JQf97%3dZK&MmR#+6L9 zP?ZKH-68egC7OaHZZOZoK$o&L-fx9lx#M%VNz_-SgHJboU)0y|l0V|e9q)*lnda=p z)1p-Gkq(~II!I}3G#JqRA&jH}cRFg}-@THU#8J)E;KBCQAR6%bnYjj(b&*12O?-R=+dZ3tgLB>@-_f!S=hd4A~n0esAAa@4>i9 zg_A*A)Ft^%(UGT{-~6sK-yd$QxEA9*-FX>Iu)m-J&a$r_!`eHpq!RR|y=At(87$R_ z>({1b6gj_mveMYymOin4dP6I-f2dyaMP9AH&lGBA2?Q0ss!zu@m`Xwj2QOeu4O}@9 ztCbB)dLU+=H93G~s)`c2YL63kN;$btyytVNeH1XP65xi{vVCHV)#I%u)(P|S)C^y7>5 z!n#5~j!^uH4b~N-qzH+K<^VZ9PvS-=0Yt>RdLAYJ6qDOqmxTaq z04|XJauRqRuWk}RZXg~D!KtXVrV7Qmbo$~(0R$fXyDJp#ycW$i5J(_LnR)+_%X-Xu z&(hlZmQ`yw8PMN|Zy2a`zuYY!b({A?!DNclMEFp80DBvI#omf%J-?AhCB{Ve)X5dkN}*%KAmP}Bd1%Zf`lRx z=&oNd&$!%(%<4xu!ez2@)w^LHrgCL8?|XdASd*uwO)}mn)K1EqN?CZ__tF_0N9xi>5$Jo9H3e^ z4j~1}90$xCoJXHe-Dhv_ElVaarO{cDZGFRc+d~%$DDn*sD%R6bFuV4K`gl)hEo+g&q5Nlkn+-iJbHj?g zPb%(>=B40xU-YQXDwJ8>62_)8`|T2p=KY4pM@XEe_A5p!e34d&{-~unjtj`Skoz1{ z67$SG0@9d=L_5ptQ`uEz+AWnedPprVoBIf=fxP5XgJpzO=3$|5uKh+pQRMFex7R{3 ziQ^=9uy%O)Q*JKZi>GaaUZa(RWkCj3E$(+GYWwxvVQeBuxYga%Vup?U;NK}Z%Fsov zYXdN*Z)))$f#9Bi0HZ zp+gjy!d`_gJJy&51{jn*f+!fk`_O(f#OtXRFzccXbNFFs)l7MQbq50_zSp;TjI?Nu zTk4N4V@ZHO+KHCTL9#CIO|6xe0`=Sh{7WcKZ$PbFU#k#xN6%&?$ob;!yv>d8HinA! z-L0KJ9t4RcrX8w3m%aK&OeO#H`I!;)BwWH!eLN#yXmt=#U{=o!RIU1#>+xLzjEHl$LZ zx%qwLi40!e5F#w!g6tJpR{s0;td~+X7oH_oAI_=b-XSibb`}$#+W8&LgPj7tE9w9@eyH%fQEHgE{9(OD@S~_+dLx8~%P3Y2POW66l z%%&fYZPHuTu!;aw{Hesj*Ej_(792CcI1G89UWSRbz==e^KR;FMNIf_iez&}7IOfAO zesm>KLM!R=OP*yOtEz&*3rs)dN@=H3F&oUX&5s9~q|K~?7Jr0hsd!sN7wlx+f6PDC zsoSYW#y{=XLkisGaWn?Pj`}Wae8~HqDa1e^@Plk+uq<~>G+;&6C!oj6EG1QrQcuMF z(%I};;v#EeUs^5+)kSi#M-W?wc-Rm|`G6+tbvG)TY&Ul!d9gz1i|A-IurkxlY;k zAi>4QVe|;rH&1*pqJT9qoDNvN!E0LQC*Bg}GImEN@Zb|OKiy@%5KZy*(3}QEf~^RB zrscy}vqyrPB9_{h1mCoIQml$fb;A)cEywD3t~T z?re!Q1S*S-#f7O+{m8FR%P#ilyWVQ-=5dohoO=$lJ3}3p&L}`ZiQYN=X*3mf7~}V9 zz6%csAo_$aw{bpSo|juQF&$)0=#%TMtTks&5a~Nhc`)r}q`uCq>z69MoPu8<*V_@& zm0S7j4gS}q6!YW{WAxUWk&+rDQ=$w#+JU{&FHS_(tfv*Oxvh+)FWtjvjQt!zd)a%> zZg)taS8>Ef$}wqkxa7n`vX7YX^l1^a<^bi7W^4kb5RQL@_zM91uOR)C34if;x#8AH z1K(_{tC^;is7iqDQ}4#woK3@!faU{2;V0kx2W5MmMK6Fa7$~yl)NEB1yrzFK0vMO1 zS++SvXDY?iFAM+Ul%IQyox4#yY{Nfech*A-6Zp2-u%Z=VJ#$s!*^lW(-DFt=IoE?6 z@#7M*g)2da8YjoEqqZ7SC(5&pzqXnfU6D{D2r<^M0;p0shB*Z%AUTnp&)d;N*t$^o~&5^nP!rC%$rb(c~WQpoRD9Yf6KyJ;yt7QT+VB{9e86 zsux9b7C;CF%uyq~oFdpHUwdVcl+QTj_}kNA*FId~K=Hs^s;@^h$)Pc>dNC`cR7N@H z)j*=Ab?o<`eR3HSEfJrk3uVh^nQ<*I@jY(hwDu7jOa{@sPQ~5k>`1e+$9A``eLG2+ z!@XW2Mp@4~U~Vo$&C5s&vG?CeFmrEI5f!w!CJe}$^+JWFb?Al=OdWh~9}&BD=5L%e z_e3=3ar8+ZrHpLM&SuR+ucH8M^*(Rrmshfnh=B7D%2pVB9G-@PSV(^s1Ky36SNwL! zpV55d{Q@Lc2`~KdXZAYC^2TTXJT*H$R(;*O2KqK$@nL$ev|cx%5%SS}2`}~h#945Z zKJY^p3PH2D@jyTDO^0 z(3*(KT;{X=^aM&C(kGUIbgSZShGQ{BKAOEU=~glBo~2=a10l&8i@h9D-N<{oEfXE= z<`rgb*I(fp(JCKqFdO*klzD5;|Kd)~=V)Zim^=*Zc%P{(dEXIjaCyhNZB0tja&4V4 zT>(M4S75(t`|++g3YScVMCFTK3xwC9_%oi+A7|j->IsEJqNE_ZA287@R=0`PpEdFs z4#ZCcixT?jG}Sk#bq>haDy-W}N6!a{TzPK2J^l>bF&3Sn0OV)F#R!m6tyTpp4{b^M z?p`Q<`Yre+9za3&3d*!2bP9e9#~Ta#hXR;6Tp$q?i0!mX_Nyf~^rSlWq+GajiNhd2 z(bq32W(EeRk-yG9US;)W_xj8OSgl*j9&o>zY`b74R87?(0nA+@;ov=(NBVhUG+rV?fsrRqxVw`=j%YH4roL5`Zs~$UE-|y0F#(pimN}E> z(B(KDniSNy{Z0N1LutwQ4Gx~$l)ng)ZrTD9=eSJ>sofA0$KWltqfHGlMT&GC2u*4O z4Odgj%yF-KwId0`KNEL*BUiBu9844+_&`e@_}z`~4fQhB#W)MLh6Uc|fdv%YRwPo4mvb{;1Svm$Vs z-Y@iB+dU%xdH29w?i-yk6Z)_xlO%iJf|bMl-5R_^szC=J;|M9AtUXnXqN3K3~;&FxU=j3u-g=>^n5;mhXA(h$`NvnGwy_cT-x?S<&)yS!b2rj6zXXj1d zaNukOyhcG$zwV!mESODZ^TcUf3-fNR*NU7_(EIcOv;Ld5JwIf7%vPqWvNC60VAt=B z)bAqMj=i@Demx7BGwN#NVJjI$X@S4W?deV=H8vZPvL@~z2Dwd=kB|0X#}nDbWItc! zUl(3?DuLo9fF^>_wEAgxxrM>ObyT@TeTf7Jg?9oL03_ugrDf`1;Rrqa?$m@|FuR$o z$^s#X>v1RA&p$qH+4s|CiG;|d*4=(B9jY`f&|caILoSGjnqTzaRYf>^k_t5Ly(P6t#03q{IJMkhEV`<_^K|c1oGFp9ZWx&Lwz5pZJ)dY|TuwbWF)YAI zmcKVW(6BlzAZh-Gt5LJRBb!;9hH@F%r?1;}6NR@#+_{h20b$Gb`rV3p9vvY-^H@j!W^PH`DnO1 z6<)Ye%absvj{zXgCU8n|W@cd^d_Z#J0!X-Ar6%rAjoN$|cJFuU%Ix=T}ziF1v98&v8{ddD{D z8o^~aU=k1csO!<~$uzy#^~p{1;Ay(Lj;mqdb2(Ef5sqaTWy^*5f=!Nh^G_`6Bi17} zaQg{{LWJipz6z}3j^LfSd`VKw^8|f(%}c#FCXMG(g2km!n}^{W{azoVHi=Rh-;K@2 zXz7vGUL^dv`ubf%d*-1!^W`@_OjO6}P@LlI?(U$8jLb&Yg_%MLO)n)TOY}B8ahk^a zU~Q~+*rWN|@Y!C3)0A%m;m5?Rs!-Nhc-n)#6pl^FAp38_vlZcOg7}sM$%%qm_PDpfDLntR3`gk9{P2cEg4k?+&+w3@_YdCuD&B;oy(0im4K$ ze~v-RJGl7tS0Y&2NU(3QbKE3jYQtU!lGoE|u!rg#wckp(=IgS(Wlef_f^)T6(RhFy zWkAH5pcRYcW2ZS>O)T%p^}6)k5`9q`EH!t7roM{r62R5J-_z~)!6E&wG;ig>j*XGA z6iOu<yT)T0-*1^3%#xUaKF)uPMCo^FT<_A9**Lu#A`3M9B=$iU=g0d9j=`8 zTf-La%)3`saK(YlKG5^qQE#~B?(!o^lM{>ZS0zvSI(ZXMm*{qyY_+bQ3?pm{?8N+* zv=1I~P9{G4HH%9$qSxJ{;k6%Y7pwD@ox-Y3(COpA3uao>>;yI6WGR)j85Ds21;pI=CxhFmoC5Rjws=TZ7#r$tL5&)x5vRN;; zboQs?q84RO*sxORom|aD?-w0w3+daKu_sJFxh@BbQ0(+rTpV6Ve=e~PVTMR?eT7El zu8;0hRedL;+`DEbWB`355e_~oTy>xTC8C{yXBi*&eu2yQ)-YU9kySRogWlz0^5hkV{8y%WJ(;X%Ds>Brd-8ern_W zL7EY%Q5N&_R_$(iu9WtYxZtVOxY=+ezl$3sbXJqamdYDCZ>4r+HdT^g_wHauI^4BJ z1f1?=m)edDhg|}|EuUf>hsIo|;05Ou%+uM4J?7E0~8B zKo+*lzY#0GyjP7wXyw)Ec?AbF>G8msnqr=^aJ5uu;t&5(L=%|nFp-}?|MG&&WKw!9W~ZM(Nu7A zD7XP7RpbkKQBh~>5WB%F-TLln)X-qhAA8pq)p{jw_9KMk2Ptuw>-Eu7nX<91B!g_s zXH`;PpvaaYye$N%fHZPwGv8B(lO(M0guWANROGhLok&olkUgldYj!Uq^oMd=hx+81zD%`vMaCr zKNj)lh7%)qHygV7s#_C#+As}#d&dmpO!wm}G=^&uo+?CDHLXntD@`n}+8#fw2oH$) zg)`%j!IjdgdNQ1;_$xgMKsTCD2)tlc@g>RF5Gcc&(U9s+bk;!3!w zq`SS?ko~-qhy`fYiA@TiO2BJ4KY&~V;PN5gp?fJfHRzoajhBvFUbk7+QHQXZj`9%Fx zR}ytNSYED^lTy%Rzstrm*IW6Z+PB|(C&2HtAtD#2T)oKd7HK+kuiOY=C!)*cAIO=m zwwPu_jcGGRgoNiDt3Bg5EnyKTK}k8a0|E@dPYCe395iq~_O9NQ+&Q9S!G$ua$RTn$ zHma^OS6fS>hEz!;Q!~}88TfwSmpBzffVT!{;p8C4Llg4XpFn*{J7*USvSjLle_#ER z`;^jj(onz%E&~CuI1SifbvnM>PWgU z>R_P*Z~DWPoAt##V;)PkD&RvsW8n)d5!aOaqS?gbfDIs2Q&Nb`v5<)AVrPxFgCPn4 z4ODI<@L(fHliB8*v6^Q1^3Hb|9Ag3(T3__)eAH3luchU8xF0qOmW6p|GdVq?ULg~~ zjJ<<9ug)17gBR`O zcAq=ZurzFBDb|g??S=%^GXD`S6xpIXEQvWgIvIcUV}^8csPw+DH!o^!c%(o@k3r$} zP|8;yijeO4_UT7FjuFaxdtmP!Em+Hb?WPC@bO6r;hy=_Tyha_QjuZK;%|bvY`!&tI zX(OLCU~TLTq0;)GuIK8-hfTg;^p;E>K!9CZfIWq5kPKK(@TrRx*?(kPS0Mm#ehE-h z0jR|{Tf$a-q$xh=rCEM*fkoC#{Mc+YAG}gK;o-X1W@c}C#FED4hUP^*I>|8k-P5Pl z0DRO@o+KsmGe`E1ggfr`&37(9Z@~JAeZuCZL6&g%9l(MXSd2`pA*u2ZFRbv+%(9VA z${sxZuqRg9{_#QB-oPyiD;}aMsXhG>>lz7zycMEzSKtlR)2Tti8Kbd# z=;~{c=G6glwfUU7>m!GH!6Q=MhWsqD`OcmM-~@RZ3({XmzbOF}sO$k&Oo;|Td#9glPHS^A|5;%Ogfm_YThL>z+z5|3_wLj0`Sm4D*ze8&7&y=u}t89 z^l_8J2n2A2v_ZmrsKW0EPC3%UiWerr@vvud)lLcBIBA@HSVwF#It%8a>!a zEcI=B92OWCI!8PcA8N76U;3lBHW+en<=KmfpF@GOq*~FwOvEa}HO)dBPscJVRouQej3@; z^h)W+I>%i1kn$$JS~WadUAa$VXkN_Y@Q23P&yPd+tBkUVw{E-TeaI2Qj70!UcD{^E zGQMRCaEQ}CBzK^m#|h-R1GGT?Ul(mNHnXy$an`mz(`@&yv}ad?L3Q4G$7g4Bk9{HT zx~16*gExQ7-3Qx12Ld2*V9c$~1Y|e+e)*IWe+Bd&LfXmzFhO*?LPEIVv6gun$wlhq zNOT=+@%nrSFQ34gfHrq{dQ7+@Hwap0J-?6xXkt-~)_N>}%Ud?YI<>>^%MKrT zKGV?NIWL)vc`}DFKEp(z8eeUrbL{8BH)}mPY<`i^Zs;e&4r}htMa`H?Qw0XkOY~!p zBKbVrzWC!xez48j54qR`r_)QzrRFWvQ=-Q-jCWeXfrqW;Cv$a-rkGt~-m!r~UH*sY zHOhnerJ}99U37^%$h6yue3=ij{eEs^cgu>JlWcQ}HDS zXLnGGQBetDN&^R+>A9zbA9jySA%vSoF%OG=*mKgArHk}w`T}+!Pm3d&bJ$Chox=nq z{j}Ww^S_nu{2PuK9`9ZGWs9w{Ol-!Xbsk*IxQy0NfJM7~LEn3~$7)-!l^nXUWSMB% zVod|I+mjW)LO{U&;N3HRF1G35$P{1jN-@cN2%lc8){NrY2h`M}VzyMJm`d+GpJppRJdF3tY)oPX*SKW*7=BNwH=4b>Q$#j+oQodWbeZ`Gbw zt?ETP{&qRPEU(Y55ftKQt=W-renvm~_3OfeFLwQXl`gH&_s&&kuhv+4PtA{~`#w%Q zAtNG~0~3~J^Io^rc{pWv9=uNGm9UckGny4ITsp*N@X2(SU;aV;%&~1BmUmYT?iC^z zvGc4#&%eQ_iPjg<8<{{?mfOO;{cK!1A>0k|spxKd-RwBEMxjMbZ_LB>3Sb@sqft4aR0pb}fmw z)7N&}lk}^M3Nvm5!NN^RnaNs>_gvG1& zyplgRH|5R?Bz(Eo*H$dH_ry*=w?w(2C<2kzGXuLjuKE54XT_t2RKUXrR3SSF@#}`` zFFz8+Xhvljuf|Wot_^j8Q2G@IiV7>sRx(~7MNN=s^;1Ym~jlv`2$G4Rv@?f+^Z#e{R?0wQQ zasYs_&dW%hU=~}hlj8ls`RNznsh;+_)I5qwE7ZgIxSu3xZzhF>m6p9=pj%kAJpERM4@ zbwjI)37e9=D*!6zs@QOIp~XGvc8U4Mnj9;LqVH#~MAmYWOn@!F3Di-u=gZt@Z*u zS(b^4 zNB8*S^uJPZcvaSGkFADBiVpP;g-qLsW7*}cM^I!t*nzOM1>3K)Rnb@K3A`d&1a20TJzKNk3^b!`Rk(27V)d`vIkEEh=yo!@^98-4lkOe#Wgx@nPu{w z@c{g1U39Z?-#eD|`nN`VE{w__MP+f<&_RpWWr~`Z#{1v>8Xl2%&!y8ay){{sGp8?% z`&MM#YU7VuTd4|I3p2POc(OS!kbtH3$m~T__c)(P9>H!a$kgUe2Pxi-kJsSN@6cR7 zQwbBeA6mxhzU2MKjv}MK(}ccGGSU5O)`<9zxsK^qUscXjx15mPAVUx&sk{Oi_fRlM znR7oz3F=qwVJ?PoDV_^5&+VRW3pT_mbegs5sw3@x>u+|+vx`(EN@3#_XNPD(m?&75vm}Q&=iA~Ub?({Yk&b-Xc zw=1Q`_W{GS5y~Uk-A)GVzy8R4EX>HgG$954A2%m%B<#Q_-Vpigy|5pZ+82S1RNHP@ z0~mHPtLC}nfz&f6L7vjNrL6m!l1G_!5!1c%9gcMYsdd;R6Dw2Uv;t^R;o*2QYnXs> z+UVMSt!y>VbwAcFIZdIxeACX~`}2>wO*RR;B1!6jHv0&3YdbmSuQ9#(Y}Pij!wp5& zn>wZ|F-Gv_&BumV8829$=>T9Y@tQ54(`$-zTJFK&eW98%=P@XpA{2a7kcsZ`S6V&V zJ!nt(*QJO?55CFN_wzXv|gpX8vvI{7%C zw0)x#zbr2Wa)~fIsx2PB2rfx5|%d?8ZCYgvFeG`1hd(j9lm4%IF5**njAaWiMdQggMB=wq)R~o z0f|uHK;q_J1P~JROrMIVI82r|77#FvLXU*)QWMF2BG;)e&-#(|(&fdfoE1 znF$5o7+ZkkVz}}*m|;UqtRJ)o!7A-=bT!W8<I;_e3m0a~0l7E|md5{TJW@9Hq-J%UfzPm~tz z+1Duz#KbCM!H(j)OD&L(=2zphDGilXR4tPIYC=m(nj^>6NOl;*It-10PTdF>dxWyQJ>fW!yqUL}hp1PF>vJ zxdsAaKyjxMfP4esN{lD=ZrsPFP{#}WO}4=CXW~!)g%nLDGB|z?2K#duSqA>nzL*Z8 z+jxgYqy&5!sj%4#02zF9i?l`(*Fc99ww~OpbqVqE|HSxBrSSTuj`0~HiswSjjX|ib z=m&98p`qund{_tJpyqaLZas&)#aUX|A)`giRovADAE`F)l&@`yY+1W-!s^8M)E9_m#T_ zklbM$t4P^$4uCRrOirM{7m!T_x^E@Z zb;)?o!c?J#q)pB=rT3x^>2}%p8&A+x=Almx=BLIArddU^@13bL!jk$gGVr zzHq#+jE=~P7dAo3`%?hu?H-_u@-Xf=b$f;K=@EK);AIr_OhrXxjT`6y@YrLHFlT{# zPft*UK*#c0kvCJa_jdb!Vy-TlVu`tDieYO`{pE72KaUkgbauICe@=wfj)Z8%K4QAB zct5Nd?Opnu)r@X<o)jiao!3 zi!t+I2iua@lHbB)NV&A1p8I+A2o=nxd)Vk$gha!&(_5`hiO)N9TPSt{x|r z&M(YNWmrL7TCOYd;39X{^UzU-xsr$L!jQ6Nsii2*gs%W4kwFINAoBtz1Vw=>BN~LY zlI?5Jy1Yy4I-Y->@M`jwMwZyS@&MtRDv2l18PF;DE5Mb2Z9i-o<#Ga=OW^YY!GoF% z5d6C)Kt2~uTmlxoyF>@SN<5l}5qBz?Ks_t?DEaDC*GDWu<&$JBNPt6##|`v3bU)Dl zG5?MM5$QE}*S$Ua4l3-9-6>$hG#5pG@ZmyZkFzE$0^jz`U=U7;=3_LN8s^O)-_ab3 zI#R~s)8wE?DBC$-k7v!pv;2s9cZ%w#(ts1!v#FY{V1HdQo%9>09|To;OceHSlihS(Pu5h!QO8#;o)fN6E~F*&IuD~Sj&9vIToT*u^Rx%x zJzG8ixIl~EXGYZkZXv@A{=OrX`35yW4W0oYrTYN?>mmPg1qMQU7W2p#s(=Q{a1F*mkR6$>>$7X`9w< z{$)g(6*&=$i3-lw}g~75#GVcBiwL!9hh$I+({vVJa`Og&p0TMu$1T2!J`ty+Z zNUS7w5;KX8L`kA1(UR!F?=)Bv6hkENv74f-YP}b6v2|+soM~UngxZ9xZM4J%5lrEF zFJHT(`p{YiU-Cd)`Ir?zaRbG`BvUH%+>5D{D}sQ)-{l05>{lO2Ep7q*xBwUdGbG0f zw(Ed@372Dc&$%#6pT<~lB1Ps9m$0wg{F25%66L)svhY(HT~GMK>~n|MLt*27`zqB$ zL3pWekCUOV94>6m`@CWt9$6WB#{7El)_Imq3eAzA>>kSc85Gy;a|~iQ(W!yMwr8IN zYq_1`AQe=ny|x{EMzWp!oHBVW5Dh)u<&HnEBK+4{ozc0J{&O432^slAgHW6B?2GQG zQ3?t?y)?5lBp{SRjt*^70XO4)3ADD|8qgN*Cks%@he90fH2$tAIari?)M;Bw zPKy)7M?9kk^4UW>7}S`5-!&h?FSEJ4nus!MpD*UFk`q#yc*^wDo`LVS28RTY22u)x zP`0(}i-a4wwgs~8CPvXl6*3X;LU$SReAS^^DShnuL!i*8Jrwm_3A{k(paa9M{=9N- z$O05A{>NDE`<8JZ^r(Qjzcf)1h8_C`o(OvuVssuIUCLiB(QpFKn%!@&26Tf>@xj8o zQrOHz&Yd~YTbGxenS&0PH)j=j2iNW^W|~j-idBwXr&4(|?X~PbgEhzYcRw--ZILz> ze9Lt{r(Mmd5gxKLettU?Zjv$|b!DR=lFteo#JdQ_!l+&cLCqjh(>aSTyNz-nqxWg) z=WN8fw~#054JqmQ^1x>F710m*y9{JcBN-@5orO}WWmc7=IBRiplPr^sNo6boa!K{h z%1V96dpZD|N(dzWC8LaMw-=)+dRjxOI2e1gO$f(%?{?!C6um*Mnw^_riF)o5i*82OoGk@2ZU8S1_f3S0g3sRa!O6Z1Y930@(`FKC z;NE?HF!s{@M=wVhmVb2fx0G?Y`|`=;9H@vschhW>4c@;ta)};k!9Zc>ZQpJl!EJ+_Z!L$?M<9E4K7 zap$%HrA-z=txFUG(81nJ-mh0qUitOg6%YaaJG7H0d{eYiXaUV5tpi7ebcg^I5P17j zqj*|TvCaH@3R*y*uQM*`T;x`(dw_a)?2lpD@9kf2SA`TU=!iS&v_={o{zS}lE^9;_ z9q-FZcmJdfr+%gt2la(a6w($wU2SkWWtx+{-a=Ji|DgzN_cagwV36%{_S>tV?g%>{ zs!361Lf)ibA0fvuhU`jgu8#H%IjBEOdqdt*anN(=ODhMW^6U*CILQGOQ;3ZfK(oC? z)P4Y@p9z`EY2TD#;Kg8j@8{-K4s5LLEXpG*xAU%)#oXrt`<+Ih%rdPjF`~$RxeS0x zstn?^+Y&?ZSPZE~2O!2xK&K(`+0m%hIEd28BxjqcXJBmB{p$P}$gzLV)Af@A>_73h z1_M1Vspv^2%h-D^$G^_~lb(VLAf2f+&LklID4Y?F9*f%4+FR`h13faCfPrte<)>$u zKfcklh~olxG6MCOrF+028E&RG1m^h||J+S#jq1EA^-ow)IMiZ6=TiUlT-DiQnQt9+ z^&aQ$^plw1XID@=Q$8CH&kvVX{@U0hp(QHXGou@g#%JHbSk0K%r9##rn~UbFjcY*I zRU`Mp0`w7dib8&Xyg$!I$Nih&OLV4Tn33#7D_^}l$O-Qsxdd^lriV9&4~1^&Mj0xx z4KKf@;7QJDZ}*?1Djb)`W(hT6@lH<&G#$N9gn3EA!nX>Q@hG0a2%;Mam|CC%e1$-4}Jz zY+_H&#l5)sB(kx;Eery$4lXl%Fc3^+y+M-v*vG1{lF99OBi7zX0(FwN_6kL5D|_cWM5dDcD@3D zTqc0g#9#-7ay{<}*|krp%pgnYpAqQbGKo0@upVgc==nM?@NhZT!X&Awu05H_$obmt z&%1fcZ#7{%!LSl}xi!+XgzA7IOm`(h~<03ONKgC~LT%M3XrxniOklM57Pwil$V9rF*u^g36mYrM4 z)3%#~r~&nUkYv%{j*bk{^A`y^wV0<2h8(|NYNfyF3>k<$^lJ=!Ko;<7X@N-eoU@>$|>w z71`{?NqiSJ=}pR#INY3W5`9EfwD&g)$vI|XFRRJDFX{F-_wzG_hBHzXZ=O8V@c~H( zGp11Z-B6H;R~;91JL&o&38v9C~iGYl$&#G z;)dTZPQP0=kFR*x{d`*rTZ*9;Ks#N6^X1-{i@CyeF!;!f;-_*m#;)0O`nw((lG4e( zh6POhoFL#j$RE`UF*a+74gTU*I`=KbjBxt;99noWx|C_?$r2~ldEG8K1OQIxlF{R{ z-nY2_JtCacE(dFE#s3X7NyKo^(|o~AS@p(+Lq`98Rb}^`lDd$vUxU!r8Ssh`z~OLN zhbR1JL@e&|8f;-!AFgJ?<6fquVT^YpD~s8po8oyYMN3v>crgWbv>0+1@spQ!($1$~ z^7P)>&UbqKnZ%E$3`F)epKzF~xsBqj4Bs&VdUxX-*Bn>&Vs1D${A9SmrR^x(-R8Fv zMav$#(%)^%AM%(tnZl{N*F_es!l0+YO)IkXunfpeBCB!I1a)BfGLzSB)4jI|hBuX| z=E7#Q8)a`Cug%}c7fxJI_v1^wlj5I`sGtUF_^IR=hR+_qg~4%(T>tulU9Ta6Jq6Dl zdwz1Ke#f(s6_#k`;Pte3-w!Wo9WKyBvk83S+Y9GOs~h|_bNJhr-J$tbCIdiW0$CU- zg%(CC9m$$AS82M8=(pD-aD0*tylehjFZQvSrCiOg5r#%N*l(@moLcn+?XKe@vB9aW z=vT)lX?py*^k9Y%Eqa!LhA2`D`;qs_AdPabD$Ke+7E{IuDJYDh3BB>wBy;6&JG^tP&NXl* z^@(67q5Fo4d49;tRQH;;2I)9<6;+T443$FCtSw>}YW3nMEEBr_#smM1&SvE&J~coC zS`u$slmU7SYVs?FS&dd63x%QSOCa}I6KBIWelO|$631>-4sMp8g-@29IEdNfO{gnO zvH-NlMyFl)Nxc4?H`YC$b>s+aJYM%u)s3vPYszO(qa@c30T7PdPL5Z++$eLQF6`PG z!!k7kh_{|2qQEaGx$+@ zmiPs_=|syB;sk;6Wy-H-xi~K3OXICHytQkSQ}D!uq&2R0zJ==<_b)Dq4T_xy>#}hU zporTHTrT%w+S}bVtw1!KbzG7S2kijxoE|5WBb(>5^mGG=;(&^ zK0|O8C&ch)$5)loF6tt8Lr$Xn8nA7Qni;V%CSa1o$V`*ttFSgpueVoL0uSdr0`9S0ebNy@ z9yv{Y{=eAhqg~W+RHrEkipmO~fe~fXAjR71b8iHDg|}}@9TqYXpA^M~mo&iAmD{v% zqx6DnB3hxxSf5!6lyUFR}u1kn=0tuFGG&-${k|^$JD<ga853mUPp9}xXeE28y=ew`T zir?Qm-dWvPUzq*+O_E+`pg0D1`A#aB^BgG-c7ed`VU&m}u&4TK9sPmv}v zDW$fm`=Bg~BV79KW^xuUjYMgRXT|?*3;-|gXeBDFwR5)$;Mi}CUiqz5M3?s^{W9(y z>?4C}7gZEXx0k2K;3XekZ~4Y$+J_^*H58}fQF5X1=VuFdbS(7VzC+Iw)w!@S<3*%vSmWnv|#Dq17n@?L4} zSKq-uMg$+<>ACP6MkWg7BT+-+_ib$}?6E+Mp3!d&Jb&v>g0YB__G%8x9$Zd|S0ZsA z3F`w=poS<|RAT-Yvq#)`-ww!nIj5%lrI(!WmK}KO_?%-3D^T|#r95OVNbWL&06|Ob za$2PLM?q&1qfmH1MA-+!9a9pDZP3*^;Q2bvY00g@aO)}Q>pXNcb57(p!8>5U&+LU|k z(gFLn*9+BY7rcepn6%-wx;`FxUSB`eD3+UjYCyGgJ=)(op#FT;{#$7we=0y*M_;?I zg>4XHJ{0NB-;+l<*W)SRj!h(e)#}h|jxGCUFdpk}M3y!!%F(C=m8PAY+8+i+G_<4P zC-xM}=dDZ-T`75#KV*h-ruvS0{I8bDu{1=!{4BS;fZ2t^IfowPP(?Es6ZTTYfkTJ{ zAL8$POEB3KlWd4iI# z|JwG~z7kB^XMS(=Jh0A(7{ON?QF97FA-S4a+lLz|2LTmzo=tUOd(ODL66`*|nV|cE z(^sE-1R=w5{2=8XQb=oA!F(?Q-3<|eXKFse`yZ+*zANvsSL+%-O9!}Da z3>nYfe`sd{C{QIkI+Zyc4ymXYhlcij2lfDjYal91NNXFXLsK5!?fcmki~!&Ip49*T zgR5}}pCtcjIr`23tl##`0;ul{%JvM|3H9XHe%=1>O@|*S{4_p_e(;S3K8<%JeXx%N ztD<{OC`$j4jF1~*!W}6q+55QEw#>Cx1B;i>?G-0iCaLr5?o!`%?2N%GZ7X`WQEE;d5S zGLEt6sfG(++L4gDdrWFmK>;_#uO(Ju>rN{|-dAjSf;P>iQQ!Ak7~glpxI zaVf(Ik@~l?xr)uJDOr(4;-7t6uhZrJ>b2?eYzZsv)RDrumP2 zvTRy|Dp#OD+NJr@kqA+uKS=7m1qx_C>hC-bTJhDhu%|$W9+TfQwK9#P>UhxN8uK~% zLGdLN>U78O#C_Cf&`HMWbBg3bmKqbSyIN8f#Em_p25n4Uec7PFS@cN#`R2o7p9(mc zdV(_m?efi>METHDDFZ+6SHhsw z#|?GQY=~~;)e+JLP^SoH^Zy$^I!DeTJr$20e<4GakQ@t(_UAwwURKjrrIuWK@l<FTcS-0+6f{`2khE3G4H3giti1S0V^uoVOX zoPVt7k#3BXAywW~)b5|J`=7-JWX44-qMH^If@**-j)qdx>oB9;pq6t){?tACvw2lO z!1w*h`-4!Tesmo=M&5!qOtj@oj*96^cd6Zo{xT?&30dnvwM)}Nv+)Bd2n(D_1ns|+ zf{uUM6obGjMubz8C2DH?8k!!-X`UGrG~L&{d!9kNGtFYy7ZnN^vJ|7Pf@vAT)q77b z-EI+2{aw9$9!eu?=gn!bEBxU`OP0j0eVBzmYwjCERZtrAA(Cb|Ov6x{El26UsI0;A zG<=<(YTc7% z_U(|XuW|h%F_Zv)@)YqQpcE3OU=irUA341JSkpYUTcW!oO?QZ$g{Soq^hCRzP6$8& zx7ENZn5#Ef-p*fKJFmQkE$E>9p85H^xzVHNMe)8TtWoz&w0YuVL2{2Z)C{iY_IRL$ z7R2`dH?m=GPW3$;9AAh4+0h$TZ5y9KkwO7&8L_)+mumu=%~Q_a_I&&PCsHbcBsD*N z^J4MM7_`=^0?O`?kBf`;bi~Di@Urj~!#6%uP}-$Xk6Z?U-+0^3nX`=@e(CiC_(r_v zeTEuS-S32aAF`miQfs6M8N8&JyLQ*Jdu_rcv?K=ZEUh79rB@KLYWLy(0l<6>HbkCa ze8DOX6n^EP3k7TM;N-A+7n`vWLViVWCPe$;-kfUtnWMUA5^w8@LbbQRnCW6-8K~Y; zt`$j*^p^j>nE}8oHMd6f7WAVUpq~8Byx`~VimRM2yLxh6xDVU7>K%`WV`|}FxkT|q zN+1_5;5dl#;dSso|Ex$uqVu{j|HLbEP|1^gZ(XjkEpxUm>&jeN&jhqpC*+Nx{JFWy zyQGIdzO-MKN3K41=KG|^K7j*cL3s-srI~|BKy{AA>2r4&w^OZv(JG`$-1!Q#UOV&_ z)DGO+@Xz3kDz~jlLp$--uY%1S`G0_?#x_dwgXzA{^WHggl>}24334E<2r^+e<3OhU zK=HpL63H=-JAWu2C3T}+FFbdx{`KHKwF>+M1L0(N(Wm_q zZ~?%ms*h9{J?BUw2Jo)Y{iJrfC(rrujaP~(tKaVOC=PjO0%aS>={c0OV%HX?5-Ti` zEmpPeOH+E^5l)Z3v`7{4M>0&=&fhW;B<)R-1m|*}O&%i6l zlRKDdIQ}+h|1*%-X{kZ&Po!@E2b0$6sh=2B8zPJH%%Z!O7eaG zzGB_#+D`$G`<{`Q&{4gqM^Dx7l}JeJg)Ui3&m9ai=6o2}=rAxCqEE9F?e{DmgY?=m z>gVgXCdgf9LS`xHW;pU$x0Y78(>BB&wg*}sGXJcnq=rA=SS|o-`dqFW27qswjIM{!o*v(|dv$51@rm3~R0IOjie0Fr)*};-sFEGKeC) zJ8TtO(N#N6*3{kW+A5`NZ!SA$Z(^n0fh>HyE>@2Jbh_bO#vzi!!Zd<(i7grIrKhoA z2TYW5XpV#baz4N*BV2i=tV$=l=IJm~V;pIcOV1qA!&ymL#rcF+h~<|lZ;+Yb1p%o5 zT&|cC1guOFX#Sg+cF3q*WYkh01#m!IL1XkG+LkC9(Ra7*UeDQ%AdcXwZ+1jX?W(IJ z$0Y=XZ2?Kuc#XR3%d{;Fv7+-Dx2B(FRpT=_0r=#b-RcPq^vjgD^Dz~v2{BZqLR_Nx zT}yj^IH+bUwbQjajWFZV=s$6Fz)+2AHcmMoxX7~J;>N)Nf5KG7gCDlZurOx==gn_+j!E++8(Az`SdM5-@W6-{TCx zENzq*MU=4JyH1Py;;H7*@v{OW`i|V6V+87SM}1}|rCcK`FV%8Nl?wUc*6ZVe;SE9? zC{r@LK%Q*Av!8O!yF>g?5BU7J6y`nyNtSFV3^Pt}8ldZodY;n-WkXPZZh8SI9&*e%s>TU<*JXlsF?VQy3!JQJ9f!bS&mlJ4>mnd~M!988`?sk?x$wRO#Ozre50$n*LCG<+Fx*H3Dr2wx z3uvZ7Wz0sk15I?7O! z!eFLfg3|L(o%5HBhnCE*h{zknY%YLEgT;OHLN(yb`)@4`tR+hy840KyM=${Mbuhfm z_k`eRn&>-dBeh}oS&?WZvSRKC_qu?Z3(tg;-8LFZUd;~!;8jsxjHc4?Pdw3!T}t+H zmMFk3m|4T}PCt=(7<&AC{Rv-LE)DYQs-Eu!C>;QK_1F=5^d;ovbCxeK8SeXYnpuF6 zCT;!+xXOb~g+L!5#fSX6WAbO0eE9ayUO(~Ee8bcqsAT)2U`}Y94Q9+X6n3LXomC}; ztP8x&ssiGU96QQ{fBpZHSY9EKeYe=w1Y{!d$K|S-WB>)ZSb0wVNp4z)tlHWP>7!R` z)^FXXe$RSq7%$+~*PU6p&>UWGA{=6g&-FBi%`PHio(U`CqW)+58`hW?O zJRZ5M*m96kqwWhB?z#>PU0L?Tj}mU zM}MSVioEXlfYPO}p)T*qrzDt{Xu;vAW|Rnz8Q8r35UCjKW%{2@`f6#B7Qm`k_c8#1 zM_xgT+7g~6#C~P8SpU{!FR}c-Z!%} zm6D?B**>gYWoVm~ z%@cGJe_6UUjBBa4;qOag!RPpAz;O%52BK0CV49}+%0$9Y>?Ov8<&RguywYNn7+m@i zFzh);+fv|JUfSE3A4h?Bc@J#*+4%ikVb%ZM&)G!+I`=Z1+^M;xd24=Ki9o3Yt;wOI zq=d)ZC~e;SYWo;2DkAtJiqdVGZ%R!^?noF;D^Yoc{%q> z^PiEDPw7Jt^bAx0L&Qv0efBDvuOH}2Xv}jf_5^Ge{WiBpq1t4l1awQl>d_f7VlV;v zbE(x<>ChOkl2L372lo7uDWE+6gyeSp_OSRx{7bR5?JX-8%_a7C@E z<+jA$&*BWBa1!%TbcM>{2p|V?f`Bxo;TbRxX<3E%HmG*Q#w>w%o`R-xY_Ch`!dTwI zA05-&bmB#@i4@5ey@~()1w*-Q>`f&QXv!gE4>inBb00Pr-y(2+Oo)pN? zFEA2MMhtyCS&S>kTJZE!ZJqB26giAYs!Y>)#=GtiZ%jSSp*H{?087JkpHaPV(eciA};CFk9zz8r3qkVRaPrUm@S()mT z_*HNwS~}7d3JSEchROaq8=j`Cnmc2Sg;P4oUaF6NAHW$Jv&-4Q`gFU@vyAfDJ*+?O zVBENb|>U|IWJ4p3LM|FC)8v&~3!4Efhg=q2d(0C++i=tRL)o;{Z4+m9CdP%u)> z)bCs4I+K|6g!sHjoOU5HGhtnhz8qANjAz*b*9RVd<-aG!tnog`O5t^J{8C;L7k7#Y zi8P=_8E=64$}>6+qt!liYfcNr&vR!(smr&6JK~^r72h(J^QstAVU2~CDS=|8xw=T@ zo-Z#=Rpj-+4tp6>kMr8nhM9irk0@n|i@Vj5H~T_QTne@RTBGkz=%yqRyuW7zWd0yr zTXJ_C&lU;HxA3-M@E`O~B$sYG2qj-a7!Uu!2}Q-_)%*>as;3s1kh(Pg1x(op{7TRW zX+~jKlFxq-0J|4j9Oeq{kAJ_n#gobVd31R{k@OUlxTBP>O41I)@Sc^W^(c9Zuov%d z+03T_Z1fqtj)V_qvk-F}M}%IQdAbIPSC z*J_TjDTTv_vd*( zulMu3pXYh)QXLoy&#qEIyH(wE-{Ajj=AWDI>h0fcvMO{{lp${oaefu$-nZqYBu;a0 zyh4D@r0i&=7#HNu-3-E8EWmewa`vabMln( zUOx<3S)!(9eLN{Gf9}bz52<JgPIvH|Dzfg~LQV4N2Ha_HTwxnxtBTb<8+bx9sB zEtE5LSPb@z%P04i$my~{+LdmO2G zZNPr{P{4+?zXBV)IQj7pO5<7D2^Xy2guRchIt^K}m-E_E++b$zzk?ApJ^RPai&v~Z z{(>73|o{+#frJ{sT2F=G%=M>z&9Dcb*!R%^OB*xViRN3mmv{|&^`p?tfod? zz*c`XK>FKudALQ|BRy&-Inb}Uvel%k z+aRdChkavM_ydcn8>x^;G0{Fs0G$;qtD3A_0w-;1kM!IS%WjlxvIUVJ`=5uPzLboy;3 za%>708E>hj5_fI>7yFAh0wnR;RM-U#igs(lhaSYeF+_W;zTZFAsQ2z&%_;l&Nju4- z_J_an4Pt(^`Um{JSII$7qfTeHDd6r{B(i!Jr$<=03PavAIcI>- zU%5x*^e)+SHNpyJrNUHXq-^ohdVR1#+>GS<7AklRZ^NjoA4V_07UvYYVZ?RA?v;S? z2*CsgFA#rXD1B2v5UL)zLJj89p%8D)2M%vOLgLp+2c@58ym9%H8h@?>qKAkQ1>`_* zApW6Rgr8$bu1R<8E#ACsdHSZ|63pg7Ip2d9A{W$3(UH5!M|4z3G<$@o;`Bd3TFZDq z{)Eks$P%o&OuE?#zHwHPE|GiyZ+02(-tn1dZnU(71x$qMKS3~{R@^*mgjn(Q5)+nB zl+)T8OPb}X5xzxeM!S-oC!|dv;$Z!7!P&P>iyct$8Vr_K&WnTl6gC>qT|y1d3r-qC zHBwQWgLV% zoUEB?kZ`TVBk_Z@D%4YF*U~29oHwJ_kHq-t z7_m~?-Wb}4vzdi;zCb@wcXqK&QN6^(H{tMdx?9uF_1aM&_(7!6=tS zQM7UCE`92dU--wB+~9L%Tlk$24HUjWG_7iZZ#a^qPbAk|R%s~Il*5}Hxr;&tx<~7eRNA8k5bO~-fEzw-rx`FX%RNVTRY)9kq3 zbDxXY>4YTc zo8?TtU|G*ynty;6WSyK21PrFr-w{Rf6vXC{EXBdjT{4MiQwt|Of+E*mo4}|O(yMNZ zztpi>x+Z72;L4!DB1e#w~l+JWd4^eA&dn&IO zTO7k*8qhQ5`)NudX-MC{EDvO__P$L(chLD2U{w$l1a6CN*2# zbHTT42FN2>R^uw1uk}(qXr*x+K^VJ>5JCEhh1vdtkJw>Q*GLr=Rb%y9AyIeL|K7Wt z*QZXV>*u%LUNc3fn^`pS2T$g7iHO?1fcoKg6EBD|nesV1u`+3z7YsduY%=<3jVI13 z{9_VXxTgY|OT37t6VYqNgsElcKurq7_pjsqC_5PXF|s2nq+WuDlViQ{A!_A~kG2)) z49Xrl?W0~07x8AdV0{y=I>T&7Rf@_0S8fUSz^nOv zu&h^u$Ii{O6Y;UxsYr;RIzW^gl3#p&{_I2YqIavUVwY0%^{I<6lUKVc?2x*R5-Ei= z`p#7F(4%@@k*Ymzj=Z1_%=-Fm-5+59I6*n~CI3P$Y19AEK^DGHhSOcHQC6yXH75K@ z)TOIY;nV=XlWxv-gbiI@^JgZK+?Xy$dS>5YQ){7e8Jq2+T@bg}Gp)JhheI{i1BxJH zh31k?CkQ%}kG0A%Am;y4mbY&DrGTRXe_)kaSM|+8%7O5$4x{IMZxem-XGBKiO*UbX z5kK5q!3(t=dG55^=~X@gL`0JT*E~HM>&bK@DWS zi}P7M>QXsdK53z~(KZwSn?k#9VOB^aCNu$PpPwMEZ_QvW{`~3AVjjc|XR|&}ZO2ip zPxN)V?Pwd~#p}}Y_Co;JXl5?h%A03 zdaP!*1Kx#)!xflk4m{(0h_em0ekWaa`GG%%`{r;Dz0$@tDAEm^Y_jS;3e;|UN0*1N z@O2Q`lePB|!AcsN*Ta-G5U8bAfKsz*vDSi&+5{3H2B%9+$C1@u-i4|q2|X{?z~14+ zl#7$>Hi^jsQj84sq%=Vmo*{PSTIiH4Ak?4`=XzuG>g}DG#?-+pW@QOB)YQp!;*dtB zb-DB>PXoBKTW`Zun{Oi-RvwSQUBr0I?Cwy2o&r36gX%l(!)+{~WpjyXFy+%>jp2V< z6oA%;jkzyv*BQSY!LVWuWLq$zsUODpb!@r>#WYe&m4mBr836_O*c9X5MR-EB-nZyz zukBVPw7WUuD0ca^XHvZL&{~7t&<%RqxHy8Td7=ql>%Rksx@DL+_xiV>DO4~XL955+ z9}18{{a4c08Jgs9*3w>;(=+bWMRk3aTx6g`N$D@RSp&N}7-jb#_cozaG#b&wkFHRq zzNkP`dy>IafOAlJHvNc03clCa9A1l3%lC>W#h=Ogdy()(#Af^^R9^adFqmbz&E9(E z2q&hY8v)O8uo)4j+f70nfDJ_(oK02;=md*X{iZMc*HcEwpH!6yN)6%TU3fPBSv+n3 z4|Pl5qiHG*5`IMKW!`@YN4=m8=>VoMXpT`eW$#@ZA=#$<>!8c06ETTM1>* zuNk@Yb^efQ40b441ARe?yVubIpLd)E1W?GP-1qx=J5U^asRfPGfydBWoLjg|r^3#Z{eZl2V{B+{lOr%u@ zD}1g6Tt8wpK-MXdvjdE@yan=z`&~K%w1_S%mC~?FdPz!%pgKSc`owS%S#=0`2z(XDn*fseEWR?L&0AYllHbIWOa0o|~0 zLTN#tl#cJ^X2&Yto~hC&MjZZGf?5uE6E>Yjhi`{1%@iEcz3!-qV(1ONGArdOH0?c+ zW5HB)$W{9pjA3-fMq5L=L!7G6F`ZCI%^N-5*M+!!V6SXuslqKmk@Ag}VPf|vd@ntB z@BDs_1o!>GMC%+w5fF~ssjVV79EPpk2?4CvFFzZ z%l_Ip-M_pO4S2r;d?A7rg+tn@bMw~jLI8&f!ux~HUn+@r%&7ux#yQ!e1B_UTrAmoo z_iASB&6ZafblvIxOI;@xlI+Zi_1yl12={GhT>TWB1LvVEa)dXRiobge22e%+s{Qvv> U#Z==B43x%yFckpvI4c1D57L`^jsO4v diff --git a/src/main/resources/assets/playerex/sounds/sp_spend.ogg b/src/main/resources/assets/playerex/sounds/sp_spend.ogg deleted file mode 100644 index d7102bf204f33cfb9fd0adf01337280ef9bfc778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13251 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 diff --git a/src/main/resources/assets/playerex/textures/gui/attributes.png b/src/main/resources/assets/playerex/textures/gui/attributes.png deleted file mode 100644 index 68abee6602ed2261459c45d15d1986dda6f6648e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo7}wCoC{E2ubf$R z=aTS``LA^U*&p$nVc~qibW!r0wg;D9EIQSCUm&GdAw6lc=v@Jk_X(GK&W4p33drYh zX!^BxHW!qXe5n`F&$+)(HvNEN_8iM%wFun~HfaU516QO5CoXyLF)%ci@>iV+_|pb-CWEJ| KpUXO@geCwn#7?vT diff --git a/src/main/resources/assets/playerex/textures/gui/blank.png b/src/main/resources/assets/playerex/textures/gui/blank.png deleted file mode 100644 index a8007019883502ed5995f6156d07171a32d517c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~g2J9Ijv*HQ$r7xK6GVEL3=$H68U+{_m%G#? Q1Em=}UHx3vIVCg!0EcxPqyPW_ diff --git a/src/main/resources/assets/playerex/textures/gui/combat.png b/src/main/resources/assets/playerex/textures/gui/combat.png deleted file mode 100644 index eec41ee90c47e00d6c5dd9038868bf94a82df2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr_~T6BL+t?AYId6nPdciD<~85ry)@0?eyZ1Mx>ECx?kKbLh*2~7a?%1Uwo diff --git a/src/main/resources/assets/playerex/textures/gui/default.png b/src/main/resources/assets/playerex/textures/gui/default.png deleted file mode 100644 index 79ec29fc224cafe580f608cbf6e56fcdb138e547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8993 zcmd^l^;6W}7x#N%fu)g`Iu?)=K6FbhB_*8#%Mwx&OQUp2x43i(xRit--JQ~1 zkKdVRo`2%`;ofszGxy9nGiT1+*FEP(X{sv`;?dv%06_RgSza3eK>t(_0KxtzOx#P} z{SSF)E4>D)hUs?x0kEyCnk)d+BJuAmu>N6OS7jp)03ho4-vWtZ>97F+3+j!$tgf%w zLDpQ{zOsJ!cvbh}!nnhz-Nzmier4q&Y!ha;L9(Mvhj((G4}(S#><$ z>g#&U)uOra#newIdyP&dB_%&ftsBa?d@$_xW1ba+SF2rIRZgod)_jShx6#mhn<|}k z5<%RYjkwYq@9ZnG-WX(55kIulWS#0)`88QT zgU0pgrG*v4#)lip>opPgxLbV1jXB$~F0uDm@{E7y<<>{3Pp~dSSTC>u@Y%_Ean1Lb z{bNe)5e*v1`|H@OIq!kyZ3R?iLGUjlK(oc~fgQ6m&JGBY%`%scetgiPQ_A;wp!3GW z1?#b)F{JK|lCh+k#-aqea`|Z>c=U3FGQ(Qbz5i7}K|=W)Gu=u;^>khYZ9{FYfwv)c zF+!?AL?rd0wgpZZ2fI!i2g`FsXyIAZhVkeIWc1Q#mlUKl#hz(=G3CAPCD+!<5H>xJ zOx)_;S=pgXrxfl5YWQZZPai*3!3ciSUX3ymeRA@7cksr7ikYfpMMmDBPD2SpSw}9p z@J(@&GGll^TD%B`-hZOfe&nW$NHvRkeH5@P882fF)Icb%=7CfL;Lk$Jw8);eA~mB z`PYTZ=pTAd;C;#fLNC}kppJtTTZmlCBsJ=E>tJPzq>qmkhu1|C(xaZEFANb*-X>`H zhy^fBh3`3vQT)~kkr4rMCFgUxjRbB&V=(Wpw?{%{h_=wYpJ#Ewak1Zn#aB!m@GUX5 z7sq`%zEnvX#qOVPEv3w^b~R1-^5c!({->48r4-AuNHjoxK4@+h!dtsqc29OHCA}2J*GCah^;MU4Khv zzU8l=l;9d9sknI$@l&8tf03^j&vbOQV7^qmO7tlP2z>_Qga? zc{~6EWg)Pen~;=F5q8%-5$AMGpVe4S#aF;MQEIf=rb*5!``zJi0$@^ZFUo$ukQk0B zqZjB|QN>IJQ)fcQw5Ki9F-z%#Pt|JJYo!`HaB#4L;QhyqLz%;wjL6&fh7o8uKZj@; zPo5wbl`JUV!QB+A*Fh|tUV_K_eby59GggpWyR#Xo)^{Ts*I&-@C~rkAxVT4Yryq$F z=_$_3J0+$3D;?&Bym*Zz+Tg5f-oo{MMrr*+jQD$!r3TyE6D7~&XcjiVh?xL29a=X9 zRq^B~i|pu9Pf(X~cw~%fFDWbYTy9>M{uaqup{xuisSRz?55E=?&!P)9?HTF|+~3EB zc9DvS)|4l&%y_!eu|e`yB^U#ENbKji^Za)P5%Nr(zin{IWSKaq4B4YcK4eTEAsnBI zBVu-O;+&)qRy|DHgVLm6ekB-4_PzQ^*2bj8b}icsQEMDKzCj|7>Emp7L;`T66@tMY zVf8G+WZ-r8q(^i7pi$R#)-=QNa>_#F_+EkK662Qf@f{nr=h_J|q08|46WS-UzgKeW zqCP!WKhr;at5Gp;1sZv~V()J)un%Xo3MhNb9r35Vow0f{5S_ z^hlW6k<#Qa(J^lD?B(QpiR6u}a30r3uj`R2k{P}PcNj=Q?UU>i|-s5e+*B9uC9$ej5 zv%&qN%v95N+=Zto6gB0K^lxpPL)?tgWPE;a*DY{iu>>xT8bcM!)3RnH{dJ0*rQ~*+oxaJY9Vv!OqFfXl zHYG2s(<_WV!Zs$I-r9~zy^)1EJc>?^Cl#=OU_X2CoiP<{^MYyhjDODjympCge6a6A zd9N}}6NSLNGQ9m4{5rO%f1IB6LyqU4h_S6GEKnI;m@7+G-%q6$NW>B zDV>IL33s`7-_g2rw@tGctLHK{Iv$=5Ia18GEUZ9l>X%3^RG=lvnj*ixc4jf3%ZIML zs)IV`jQSbG_48=iVtclRbDKFx^MaC#XbrDi&uz=~K3Sms_86rPhV_eAw)66`?iy2q z>C=$SRrJkq8W{B3LY{Z??yswp)X-P|OnBbDiRnvVKNbu$;X`OY1!4n-j>Ndo1FWz? zt@7P+;m!}Tu+p(b;exhDp2_#pe5wSP8XkTJoQd1>R1v@LFL7SESm;3*fgfl=B?XGD z-M8aGo9@3nT;yDi90|v#JRXGXCvnWr#vCOQrqlXv+zc5G(*Ne%JnhVq?yrfr-CXG2 zZRNCzy7}1@hum+$i58rzsV0sN1!idfBqO5a+^bg=zqeR`q?#%hh3+ve9WSt^mPFsJ zU1Vr=JcF3@rb3)2);kFLH@Sc$rK}k%cW&_`2%+xx_S zH%iON3GpiI83_5rAd(Yf_oZ1*a&x+X@RDx}Mg9#cy!SJg@fz!R`FH$*QE{`U0A8!b zvy;2~C0D8%);-_-umR*3@4)!LsyUB`$c!)K#;T7Z73H*F@c?+oqIfh#c#!=t;;_f5 zF-xvue6l2G@a0hxX@dk5dp<`J(OG?XQ~X1l0(Y&e1@q!=GTw?0f^kadzAuS7Eb@P( zZ{&f_SUX6 zW5nY)kK^rVRp94g<}bV@QbR?_YuSYa*gwX*nDz4hr8_wLQ&iFf4g+@AdJafb}X(#o%8v%~tACz6N$0RJr?rKg|omExqi z26E})#*orytE8cYteEwKoQ6xBx1?>$&I*DLeTMH7*nsJY=Yf;zfFK3OJ)K^}Y=S$D z)7jz}CT={2vZQ|v{Z$U-$1dR+$sHmnW_{+nqP>80Uj>iS@uz)TWQO$$yRmc}e? zAUdQ~XWW0TI0#kD_1BoDlaYXkR>GJN>(b#4@#J!%DkO~p;b(5_?<5d5tc^rs*h?hy zTW4{pNcBy_se6X_V`^tmzJIOOJS3#&le6fD);LoFj8iIy@_YZjzy*c5>8TpbCk@E1 zJ-hsF#FGp%CjZ2SrOvvUY4YA)mGDN;Rc*T<71$Z6wWZ{To-r-5pZhYy>;k&r@L@M3 zpQN}OtG`}u6om-RJO}o@vVBx-SYMplPcK;dv!=0_cF2DqX#2s}RB`&@lmuM09!UVu z2ETI>eRMy^wdzrwXhT1It<4dUi0*?-)#SXPSiqW(u~z zbVjQvB4PWvN=hUT4Wz%+ca$p0(Y5k)@zr8ct#bq${kfbdn*vpcSR;z;@Y5fc|k_JOG)DV-gn;k2I5NU@LRH8G?GEff|u3 zU!z7!GKJD4Vo9vdS0)_>I$Ij_Rm=$9zlCxydvzZkUd~4%UpQ(tT-KbCH8{HH6p@4k z{o-A@sKd`(c>fCn9RAp@ej(Q?%4L#_6_#?dCy1GDfMu~nXLYbC#M=FmP5w-*hSsK) zPd)nUJA8CA=uG&&o%`+k6m+XG);u<^yOUHN ztz)>zUo{viFxkEB1FXXB&@HvSq~o3rbI!#JBEQ4+Ud4U4m3Jp8aoaj1<>W}k%}9J= zl`1{Re9x+I&yoOhd29Z?`?7G#Dqb{>5^Kkbmf!#&m!tr1Qo}N)$KVSMbA@d(?ndwn zo3Q3#2*xDJ!YVQ0rIxa5pe+w1eveG>RUZ6)1LpHTSV-gg_+c)tgPfSa(DDyzyeF>o zYlf|(z9@3iKhtfCaaKUvdHpU9J6Ov#d&7@oa13DLsG{xUu+>fp4uF6ixkm`{rjBb5 z?2nuIb?5^YV1pXpl*Ob%NVbT@A~jMsltosBUGi3LKG zN@QW$97flP8cLv24-9xN0pOgKXF}X`x~-9 z7##MVc07tgE=0L% zCH(?MSUZ{b_6g5KPNOm|7EUW z2cy&-wgdwFpWhSIOk88#lWHQ!OXeh|vbZkDWn%F^LGbiI31jRy!Km6IevwDNo+*!8 z;b~{|vA36+8VX8N#M&(PfRvD)Z5VlXmQg%iTpIov^x*Vb$YoHodYvd{b=S&7jO&wgy|u5Q6zLwp1B z$}!#~D8qjnf3!7%s$P`(3sIFWof1>?bj~o{;^2K>NTs9I<*%}S)roSkp>tW`cD>*I zShwgO^EXC*{0IjXoY(4z5%zD4X;WS$iQ>s9mztj4WT_atI)E9k>=NeQhj@sVob0T!3fxq~=o- z=W3wJ;i(En(3S=6})!gia)k1_qZ3}?H*{>(|Tt)*j$Tax&x+r`C& zKW3%0#`q~xQ+EVHv#lEfEekh)#JB1fBm==*U<5PVBOVkD$XT}q!*u&!_o%;ay-sCP zdrR-Er$9#oGrz098VI6!HS2eu8BF{#D_ni78k3%}UUH8DS>vWyT3KrpUSCb z#Z;o*qGTDetn_OaewGyC@9q;JCT{p-6|MVO73!XTSYjj9HsJwagu{#>oowH06WQzM zs(vd*tosJ|!VCxie=<08A6Sn`8Fc-6@pdP_D&~9Xi0S8#Qf}$&>@WE)g{QsP=a`LB z{J_hD3^drniPhL2@&gDkC|8~A2d{4$L2o(aE-YFEC<#u@Vv^z|Y;H4NU}GeLp@dZW z{m!nFVRRUtPxd)4B0xcOnCF3tL2VZQS|$<02q7w`HDSKr;%KWG`v_`qb%u)!fMBUcn}3Y^)AP`nQTCLl(@ zj$jDz`4@}ZavH{8B20k!km~>XU*}&Z96QEn{Dsv$cUw+0Zgry?Rau(&Dj&b?93n@05o&p8{f>ah4d_ibRg`_Xs$&|P;` zTzGFLZJ3EfC)4}~%}jI#6{yp^naGQ_N1btM3FY*L;DNvI!P+G!(EJDF30yU{Gwh%* zdq^|_TI@7QD@-Tg@awso4a!34dd=$lE%9&xBX#fJCL2biulsmp1Dt+pX4tm0+w)&r zQ$zR1&wal2$E+uh zVMUKa(~O$De3&@50=lF9Ly}U=PB(j!Ig))_x_D2r0Vl*z=R}zy1lE?qM<-3-e%4Ro zG57mqZYj^bwn2%cbE8>hI&JpzAKo;k<*wj;)wQRv#RkmtjZh4HogqLoDY@p)ce;I}<$s;XsPxjQ(RWPz`bBT`_*?yjKU0ev#wK6L zw^cZoVUAVC_B+r|iDA5=Gd|$k{=Bbh*4oy8|7c+3RO0fPtvA0yOcqx0-wfsOPFruQ zS-0Bh(?T`#*{1~GZB6*xdOym|Itzg2#!sjjP^pY3{xfOZVmP}V(d67l1f1@<;} zcm_qZ@KA2%C~`w^2rv*z!0j`nY;C@N7N{}bQ+a5{R@6p64s}*3+IBR!6G9tsDy3JR zy)1fD{Ey(W^t2xxNOOryXAR>P>LyjFJRDthy|Y*`?2U$yvl2yrc{@{OJsOM-Qgoy1 z!3>VNOQ=un-)7TNWkX6J$mnud8X&Vad(DGl;$7r(Zs~uz-jY6k{K;H-ms%^=9Vf58 zdsidi@gRwqKw@km??jIlt@)%MssaLT^uu8}J&%YW)DMP?u&Tae!_gc($V|bNZM_u! z(7SHeboJPi-_oSBR`x!bQ{N`s8gzv`uCcY9+uOm*z;o}kNMQYbV@;Z8Hp z;A%8Gw#v@A)&2)*Jnr6@b_ppcf{!)SK%l93yc^vCVNaCma}33>^G_H(6%P8%Z?vXu z`7y{i3?$39q-s)yB>M0D1ZYi}dBV%13AFl|`J zx8EihwTDs9;T96IDCEQ@EF_FgC5b+#drKfgkyJu{S0S2Q-rdANO@Pf`?;tb7ECuXi z&0768S=3>Q%5U#LE0VMcUazTF2|tmaeDx-D+>vV(UiTE^qu2$xC^kMm#tnHVlCvdI zS~8FTX<^wN`Z6RDJK;{;jf{~p^j@kfm-Ou7^L5I3*Vqr5+(2U$M)>v5o~Wq?4)KPn zcXbd8vDvS~&u+`U;yth;T(2betF1Fp1>Hnv7f2Ayr|fA2>1tIc!?oZ}Q5WgYkf6{2 zW-9rRgovyu%&tUOkO!mMX5CriV9CTLw0!Oa?E}-2-)kobmI(z?6N^w|Rygn^v|IYD zj0Qs;aZ@{Ht~voa`ul#*WN;^JTnO1T!UJv!?FSQ> zc3AnApjqlSESmfAW4tn6k2ns!B4E4Bx&&c(nz0rQmw25ySC>3%r=kQ+- zcC69Mf^ RvvhY8WxQ0)5N7qI1c6SU7?wvIHdalV|avU!e%PF`^S5h&sR#FqwpId zv;lQf)M>{(*GAC{QjtiC!H~YMeSNot(8~SmMQ}iNgD^G>&!?AYZNNq4Hq#A$6S=p7 zUW^c==QJsP(W9gH!;97YlU)<$w5YT-?(>z#XJQke!+^5xJsl7(MIBMvFaCNy8_46u z>5k`9To0mmlrNkt(IWM0qgMUd|C@ddG^8Go4SV}I>)9+5Gn@besbyPA%6!d;4Ki4yoqfx}U(WnPyb* zAjW8D8_Y>@Ne`z>mG#iAKYW~1CQZ<*THs!`~f4jvzP+E+;H}C`Bcq zqj^h~q2L1w$$?8;Bb<8F;D5{eUqowp2It>h<9pqe@DM^0i-ujc9JA z@>~)X58a2xYNv-nr*i_Ilgwn%X#h--KWK>Gj!6`WNgiNgvli*TDPwls_7U?44UXAf zo@O!PF5pw+K3_DuH}wlF%y`wkR)L@|m)n%BWGe zR){G4_(I9;=HELq$2w=dhKre{0Vs1c`XjdsbGGTM@*9Qwb?)5Vym2B~qL8^@=NrjU z=<>zwmL`U&?4U1PsKJ|XI??Y8hxDQjWR7BQ(1`uG3^IH1UwqBsI=k!H`>FTd5-?T; zkAUgWzfZNZI&N5_zh%oEXi6~Gai;v#9ZTV;rE@>4h07_MWl>T|DEcu{6Kx`w!Vd&0 zhz`>RtLdHhhml?jMBBodS`s*-9S47ogN5&nJj1?n;Me8hbOk@zPnbL$dM6T?`;i1r zktO%&s1@CL%b&0OS0?@ObU9BFOnimSvlp#R-^;jc z@VMBB?{+Ku%i~u2?96A#d#ULr-w9Ozx5>vT7I(HtzS&Xv1_}j>zc0>)_FRPmbUYaC%kFNTfV|zRf zK>$tbgKg6Q1g|sDhGC;RlE?SBO!hHv-;H^2+p(q5^y`5FV;FSlk~oZ+ewa`7U_nSb zQbwaL-1^q4bf=cFl2fBN@AH>?yrc!s`t-Xa&rEjg?St^v%T+-(s ze6yt8$q3>a!Kj75(vSjQerwWo^owcZn?AeeuN(Ip_6ejjIC={6IazJ3ANxge6B0y? zLEvaYzN2!KGOBQFlzO%3J0F26+?saVncOKF+cUaMpIGVHiEhv+UOkUUf<{Lyo|$hS zf8{-&SDsR6o1mynigMn)smo^cyFJ-K*C<@D+^$?cnn4j)ihe5zEue8{Y4PX@8k`@l zPpMxA4lp1r%C!p-C0zGwUD(hx*m*N%{lQ8ks_Ci1asDv!HUR&#Y+1k5sIy$5fBJUO zH~-gLtl}Tw*M5H2HydYz9XAmYTJuiv_eV>Q`cU{)$>s7djYowN%LT5B*UrQY9XhOo zb(go%0vBp(wDoYRi@E0H>TmbPEc8P`@Rg_^dwWykQ`I>d9XG$E|4luVFA$H{)#4bw zsZ20r*pY9E5{>~bhV^sZq=N+d2?q8*8K@%tF%;o*WrGO1fWGUME76nljp(z7953+E zUdL^5-s?VW-L(gis7_7r-`)x(yQt@1=CQpBKVG&G6&1tc@xbPLH@#UzSLmvx=kxq4dGcJ#7=GNe#MQI5ssny#%9u7(9YI&Qx zp1ah}E9771@4+y8zNDBW=^=kf2#Xu6_G%g1zuWI%Tuk{PGw4{*q95MZ>XjX2D6TMA7-O5(ZLy0sYk%WJe`2E4s qTb`M8i90oVC+;b7I%WqyN6O0B;o3<*Q!9LjDiziweB} diff --git a/src/main/resources/assets/playerex/textures/gui/gui.png b/src/main/resources/assets/playerex/textures/gui/gui.png deleted file mode 100644 index 6aca06c26b8c2ecdc67ad05e6c9be3f523ded547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4228 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 S`{(BXu)cc30&&Ij(Z2yi1JmFD diff --git a/src/main/resources/assets/playerex/textures/gui/gui_dark.png b/src/main/resources/assets/playerex/textures/gui/gui_dark.png deleted file mode 100644 index 639b14424037b867e413294acc992a3adb95eccb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBzEFTqh$~2Kc6M-Zu(7eRnwlDrYxw7%J&!TjB&|Fz4j)%pXNI(xQzW-0Gu z{yB z)B|!J2%IP_fiN8UHbNK-3_JVyAj}hnVo))lPLSV$!15Rqgu(E{$_m0#I358NYKU=X zhcKT=a6`o=ynX>;HOM4G&0r{!m4%2+NY;TWb6B?+6s$l%p5r#~Klrzopr06YJ_O8@`> diff --git a/src/main/resources/assets/playerex/textures/gui/inventory.png b/src/main/resources/assets/playerex/textures/gui/inventory.png deleted file mode 100644 index feedac96f96d55c48b43151150b5d857339e83ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|+79~0Fmd+q9Q8%uSmjyOjxS>bFiBN<`dqN1X+XU{HOx)i8TWTLnk zkm4x`@(cct01QI+&z%E`a~60+7BevL9R^{>G~3l>yzs;OXk;vd$@?2>_(>ZAt(D diff --git a/src/main/resources/assets/playerex/textures/gui/tab.png b/src/main/resources/assets/playerex/textures/gui/tab.png deleted file mode 100644 index f3079b94b8e433ca332d0698454b27b9ffe6166f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1122 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-+mBgv|tTZVPIhX?&;zfQW5v|ZerG>0Fk!Dxv8o0u~VCV zZ}{EuV42n4nM*PzI(?N>|6$AT;q+hT#N0}0S@m*e29{grjz3Gb3)?Ygv%&ki&d(Yf zVqWz7f6lDG{nq4JQQ+BXhX*!Ye}2|X)l1ua`|Yhn$)tPDhn@wl2>q7j`2F|anrr8O z*39dB|Ni~ui+hf@oGn%lSaFxJW@W^g`7^FxUwwY@{?!Z&kt_^NoD3|&3><0<0zM21 zGZ-8U7#k9p7!DF8@#gi$2cOe;HkkcO5Sztx!B21gSHA3zKf65{xP0>&|2%E?iO**g zTYfpyuK9ny1Y0>ntDb(|)7%4VT}@ynpWQ%)>#_Uy z+ZBc_vZ;FIQ&* zpJY0%*HLMc30etXNUvH3tvHcgzXS^Q-}gU$ z@7(jxB{8e=?j;|3R>>W3BAU$5hq!;kCk7q~+3ru>^&h8%f41V7 z6A0vPLz0d zS?a#n6R}C1p=#c7IY(Ztl?SK0{dw+jA}oL1lk0z{F3i|3${>(oD?9sh$(jPo z^t5|_g`Ni{?7Q&%{Q2`QODYc=Y&raN(X8(c2P#E=em%ds#Blby*S8Y?btc|xKJ+Yb zMd-II$MW5GOSa9q{L)13`|rOMChrXsKi}aL$tq{~zcS*?{2ANVl+Qo@X&nBAM1yHd85Di=?flzw3vJF{`R|hcNs-??b$K){q{WFMU~&Z=eRfibef*`Bjfv> zRMvBgJ$~~n0D5NM``f6V(Y9l@kl}m$@%8I$n_1syY^Z$4!WCO9xFX50KIz`3d$n?> zKl?gR;tdp!@4h9uB5QGb{M`pQ)^L7_MOm1a3Z z!TPslulW{S*!8}8_l8eK&u;%e_H4n|Yq8fk8T36FUj5W%(9gWrH7DwEI>Y~YhhG2q z@gw5x_upl&fLbIPemWnxn`bUJz07LvvBz5$Xn&RyHuGoTs^lgq22h+1jI%JghM$c6 z=fU9;x9ex;>gVfTpVI$#G&t^Tw8I6Pu9&zx#nocfQ>D8z?=dqy4}9>Ob=@76C)bi@ zmG3`N2~5p*^6!4HefrztM{@h&M4MZ3d+zOey~~hc_Sv*j8@c25F}L)diw8nzTO4Q8RlY__pq~^TYTU=0.14.21", - "fabric-api": ">=0.83.0", - "minecraft": "1.20.1", - "dataattributes_dc": ">=1.5.2", - "projectile_damage": ">=1.20", - "cloth-config": ">=8.0.0", - "java": ">=17" - } + "schemaVersion": 1, + "id": "playerex-directors-cut", + "version": "${version}", + "name": "playerex-directors-cut", + "description": "TBD", + "authors": [ + "CleverNucleus", + "Jecka (MerryweatherLost)", + "pokesmells", + "DROGERSMAN" + ], + "contact": { + "homepage": "https://fabricmc.net/", + "sources": "https://github.com/FabricMC/fabric-example-mod" + }, + "license": "CC0-1.0", + "icon": "assets/playerex-directors-cut/icon.png", + "environment": "*", + "entrypoints": { + "main": [ + { + "value": "com.edelweiss.playerex.PlayerEXDirectorsCut", + "adapter": "kotlin" + } + ], + "client": [ + { + "value": "com.edelweiss.playerex.PlayerEXDirectorsCutClient", + "adapter": "kotlin" + } + ], + "fabric-datagen": [ + { + "value": "com.edelweiss.playerex.PlayerEXDirectorsCutDataGenerator", + "adapter": "kotlin" + } + ] + }, + "mixins": [ + "playerex-directors-cut.mixins.json", + { + "config": "playerex-directors-cut.client.mixins.json", + "environment": "client" + } + ], + "depends": { + "fabricloader": ">=0.15.6", + "minecraft": "~1.20.1", + "java": ">=17", + "fabric-api": "*", + "fabric-language-kotlin": ">=1.9.22" + } } \ No newline at end of file diff --git a/src/main/resources/playerex-directors-cut.mixins.json b/src/main/resources/playerex-directors-cut.mixins.json new file mode 100644 index 00000000..d0f5e626 --- /dev/null +++ b/src/main/resources/playerex-directors-cut.mixins.json @@ -0,0 +1,11 @@ +{ + "required": true, + "package": "com.edelweiss.playerex.mixin", + "compatibilityLevel": "JAVA_17", + "mixins": [ + "ExampleMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/playerex.mixins.json b/src/main/resources/playerex.mixins.json deleted file mode 100644 index 05a78c6d..00000000 --- a/src/main/resources/playerex.mixins.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "com.github.clevernucleus.playerex.mixin", - "compatibilityLevel": "JAVA_17", - "mixins": [ - "LivingEntityMixin", - "PlayerEntityMixin", - "ServerPlayerEntityMixin", - "ExperienceOrbEntityMixin", - "ServerWorldMixin", - "PlayerInventoryMixin", - "PersistentProjectileEntityMixin" - ], - "client": [ - "client.ItemStackMixin", - "client.LivingEntityRendererMixin", - "client.AbstractInventoryScreenMixin", - "client.InventoryScreenMixin" - ], - "injectors" : { - "defaultRequire": 1 - } -} \ No newline at end of file