From 1260a1271e2bda94fb48d3e0544c739759ea6cea Mon Sep 17 00:00:00 2001 From: Ryan <78032176+BigGaemer@users.noreply.github.com> Date: Fri, 19 Jan 2024 22:36:45 +0200 Subject: [PATCH] Initial commit --- .gitattributes | 2 + .gitignore | 25 + .vscode/settings.json | 3 + CHANGELOG | 24 + LICENSE | 0 README.md | 31 ++ build.gradle | 97 ++++ gradle.properties | 20 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58910 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 185 ++++++++ gradlew.bat | 104 +++++ settings.gradle | 10 + .../net/arcmods/gamer/gamerorigins/Gamer.java | 27 ++ .../gamerorigins/client/GamerKeybinds.java | 25 + .../gamerorigins/client/layerRenderer.java | 13 + .../enchantment/SunProtectionEnchantment.java | 39 ++ .../gamer/gamerorigins/items/mync_eye.java | 17 + .../gamer/gamerorigins/items/umbrella.java | 26 ++ .../gamerorigins/items/umbrellaDyeTest.java | 12 + .../gamer/gamerorigins/mixin/EntityMixin.java | 38 ++ .../mixin/PlayerConditionsMixin.java | 35 ++ .../gamerorigins/mixin/PlayerEntityMixin.java | 73 +++ .../registry/modEnchantments.java | 24 + src/main/resources/assets/dwayne.png | Bin 0 -> 34290 bytes .../assets/gamerorigins/lang/en_us.json | 138 ++++++ .../gamerorigins/models/item/mync_eye.json | 6 + .../gamerorigins/models/item/umbrella.json | 292 ++++++++++++ .../gamerorigins/shaders/post/sobel.json | 17 + .../textures/entity/discords_wings.png | Bin 0 -> 1416 bytes .../textures/entity/discords_wings_2.png | Bin 0 -> 117 bytes .../textures/entity/dragon_wings.png | Bin 0 -> 479 bytes .../textures/entity/dragon_wings_2.png | Bin 0 -> 517 bytes .../textures/entity/feathered_wings.png | Bin 0 -> 460 bytes .../textures/entity/feathered_wings_2.png | Bin 0 -> 746 bytes .../textures/entity/flandres_wings.png | Bin 0 -> 900 bytes .../textures/entity/flandres_wings_2.png | Bin 0 -> 117 bytes .../textures/entity/light_wings.png | Bin 0 -> 292 bytes .../textures/entity/light_wings_2.png | Bin 0 -> 117 bytes .../entity/mechanical_feathered_wings.png | Bin 0 -> 409 bytes .../entity/mechanical_feathered_wings_2.png | Bin 0 -> 710 bytes .../entity/mechanical_leather_wings.png | Bin 0 -> 478 bytes .../entity/mechanical_leather_wings_2.png | Bin 0 -> 611 bytes .../textures/entity/zanzas_wings.png | Bin 0 -> 1637 bytes .../textures/entity/zanzas_wings_2.png | Bin 0 -> 117 bytes .../gamerorigins/textures/gui/ability_bar.png | Bin 0 -> 3688 bytes .../gamerorigins/textures/gui/nothing.png | Bin 0 -> 1589 bytes .../gamerorigins/textures/item/mync_eye.png | Bin 0 -> 172 bytes .../gamerorigins/textures/item/umbrella.png | Bin 0 -> 12394 bytes .../textures/item/umbrellaoverlay.png | Bin 0 -> 638 bytes .../gamerorigins/origins/immortal_human.json | 9 + .../data/gamerorigins/origins/kefflade.json | 44 ++ .../data/gamerorigins/origins/lato.json | 26 ++ .../data/gamerorigins/origins/monarch.json | 15 + .../data/gamerorigins/origins/mus.json | 26 ++ .../data/gamerorigins/origins/mync.json | 29 ++ .../data/gamerorigins/powers/duelwield.json | 64 +++ .../gamerorigins/powers/fifteen_lives.json | 8 + .../data/gamerorigins/powers/furious.json | 25 + .../gamerorigins/powers/furious_dummy.json | 22 + .../powers/immortal_humanpowers/immortal.json | 30 ++ .../powers/immortal_humanpowers/pathetic.json | 14 + .../powers/keffladepowers/bookshelfnear.json | 434 ++++++++++++++++++ .../powers/keffladepowers/chromeboost.json | 21 + .../powers/keffladepowers/chrometest.json | 21 + .../keffladepowers/cursedexplosions.json | 75 +++ .../cursedexplosionschromes.json | 29 ++ .../powers/keffladepowers/darkball.json | 31 ++ .../keffladepowers/darkballchromes.json | 27 ++ .../powers/keffladepowers/darkchromes.json | 11 + .../powers/keffladepowers/darkfavour.json | 21 + .../powers/keffladepowers/darkftwo.json | 22 + .../powers/keffladepowers/ginodmg.json | 18 + .../powers/keffladepowers/honeychromes.json | 15 + .../kefflade_natural_armour.json | 9 + .../powers/keffladepowers/leatherarmour.json | 23 + .../powers/keffladepowers/lightningbolt.json | 37 ++ .../keffladepowers/lightningboltchromes.json | 27 ++ .../powers/keffladepowers/nodmg.json | 17 + .../keffladepowers/passivechromeregen.json | 11 + .../powers/keffladepowers/shadowblast.json | 74 +++ .../keffladepowers/shadowblastchromes.json | 26 ++ .../powers/keffladepowers/startbox.json | 22 + .../powers/keffladepowers/supernova.json | 66 +++ .../keffladepowers/supernovachromes.json | 27 ++ .../powers/keffladepowers/whitemagic.json | 118 +++++ .../keffladepowers/whitemagicchromes.json | 27 ++ .../powers/latopowers/insomnia.json | 7 + .../powers/latopowers/lato_blooded.json | 9 + .../powers/latopowers/lightweight.json | 24 + .../powers/latopowers/long_arms.json | 19 + .../powers/latopowers/natural_armor.json | 9 + .../powers/latopowers/perfect_vision.json | 6 + .../gamerorigins/powers/latopowers/rage.json | 25 + .../powers/latopowers/rage_addition.json | 22 + .../powers/latopowers/rage_dummy.json | 18 + .../powers/latopowers/seventeen_lives.json | 8 + .../powers/latopowers/strong.json | 13 + .../powers/latopowers/sun_damage.json | 37 ++ .../powers/latopowers/tailwind.json | 9 + .../gamerorigins/powers/latopowers/tall.json | 8 + .../powers/latopowers/tall_hitbox.json | 9 + .../powers/latopowers/tall_width.json | 9 + .../powers/latopowers/tall_width_hitbox.json | 9 + .../powers/latopowers/teleport.json | 53 +++ .../latopowers/water_vulnerability.json | 28 ++ .../monarchpowers/hyperefficient_blood.json | 10 + .../monarchpowers/instant_transmission.json | 66 +++ .../powers/monarchpowers/nuclear_rush.json | 55 +++ .../powers/monarchpowers/nyctophobia.json | 31 ++ .../powers/monarchpowers/shining.json | 6 + .../powers/monarchpowers/solar_energy.json | 11 + .../powers/monarchpowers/sun_fueled.json | 13 + .../powers/muspowers/closedeyes.json | 71 +++ .../powers/muspowers/closeeyes.json | 7 + .../powers/muspowers/fascination.json | 11 + .../powers/muspowers/fascinationeffects.json | 152 ++++++ .../powers/muspowers/flexibility.json | 23 + .../powers/muspowers/lookwithin.json | 72 +++ .../powers/muspowers/mus_natural_armor.json | 9 + .../powers/muspowers/no_villager.json | 17 + .../gamerorigins/powers/muspowers/reason.json | 11 + .../powers/muspowers/reasoneffects.json | 212 +++++++++ .../powers/myncpowers/mync_blind.json | 34 ++ .../powers/myncpowers/mync_echolocate.json | 94 ++++ .../myncpowers/mync_natural_armour.json | 9 + .../powers/myncpowers/mync_rage.json | 25 + .../powers/myncpowers/mync_rage_addition.json | 22 + .../powers/myncpowers/mync_rage_dummy.json | 22 + .../powers/myncpowers/mync_strong.json | 13 + .../powers/myncpowers/mync_tailwind.json | 9 + .../powers/myncpowers/mync_vision.json | 5 + .../data/gamerorigins/powers/pockets.json | 6 + .../data/gamerorigins/powers/teleport.json | 85 ++++ .../powers/water_vulnerability_ex.json | 28 ++ .../data/gamerorigins/recipes/umbrella.json | 23 + .../data/gamerorigins/tags/blocks/bees.json | 10 + .../tags/blocks/hexblade_unphaseable.json | 10 + .../gamerorigins/tags/blocks/hot_blocks.json | 12 + .../gamerorigins/tags/blocks/mushrooms.json | 19 + .../gamerorigins/tags/blocks/myceliums.json | 9 + .../data/gamerorigins/tags/blocks/nature.json | 35 ++ .../gamerorigins/tags/blocks/non_solid.json | 62 +++ .../tags/blocks/ocean_monument.json | 18 + .../gamerorigins/tags/blocks/path_blocks.json | 12 + .../gamerorigins/tags/blocks/stone_types.json | 11 + .../gamerorigins/tags/blocks/valuores.json | 10 + .../data/gamerorigins/tags/blocks/wool.json | 22 + .../data/gamerorigins/tags/items/blades.json | 10 + .../data/gamerorigins/tags/items/break.json | 20 + .../gamerorigins/tags/items/giweapons.json | 12 + .../gamerorigins/tags/items/unobtainable.json | 6 + .../data/gamerorigins/tags/items/weapons.json | 16 + .../data/origins/origin_layers/origin.json | 26 ++ src/main/resources/fabric.mod.json | 40 ++ src/main/resources/gamer.mixins.json | 13 + todo.md | 8 + 157 files changed, 4664 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 CHANGELOG create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/Gamer.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/client/GamerKeybinds.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/client/layerRenderer.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/enchantment/SunProtectionEnchantment.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/items/mync_eye.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/items/umbrella.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/items/umbrellaDyeTest.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/mixin/EntityMixin.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerConditionsMixin.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerEntityMixin.java create mode 100644 src/main/java/net/arcmods/gamer/gamerorigins/registry/modEnchantments.java create mode 100644 src/main/resources/assets/dwayne.png create mode 100644 src/main/resources/assets/gamerorigins/lang/en_us.json create mode 100644 src/main/resources/assets/gamerorigins/models/item/mync_eye.json create mode 100644 src/main/resources/assets/gamerorigins/models/item/umbrella.json create mode 100644 src/main/resources/assets/gamerorigins/shaders/post/sobel.json create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/discords_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/discords_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/dragon_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/dragon_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/feathered_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/feathered_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/flandres_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/flandres_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/light_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/light_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings.png create mode 100644 src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings_2.png create mode 100644 src/main/resources/assets/gamerorigins/textures/gui/ability_bar.png create mode 100755 src/main/resources/assets/gamerorigins/textures/gui/nothing.png create mode 100644 src/main/resources/assets/gamerorigins/textures/item/mync_eye.png create mode 100644 src/main/resources/assets/gamerorigins/textures/item/umbrella.png create mode 100644 src/main/resources/assets/gamerorigins/textures/item/umbrellaoverlay.png create mode 100644 src/main/resources/data/gamerorigins/origins/immortal_human.json create mode 100644 src/main/resources/data/gamerorigins/origins/kefflade.json create mode 100755 src/main/resources/data/gamerorigins/origins/lato.json create mode 100644 src/main/resources/data/gamerorigins/origins/monarch.json create mode 100644 src/main/resources/data/gamerorigins/origins/mus.json create mode 100644 src/main/resources/data/gamerorigins/origins/mync.json create mode 100644 src/main/resources/data/gamerorigins/powers/duelwield.json create mode 100755 src/main/resources/data/gamerorigins/powers/fifteen_lives.json create mode 100755 src/main/resources/data/gamerorigins/powers/furious.json create mode 100755 src/main/resources/data/gamerorigins/powers/furious_dummy.json create mode 100644 src/main/resources/data/gamerorigins/powers/immortal_humanpowers/immortal.json create mode 100644 src/main/resources/data/gamerorigins/powers/immortal_humanpowers/pathetic.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/bookshelfnear.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/chromeboost.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/chrometest.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosions.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosionschromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/darkball.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/darkballchromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/darkchromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/darkfavour.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/darkftwo.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/ginodmg.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/honeychromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/kefflade_natural_armour.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/leatherarmour.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/lightningbolt.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/lightningboltchromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/nodmg.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/passivechromeregen.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblast.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblastchromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/startbox.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/supernova.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/supernovachromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagic.json create mode 100644 src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagicchromes.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/insomnia.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/lato_blooded.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/lightweight.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/long_arms.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/natural_armor.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/perfect_vision.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/rage.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/rage_addition.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/rage_dummy.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/seventeen_lives.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/strong.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/sun_damage.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/tailwind.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/tall.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/tall_hitbox.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/tall_width.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/tall_width_hitbox.json create mode 100644 src/main/resources/data/gamerorigins/powers/latopowers/teleport.json create mode 100755 src/main/resources/data/gamerorigins/powers/latopowers/water_vulnerability.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/hyperefficient_blood.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/instant_transmission.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/nuclear_rush.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/nyctophobia.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/shining.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/solar_energy.json create mode 100644 src/main/resources/data/gamerorigins/powers/monarchpowers/sun_fueled.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/closedeyes.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/closeeyes.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/fascination.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/fascinationeffects.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/flexibility.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/lookwithin.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/mus_natural_armor.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/no_villager.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/reason.json create mode 100644 src/main/resources/data/gamerorigins/powers/muspowers/reasoneffects.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_blind.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_echolocate.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_natural_armour.json create mode 100755 src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage.json create mode 100755 src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_addition.json create mode 100755 src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_dummy.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_strong.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_tailwind.json create mode 100644 src/main/resources/data/gamerorigins/powers/myncpowers/mync_vision.json create mode 100644 src/main/resources/data/gamerorigins/powers/pockets.json create mode 100644 src/main/resources/data/gamerorigins/powers/teleport.json create mode 100755 src/main/resources/data/gamerorigins/powers/water_vulnerability_ex.json create mode 100644 src/main/resources/data/gamerorigins/recipes/umbrella.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/bees.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/hexblade_unphaseable.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/hot_blocks.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/mushrooms.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/myceliums.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/nature.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/non_solid.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/ocean_monument.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/path_blocks.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/stone_types.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/valuores.json create mode 100644 src/main/resources/data/gamerorigins/tags/blocks/wool.json create mode 100644 src/main/resources/data/gamerorigins/tags/items/blades.json create mode 100644 src/main/resources/data/gamerorigins/tags/items/break.json create mode 100644 src/main/resources/data/gamerorigins/tags/items/giweapons.json create mode 100755 src/main/resources/data/gamerorigins/tags/items/unobtainable.json create mode 100644 src/main/resources/data/gamerorigins/tags/items/weapons.json create mode 100644 src/main/resources/data/origins/origin_layers/origin.json create mode 100644 src/main/resources/fabric.mod.json create mode 100644 src/main/resources/gamer.mixins.json create mode 100644 todo.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9338c8e --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# eclipse +bin +*.launch +.settings +.metadata +.classpath +.project + +# idea +out +*.ipr +*.iws +*.iml +.idea + +# gradle +build +.gradle + +# other +eclipse +run + +*.un~ +libs diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e0f15db --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic" +} \ No newline at end of file diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..f560674 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,24 @@ +# Changes +## 1.19-0.0.3-PR +- created Mync +- created Lata (name TBD) +- removed not my code +- added Mync Eye for Mync origin icon +- cosmo please fucking finish the monarch + +## 1.19-0.0.4-PR +- created Kefflade +- cosmo finished monarch + +## 1.19.2-0.0.5-PR +- created Müs +- added umbrella +- changed all latos vulnerability to sun damage +- added more keybinds to origins +- set incompatibility with origins extra keybinds mod +- updated to 1.19.2 +- made latos tall +- a few bug fixes + +## 1.20.1-0.0.6-PR +- update to 1.20.1 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..3b61d7b --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# GamerOrigins + +

+ +

+

+ epicgaming + epicgaming +

+

+ epicgaming +

+

+ epicgaming +

+ +GamerOrigins adds a few origins to the Origins mod + +### Modpack usage + +You want to use it in a modpack? Sure! Just remember to credit me or the ARCMods team, this is a threat. + +### Issues + +If you find an issue or bug in the mod or just have a general suggestion you can write it [here](https://github.com/RyanTLG/GamerOrigins/issues) + + +### About requests +Will I code for Forge? no. +
+ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3ada525 --- /dev/null +++ b/build.gradle @@ -0,0 +1,97 @@ +plugins { + id 'fabric-loom' version '1.3-SNAPSHOT' + id 'maven-publish' +} + +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 + +archivesBaseName = project.archives_base_name +version = project.mod_version +group = project.maven_group + +repositories { + maven { + name "cloth config" + url "https://maven.shedaniel.me" + } + maven { + name "mod menu" + url "https://maven.terraformersmc.com" + } + maven { + name "playerabilitylib" + url "https://maven.ladysnake.org/releases" + } + maven { + name "reach entity attributes" + url "https://maven.jamieswhiteshirt.com/libs-release" + } + maven { + name "jitpack" + url "https://jitpack.io" + } +} + +dependencies { + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}" + modImplementation "com.github.apace100:origins-fabric:${project.origins_version}" + modApi("com.github.Virtuoel:Pehkui:${pehkui_version}", { + exclude group: "net.fabricmc.fabric-api" + }) +} + +processResources { + inputs.property "version", project.version + + filteringCharset = "UTF-8" + + filesMatching("fabric.mod.json") { + expand "version": project.version + } +} + +// ensure that the encoding is set to UTF-8, no matter what the system default is +// this fixes some edge cases with special characters not displaying correctly +// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html +tasks.withType(JavaCompile) { + options.encoding = "UTF-8" +} + +// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task +// if it is present. +// If you remove this task, sources will not be generated. +// task sourcesJar(type: Jar, dependsOn: classes) { +// classifier = "sources" +// from sourceSets.main.allSource +// } + +jar { + from "LICENSE" +} + +// configure the maven publication +publishing { + publications { + mavenJava(MavenPublication) { + // add all the jars that should be included when publishing to maven + artifact(remapJar) { + builtBy remapJar + } + // artifact(sourcesJar) { + // builtBy remapSourcesJar + // } + } + } + + // select the repositories you want to publish to + repositories { + // uncomment to publish to the local maven + // mavenLocal() + } +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..bed7e31 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,20 @@ +# Done to increase the memory available to gradle. +org.gradle.jvmargs=-Xmx2G + +# Fabric Properties +minecraft_version=1.20.1 +yarn_mappings=1.20.1+build.10 +loader_version=0.14.24 + +# Mod Properties +mod_version=1.20.1-0.0.6-PR +maven_group=dev.gamer +archives_base_name=GamerOrigins + +# Dependencies +fabric_version=0.90.7+1.20.1 +modmenu_version=7.2.2 +pehkui_version=3.7.8 +origins_version=0dfec42 + +# i want to fucking die, then do it \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..62d4c053550b91381bbd28b1afc82d634bf73a8a GIT binary patch literal 58910 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..fae0804 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..fbd7c51 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# 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 +# +# https://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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$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"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +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. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..5093609 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,104 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="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 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..5b60df3 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + jcenter() + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/Gamer.java b/src/main/java/net/arcmods/gamer/gamerorigins/Gamer.java new file mode 100644 index 0000000..8e59c74 --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/Gamer.java @@ -0,0 +1,27 @@ +package net.arcmods.gamer.gamerorigins; + +import net.arcmods.gamer.gamerorigins.items.mync_eye; +import net.arcmods.gamer.gamerorigins.items.umbrella; +import net.arcmods.gamer.gamerorigins.registry.modEnchantments; +import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.minecraft.item.ItemGroups; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class Gamer implements ModInitializer { + public static final String MOD_ID = "gamerorigins"; + + public static final Logger LOGGER = LogManager.getLogger(MOD_ID); + + @Override + public void onInitialize() { + umbrella.registerItems(); + mync_eye.register(); + modEnchantments.register(); + + ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register((content) -> content.add(umbrella.UMBRELLA)); + LOGGER.info("man this Origins is Gamer"); + } +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/client/GamerKeybinds.java b/src/main/java/net/arcmods/gamer/gamerorigins/client/GamerKeybinds.java new file mode 100644 index 0000000..042626f --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/client/GamerKeybinds.java @@ -0,0 +1,25 @@ +package net.arcmods.gamer.gamerorigins.client; + +import io.github.apace100.apoli.ApoliClient; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.util.InputUtil; +import org.lwjgl.glfw.GLFW; + +import java.util.List; + +public class GamerKeybinds implements ClientModInitializer { + + public List keys = List.of("ternary","quaternary","quinary","senary","septenary","octonary","nonary","denary"); + + @Override + public void onInitializeClient() { + for(String key : keys) { + KeyBinding binding = new KeyBinding("key.origins."+key+"_active", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_UNKNOWN, "category.origins"); + ApoliClient.registerPowerKeybinding(binding.getTranslationKey(), binding); + ApoliClient.registerPowerKeybinding(key, binding); + KeyBindingHelper.registerKeyBinding(binding); + } + } +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/client/layerRenderer.java b/src/main/java/net/arcmods/gamer/gamerorigins/client/layerRenderer.java new file mode 100644 index 0000000..b75b88d --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/client/layerRenderer.java @@ -0,0 +1,13 @@ +package net.arcmods.gamer.gamerorigins.client; + +import net.arcmods.gamer.gamerorigins.items.umbrella; +import net.fabricmc.api.ClientModInitializer; + +public class layerRenderer implements ClientModInitializer { + + @Override + public void onInitializeClient() { + umbrella.registerRenderLayers(); + } + +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/enchantment/SunProtectionEnchantment.java b/src/main/java/net/arcmods/gamer/gamerorigins/enchantment/SunProtectionEnchantment.java new file mode 100644 index 0000000..00346be --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/enchantment/SunProtectionEnchantment.java @@ -0,0 +1,39 @@ +package net.arcmods.gamer.gamerorigins.enchantment; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentTarget; +import net.minecraft.enchantment.ProtectionEnchantment; +import net.minecraft.entity.EquipmentSlot; + +public class SunProtectionEnchantment extends Enchantment { + + public SunProtectionEnchantment(Rarity weight, EnchantmentTarget type, EquipmentSlot[] slotTypes) { + super(weight, type, slotTypes); + } + + public int getMinPower(int level) { + return 8 + level * 5; + } + + public int getMaxPower(int level) { + return this.getMinPower(level) + 8; + } + + public boolean isTreasure() { + return true; + } + + public int getMaxLevel() { + return 4; + } + + @Override + protected boolean canAccept(Enchantment other) { + if(other == this || ((other instanceof ProtectionEnchantment && !(((ProtectionEnchantment)other).protectionType == ProtectionEnchantment.Type.ALL)))) { + return false; + } + return super.canAccept(other); + } + + +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/items/mync_eye.java b/src/main/java/net/arcmods/gamer/gamerorigins/items/mync_eye.java new file mode 100644 index 0000000..b201329 --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/items/mync_eye.java @@ -0,0 +1,17 @@ +package net.arcmods.gamer.gamerorigins.items; + +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.Rarity; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; + +public class mync_eye { + + public static final Item MYNC_EYE = new Item(new Item.Settings().maxCount(1).rarity(Rarity.EPIC)); + + public static void register() { + Registry.register(Registries.ITEM, new Identifier("gamerorigins", "mync_eye"), MYNC_EYE); + } + +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrella.java b/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrella.java new file mode 100644 index 0000000..2cf35a4 --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrella.java @@ -0,0 +1,26 @@ +package net.arcmods.gamer.gamerorigins.items; + +import net.arcmods.gamer.gamerorigins.Gamer; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.minecraft.item.DyeableItem; +import net.minecraft.util.Identifier; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; + +public class umbrella { + public static final umbrellaDyeTest UMBRELLA = new umbrellaDyeTest(new FabricItemSettings().maxCount(1).maxDamage(1200)); + + + public static void registerItems() { + Registry.register(Registries.ITEM, new Identifier(Gamer.MOD_ID, "umbrella"), UMBRELLA); + + } + + @Environment(EnvType.CLIENT) + public static void registerRenderLayers() { + ColorProviderRegistry.ITEM.register((stack, tintIndex) -> (tintIndex > 0) ? -1 : ((DyeableItem) stack.getItem()).getColor(stack), UMBRELLA); + } +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrellaDyeTest.java b/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrellaDyeTest.java new file mode 100644 index 0000000..f23cf8e --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/items/umbrellaDyeTest.java @@ -0,0 +1,12 @@ +package net.arcmods.gamer.gamerorigins.items; + +import net.minecraft.item.DyeableItem; +import net.minecraft.item.Item; + +public class umbrellaDyeTest extends Item implements DyeableItem { + + public umbrellaDyeTest(Settings settings) { + super(settings); + } + +} diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/mixin/EntityMixin.java b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/EntityMixin.java new file mode 100644 index 0000000..4f4ce97 --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/EntityMixin.java @@ -0,0 +1,38 @@ +package net.arcmods.gamer.gamerorigins.mixin; + +import net.arcmods.gamer.gamerorigins.items.umbrella; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.world.World; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(Entity.class) +public abstract class EntityMixin { + + + @Shadow World world; + + @Shadow abstract BlockPos getBlockPos(); + + @Shadow abstract Box getBoundingBox(); + + @Shadow abstract Iterable getHandItems(); + + @Inject(method = "isBeingRainedOn", at = @At("HEAD"), cancellable = true) + private void isBeingRainedOn(CallbackInfoReturnable cir) { + Iterable hands = this.getHandItems(); + for (ItemStack stack : hands) { + if (stack.getItem() == umbrella.UMBRELLA) + cir.setReturnValue(false); + } + } + + + +} \ No newline at end of file diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerConditionsMixin.java b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerConditionsMixin.java new file mode 100644 index 0000000..9580ecc --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerConditionsMixin.java @@ -0,0 +1,35 @@ +package net.arcmods.gamer.gamerorigins.mixin; + +import io.github.apace100.apoli.power.factory.condition.EntityConditions; +import io.github.apace100.calio.data.SerializableData; +import net.arcmods.gamer.gamerorigins.items.umbrella; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +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; + +@Mixin(EntityConditions.class) +public class PlayerConditionsMixin { + + @Inject(method = { "lambda$register$10" }, at = { @At("HEAD") }, cancellable = true) + private static void sunDamagePrevention(SerializableData.Instance data, Entity player, CallbackInfoReturnable cir) { + for (ItemStack stack : player.getHandItems()) { + if (stack.getItem().equals(umbrella.UMBRELLA) && stack.getDamage() < stack.getMaxDamage() - 1) { + cir.setReturnValue(false); + } + } + } + + @Inject(method = { "lambda$register$11" }, at = { @At("HEAD") }, cancellable = true) + private static void umbrellaRainedOn(SerializableData.Instance data, Entity player, CallbackInfoReturnable cir) { + for (ItemStack stack : player.getHandItems()) { + if (stack.getItem().equals(umbrella.UMBRELLA) && stack.getDamage() < stack.getMaxDamage() - 1) { + cir.setReturnValue(false); + } + } + } + + +} \ No newline at end of file diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerEntityMixin.java b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerEntityMixin.java new file mode 100644 index 0000000..19183db --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/mixin/PlayerEntityMixin.java @@ -0,0 +1,73 @@ +package net.arcmods.gamer.gamerorigins.mixin; + +import io.github.apace100.apoli.mixin.EntityAccessor; +import net.arcmods.gamer.gamerorigins.items.umbrella; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(PlayerEntity.class) +public abstract class PlayerEntityMixin extends Entity { + @Shadow + public abstract ItemStack getEquippedStack(EquipmentSlot slot); + + @Shadow + public abstract Iterable getHandItems(); + + @Shadow + public abstract PlayerInventory getInventory(); + + protected PlayerEntityMixin(EntityType entityType, World world) { + super(entityType, world); + } + + @Inject(method = "tick", at = @At("HEAD"), cancellable = true) + private void tick(CallbackInfo ci) { + boolean isBeingRainedOn = ((EntityAccessor) this).callIsBeingRainedOn(); + + if (isBeingRainedOn && this.age % 10 == 0) { + for (ItemStack stack : this.getHandItems()) { + if (stack.getItem().equals(umbrella.UMBRELLA) && stack.getDamage() < stack.getMaxDamage() - 1) { + // Set damage instead of calling stack.damage, otherwise an animation is + // triggered for each damage tick. + stack.setDamage(stack.getDamage() + 1); + } + } + } else if (!isBeingRainedOn && this.age % 20 == 0) { + ItemStack offHand = this.getEquippedStack(EquipmentSlot.OFFHAND); + boolean isHot = getWorld().getBiome(this.getBlockPos()).value().isCold(this.getBlockPos()); + + // Repair off-hand umbrella. + this.repairStack(offHand, isHot, true); + + // Repair any umbrellas in the player's inventory. + for (int i = 0; i < 36; i++) { + this.repairStack(this.getInventory().getStack(i), isHot, this.getInventory().selectedSlot == i); + } + } + } + + private void repairStack(ItemStack stack, boolean isHot, boolean isExposed) { + if (stack.getItem().equals(umbrella.UMBRELLA) && stack.isDamaged()) { + stack.setDamage(stack.getDamage() - 1); + if (isHot) { + // Umbrellas dry faster in hot climates. + stack.setDamage(stack.getDamage() - 1); + } + if (isExposed) { + // Umbrellas dry faster if they're exposed (not tucked away in inventory). + stack.setDamage(stack.getDamage() - 1); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/net/arcmods/gamer/gamerorigins/registry/modEnchantments.java b/src/main/java/net/arcmods/gamer/gamerorigins/registry/modEnchantments.java new file mode 100644 index 0000000..a0cbfeb --- /dev/null +++ b/src/main/java/net/arcmods/gamer/gamerorigins/registry/modEnchantments.java @@ -0,0 +1,24 @@ +package net.arcmods.gamer.gamerorigins.registry; + +import net.arcmods.gamer.gamerorigins.Gamer; +import net.arcmods.gamer.gamerorigins.enchantment.SunProtectionEnchantment; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentTarget; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.registry.Registries; +import net.minecraft.util.Identifier; +import net.minecraft.registry.Registry; + +public class modEnchantments { + + public static final Enchantment SUN_PROTECTION = new SunProtectionEnchantment(Enchantment.Rarity.RARE, EnchantmentTarget.ARMOR, new EquipmentSlot[]{EquipmentSlot.HEAD, EquipmentSlot.CHEST, EquipmentSlot.LEGS, EquipmentSlot.FEET}); + + public static void register() { + register("sun_protection", SUN_PROTECTION); + } + + private static Enchantment register(String path, Enchantment enchantment) { + Registry.register(Registries.ENCHANTMENT, new Identifier(Gamer.MOD_ID, path), enchantment); + return enchantment; + } +} diff --git a/src/main/resources/assets/dwayne.png b/src/main/resources/assets/dwayne.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1f492c15c0c5b0ff28938ac6d8c7228756a926 GIT binary patch literal 34290 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/dragon_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/dragon_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e9b77ffe0dd0d758f0351cc58549ed8439dfc0 GIT binary patch literal 479 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E1o(uw0_o|~r_Y~1f6tyhOO`CzzJ2?;b?bKT-o0(xwnd8;&6_t5s37Xj z#1lY@rzFTP_&)+L2;Dz-4k*r9;1OBOz`%DHgc*>?$f|Nk!!(5%Ycer4wDw+q$tRM*U#5++<0oyG8}p+%E@VxWYr#ukF0bL&PWN~o;>r7;^)rwEb2S- zEY@B7y#9L419qIC>N%n36f#4sbYLWhfJBTE+W5MOdc#hM(ENt3s>H_DuFI z*xK@bZqrt`Ysb#tJ8}8V{*of^d&ip1KYinW&J%cOInTlGtfxP*Ebdrto?RT91`JFF MPgg&ebxsLQ00@!H!Tk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`032l#}z0_lmp-P^ZsU$$)7sZ*zJ-n@C^#*LFFPXfhV-|RI3Qk*40e!>5t zfFanwLI@;S;1OBOz`%DHgc*kiaq5lut~4-@Qdn7;Sj|dL#Qp9cJMNlO5JrJlk@)NU><|zMDsuJfAr2K=2Ii zV;u*=;#RvoI^>%2UcS?p>+{Rq^FLJwT-IjaeezC)&cmjYSzBu##9e8uFrUV#*^{{3hs@a}l-ntxY~ z5B&wIk$QJfV!lFx?vHGyMg9-;Y;s&(8qbM+X8tU;;bXb70$0g4+ehrrbbS({yBjrT zh>O`5H7;QnTkD!|PpR~vc(vflhWsO|d9oObKfO=TPQ1~2>;Lswi#-tntg(72wh=ep z30-We?7q_a_iW#Jv6T+|+YjhIxWn|{AtAP&;k0!5|uh B<7of@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/feathered_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/feathered_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..cdcac219b8beec1dcbc1f5b9c33cdd810a24e6af GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`031o(uw0_lmp-7Qtc%a$#>dGqF}Q>V6X-wqU1`MLTLkm4u_@(cbC0Sxz= z_eKK6I14-?iy0XB4uLSEsD@Vq&>~Gw7srqY_qWp@PCBf>(c-#h-+$@*P8oYoTt(88hS_)0GGi+0nuGD<7l zYVc>Ck$U#nr2NO)l?)LZ@9^J?l4;PJ60s_`LYaL5tBt0kRz(QYrQ>bi&kD6DsNQ(t zCg^cK`qY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/feathered_wings_2.png b/src/main/resources/assets/gamerorigins/textures/entity/feathered_wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a308a30199dfd6ffd521c31da4c79faf5699c935 GIT binary patch literal 746 zcmVPx#1ZP1_K>z@;j|==^1poj57*I@9MF0Q*+1c5IdUMLk%BH5Kk&TPDx3>TQ0DK5T zO#lD@2y{|TQ~&?}|NsC00N#VWSpWb432;bRa{vGi!TxP7wWi1Gy_EUtH4>mYKOtqgPnh!So z6hIJDpzZ5tL{|mLf+hQy;HrT2V({Db{Cq-A@g{P#P2#nh!7SBW2{@3ILl^Bi0jM0hnv>o~p8&9~T!u4! zstZyYzUDocedMJUB+NSo<;0X>$S`yXu;MNhNNF`>`1Q@5DKLUA5Ia!}KKX{30!56> zA8o;W4-{|u4Ft>;uzM0AGkoqHQw2!SVn}@Igb(&Wj!@wH)Cp5BKp+p~(Z8l~K;}dK zIAG^{P&U!lZxtv6i6vV{iDMoIC4c*E2Qvkc)g)lQ9l%tV$XTW3RxAWc-+tG}e#qD_ z9Xsj^p8yLr2WQ#ux-fgy!sw*~!}mrg69NR3J(J8^O<;YD_2@O_g*5?>h>P4C4$6ge{!Qgm9yP z;KyC2bz2~@pB%o{33m!$;IDfi3*tC^@$VFTgr(H(G_jV^LneJ#YAd&KeN5o}*Z2|q ce}Z-W1N(7itGF@@B>(^b07*qoM6N<$f+z|=MgRZ+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/flandres_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/flandres_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..1336e395f1c2158d0da6810e9a685ae94ae57511 GIT binary patch literal 900 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1A1^9%x0_laCN_7fS)6^BZRb(yVU+IQCws>___wl(pi&y2kk6&5XJl53@ ztNI@H{mHbj@882B)qQTL-#C)5e&dF^=Bpfw$Emun_ER+F`mGOl^!<1nerv(y zW*{|7w_@M(*9l<)Y>Li-BJPIHfs@oUoio@{>Ylw!2$Orp=o~00F6bOMa~h}f37-i& zg`d1*X|;CzY0>yR;so@47L}+E1UaYg&r5Uy4ufhRruWCFz5e_4fXrqr?S5}XmCiu zK8e3g(ETW9wLy=G=J^}Vi8|alHI|EsmaEINk~9I^djekj)o;Z=NeSZ9A+iA zOEO-Pu|C5&;n|Hu#|D$*eBROvM3!w|&v5y6c*D!L+6TUz7Tv@7AoZVP&WG&^{QXJI znIT8iHy$+6yuA5F!mc}w4nJm#aJQ_4VolvYvH2_^rJ=7IvTiL)U2*km?D-4VxFlXJ zyu@g_E%|Uj_N(Q63w5iT9_BTD%xil2lBFiO>C{#OvvsX2tMeN3Z5xvrg)PJk4hC}< zUCD^M`YdFX>*r;r%Y$rZmG8AIy{p8#!y@R_E02}4m1DPOY-RA%y}Ekc+K~0TzJ9-Y z!Jg^L)q;a^Vs5v4!rvq&ez{w6SWZrYdx6v{ZiT6gCdtLDOAH(GUgb5E*fTA$EVGaR z`PZEp==FzRlo`~%aD^vUJ?Ap``&e|3U;yt|*BpbRvRlG89uz6RaQ_I~W!H1E94#yN yF*h1qEmsg&)~&-`f0_LQV~1S>zk}w|eT_%gOa@O^KbLh*2~7Z|TbsZD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/flandres_wings_2.png b/src/main/resources/assets/gamerorigins/textures/entity/flandres_wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3789c3b666222f3852b6177d6ca41b575d114610 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkP*B~| w#WAE}&f9~Gyg=Te1>gO1`OFspnaH4_oY}#FfwBM7$v}{>r>mdKI;Vst0R21|0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/light_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/light_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..7b191e93c7ebca15105ae473169a6244071958f6 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?STf%Mm}U;qFA|NQy$TeohVI(~Hjj?F+p9d1!eAjMG<A-Vx6G&;Fk2hfi&s39J<&JX1N&tgv)F zyyu*h#CEp*(sqhRU3$1&R822Dtq{2ss>E=5L3Fbxla8{d(u37^Wu|lZEO+;GDB@aB akvwNcspR*cmPsHNGI+ZBxvXgO1`OFspnaH4_oY}#FfwBM7$v}{>r>mdKI;Vst0R21|0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..a787fbf3c3a586574d19a90f0bb0441e1d1976b1 GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0(2Ka=y0_hVga+@-prd0d=xYYA#e;rUnMmzT>kYX_;IbA z<3YTyx3M$08@^&lKiJ5*r~IXlGc!; zb3JiPP@2|Uk?`2`lhP)M2>tY(^JeDSv`S70uQ+l+&8*=`_2J1T+dhh%^k4o&rFOf2 zm*__u?+q-cg#L6eoQ++je?j-eA)#7E7H;pD2?w`0m`8Ja|8Zq25}tXwA?9n@(wGU2 z9BSDQ-mPn}@quE_^vI^)tiS&;H0Z_hUV1#M9T*A>p00i_>zopr0Fok~OaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings_2.png b/src/main/resources/assets/gamerorigins/textures/entity/mechanical_feathered_wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..079bcf7ebe7505a02d497df972e31048333ef8a3 GIT binary patch literal 710 zcmV;%0y+JOP)Px#1ZP1_K>z@;j|==^1poj57*I@9MF0Q*rlzL1x3`gvi^|H%+1c5IdUF5(0GJ-z zQ~&?~2y{|TQ~&?}|NsC00N#VWSpWb432;bRa{vGi!Ti2mwn><+34f z)@p9@gOw$R<^)N`*o}p}nchz#d^LDNbAp5+5sWyj=Z!}Jc(qrcERO9ADx-41^ogA>p@HHA{W5{OPX!i(V}>BO zRskVZtQo-Z^BLZuMHhw+xr*hVa~jqmvN3^bM9{gC`QIoe<}g8TF#0nLxI)DYLBk?@AY2jx%@-VuyW scr>ygj+Yz%Ex{+a32p-6j|9E{0JQvK22%M5vj6}907*qoM6N<$g10?7)&Kwi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7f69b7cc3cdfc5822a2dce8998fd6bac4c0b98 GIT binary patch literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0(2Ka=y0_iE$eodK9CsyP>+F$qMQV&oh=j?)5AjMu1c)mncaXw zoCO|{#S9F5he4R}c>anMpe6R6E{-7)?r*2Pp46xSo7=lI66 zuox_PdPc4>eZte$U2GGBn&;b_YaTG-JLIC%=*;nQp`m61myXK^f$4l2kM%4V*#ub} zIF4E`=;?m3KsqYGm&yDWi!>7LiHdd>a-PLmfU*1oC< z3C?ro?dZ!~$5yJXUDagPziX;AbZ zE!U1VMCjk$dt?%C#5bNNR$?H89h&ThyMQz`YjObi&l N44$rjF6*2UngGSSz*PVM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings_2.png b/src/main/resources/assets/gamerorigins/textures/entity/mechanical_leather_wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..42e1ce552632da914df819178ff7b8179aedd8a2 GIT binary patch literal 611 zcmV-p0-XJcP)Px#1ZP1_K>z@;j|==^1poj56;Mo6MF0Q*k&TO{rlz;Ix5~=O+1c3u003;2Di8nw z00(qZPE-H?|NsC002)gJMgRZ+32;bRa{vGi!vFvd!vV){sAK>D0mMl}K~z{r?N*DD zf-n%H5B&d6HrWPLwk%Mcxw#plceTaF-6UA2$Cvmw1WBXE2SG}?|ISqO!sCM==bAAj z$C9gFcuYCxlDQ4Qe!jChf)WtalJRVl3UKfQK?^09Qgs~#kjfL-av!Jw4^=1)iYEvv zVA%`7t_x8G`1qAT@E!Y_Rx}a!MQ+&N4;!K4#^ykC59A;r3YraIf^N`GvjI%ZZI>Xi zxms8K60|M|?M9Eu=7C5@_|f-4E3bUmo#4iM3p;=Ysik?IIb3njFhMNb(3Zy;pLf|0 zv;Y^mf1a`ZdLpa>6@X!gz!$_mL4)vX`8;GJ z7@z@eA1$8;3EF;>aHs|LfELC~SZpllU?>JZuu-5NrsCq25il~B{c5=8d#2)f=&fk<`vC*2wkAEEG{H?tDyZtdIPG* zCH&L82Xo=2qE-dA&zK*H*!JUC*xJaGpFYMF&_-*ax)!h-hc_rR?}2yYD#G@c1qq0_ xg#g&jVVqz&SEKVaBshbc;3gn$g1;wtJf3K(Stv>;UiAO~002ovPDHLkV1nxt{@4Hj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings.png b/src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings.png new file mode 100644 index 0000000000000000000000000000000000000000..4e255fd14801fbe6597bde864aa65d76d89746b4 GIT binary patch literal 1637 zcmV-r2AcVaP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1^P)uK~#8N?V3$% z97hm_SF)3w48|gg*D>T~5Qqo_IRyd+V?)5_5JOJ+UAa2s4+IPbp_?~FgjGuqK)UMQ-&r?~B^6 zj&eY4Q}uu5)z+}8fj^@F7j3f$(Se#aSX?f=o^Oe+il%BifnyQ<=hxx_Ds_I&R9 zDsPC0InWe~5nXnxYy}L&j+n4CsEkSOumF{BiEh&_;HSr`!<(9a9s>Z%H{aK|?EJCl znhTFB?253GoUl~Z&bzpEC4iJgwOZ6#(Izm%Gk*Q#r9CHTT2|h5F5i< z4w@*x3QT}sW9|eZi@I=x72ygyYQi@gn|%T1LwE#zB0+wGs~*8F7oO9H69Uu!Rm29& z+7cc_3_#0FbWde=#m;w?2~u$)m|Lj+r3mY2su1Ex_`AUcGB*?~*ohO1;^<|*PLNVz z*Em9+)5Hh9Na8@4CefPRvt&s1rioA3lg%0d>2O!*|5a=y}U9Q1!ZN zXRi1+&h1Ujm1D2Sv=0TO!kgQ6?Be>_h`P5U{2ldwpyEa9LqMJh zUU%Ut5zoa3l?kGN2!7nrz3N7WB#51F{er~T5O0I0_9h6Hb{|j(o$maBtZX3`fj3oD z(GS%2U8Vx;CdjJ>37)1YA2E7Vt2>OkNai;v0H%n!`C7{&>$dJVb??mP`U=f5{vi^0;2>3 zjL&MOOmVL9N$U0~OL#uOEPzFvIx^w$Q3yd0o=@TkcmZL=XDnW1|6vd;5bGJPVF8&& z)yY~Bp5GtQ=7{^m+Qe-s3J~zo_~Zq}>o;c4&fC``)lmY93IXi2(lgqy0J9*~Z;ROZ z`yxypw_voj9M>_^f}VGX78W=YLFC20)p$ z*=t{p!4v~TX|Y+Ks>B9sIad3=*HMnSQJt_==z{_((^`L?CpHlefc2jjUn=o!1P}Bk z2KbKVX{|k1JMKZhMgqPLXnE<7kfgrswEcM!QW=v5{2%C97s7+S#DEjWU!b&#F0eEO jl*knF+E>{2Fq!-Z7-1j}@Y`Wa00000NkvXXu0mjf7G4T& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings_2.png b/src/main/resources/assets/gamerorigins/textures/entity/zanzas_wings_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3789c3b666222f3852b6177d6ca41b575d114610 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkP*B~| w#WAE}&f9~Gyg=Te1>gO1`OFspnaH4_oY}#FfwBM7$v}{>r>mdKI;Vst0R21|0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/gui/ability_bar.png b/src/main/resources/assets/gamerorigins/textures/gui/ability_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..47afc512d70693029be081a7d9feb133c3d7724b GIT binary patch literal 3688 zcmeH|dpO%^7RP_TY;-WARJ1OkNsFX9RPEL!s$>jfR7J}yS_w+UrEv>YL37bXv0_kR zh|5gZQkP<;D%*}EyPdd9Sk)Az;u6$twyA0ma#`*CyMOMV-hbZDbDsCS&-XdcIp33i z5$C0&ZK4eTfR6Xq9{vCT?jZip*oPQRTXX~U{c(JZsc4IB9C=)op##mrV)9p6mYC%|t^Tv?l@U7u{m?iw#t`kRl zzEsK-w#BxZ))$6HXF)~}uAWt*$={y3VW<>M~K92}1Zmgv|j_)PN zmuDEz%?t&F)&SHhCPkecrx8AdKJYuKTd7`&Qbr}a@=l4l*CcUDt;#e5PrGfpfUe*f zf@Bq@TL)}rZBlM)FvvB+qx@d$x9fHCk%Q2e%W-)vgPDKfAA#xtBXlerh6UoY)+uXx zSl}7}iN64Vzs*W$(dnF@udYh#ZUtUfC=Z@LZ2+XbBF($$>kFy73a4&Jz=wCAOz&#*Ma6+#r|BU0zwSstYO-4pc@;#ZS5eZF5TJO>#<vk^D43Majx?F|kbA$w#lYbCqePpQBXE%Q5($)9n%r zj~l_^g>c6NBt8BB^J?3Ndfg9bj7U%Cuno-2%r3Q$&#RQXQH>Z38jUtb_m)U-{F0Iq zGM;%Kbse`nElHcpk)%l?p0~m)visNN0hqe7V)l#f1o26Yk}_vrEzHictk|>~#_0^D z(vp%o6jbK0_Z3-Hm{2S8{qhKz9PKu`)jU4cofsyUwFI@Z%AC+NSARVWs-e_A;A^YS z>*EjFVEmNZw`KA#^CSxSM)Jz@2B({E@OVzrF{a_Lx?@G;ew`5Un86=|o(I`3lpoo5 z#A5N{--KQ`KKo3O+l206Sp7~0u8MsPgF;|p$&f{he! z+Uu0&C~QG1#rUE(axK~nuy=zJ3dKL*3BeN3;Wycxx~me(^rb4)o7ZmsvKHtLw!f%`%$+P-M7@Ogqw#L z6$O627gPlLyp@d?06v_u{Qj7xiz`HPcD?g;Ir149s>gS*9oSxZDr;1wG_vw61hwW< zj|Pgaw)xVL(%GGb1@*T4>H1*#S;4>`^k0I`xsOgT`~mg0of;LsA(M|G997lya)4~D zA2Z@18e?j{Aitw2`{S%1y!Y^1ig?dWJ#oaf@}zoqT1u2;`cYLqH`}cREi4p^7vQ zwVSyLuOQGRnT9i!MI$0XrGxR-2;#MaX1GiixxV6u60W^;v(tmQNj)HKm2nx94vb-q zw<2!3)3~vj(wFxAQcuJ?brZ+)(e`u*?;r4cJfoQEWc7|{unHKX?$CHJkaYISXQ@d3 zQT~yjSW&T>M=0{!B}Oj5X@yK(no*sCgs1~d{c*)1`m+Y%)pPxRV71QTneb}Bc&rqv zhxG|PQkBi0KSl?R>PClZKy1A0H-9bUEvP@`2pT9$?Yxs3@~FQyC)-eRVznW~$cx&u z4aZ$8-F_t(cE*da_bG( zwErEXNAkU}^F~RA`4X!@DCbcBDtW{j`Vgu|XQ4-t;huC$zz1mIKW}9L)pQah4(4h9 z`G-G)HCV*1J->uJLlwjYet-^b>!CO;Bmk}VH5hHx+=KAL!BwOBvqs-WV&i{kB6`x{ zjMh_zL+)4~0F0sd>p%jb!H^Ef+ki|EbKu2C4g2EvE5F}1`vbf0HXrSJ-zxW))c<+Is&vCh16?YU Rz&v2@czfbJ9=L~R{}=5f$t?f? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/gui/nothing.png b/src/main/resources/assets/gamerorigins/textures/gui/nothing.png new file mode 100755 index 0000000000000000000000000000000000000000..d42a75f9421f2497a2a4fcd0bd9ded02fa133127 GIT binary patch literal 1589 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP<#}OhQNpofz1YAIzSnvB*-uL|HuXm!Qa_cfeC@Lz$3Dlfq`!?2s66>p0E}u zC|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXJq(MA#*A)6lZz5IEGZjy}h6aEPZ%d v4t&-BYrLhwxFWBJcR|!B8mJKX#CV%Ii=Xe)o~6r+KpEZB)z4*}Q$iB}=5w@- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/item/mync_eye.png b/src/main/resources/assets/gamerorigins/textures/item/mync_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..4a54d4d00737237600ca1fc58ba18c23c57b437a GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFq#hxyXArj%qDGCe{iJ#W+@cf^6 z^

7!|6uO2~Xa(ua~%C7oQ>^B$QO~F?yO~Xj~8Dk`6(Y%1?iI*>pdy=h+i&6|0y#}ygRkj_$A(=hYXySvsq@-~RNSPISeXJjnU V7OdfBngz6;!PC{xWt~$(69BVoJ#qj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/item/umbrella.png b/src/main/resources/assets/gamerorigins/textures/item/umbrella.png new file mode 100644 index 0000000000000000000000000000000000000000..3bbbd7a1691cb09c6a3a751c5be1ef4c719cf7fd GIT binary patch literal 12394 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamerorigins/textures/item/umbrellaoverlay.png b/src/main/resources/assets/gamerorigins/textures/item/umbrellaoverlay.png new file mode 100644 index 0000000000000000000000000000000000000000..cba67bd031363d5930586a41819138ebdc56242f GIT binary patch literal 638 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-3{1kFE{-7;ac}P)%o28#IsP$3vr3ag>4!{Q z4QIdIvg7+&#OFH;IDS|pw$|^2g9dA<+3a`qb@TbB3Up;qq`%W5?KNB?`#U7omd(6Pr=a}9``sTGS=YVGKR2ls4dX#pZ_d*&JcrfbR{Sbun;;Zl93+49T&yPk?? zj)`It)7;N;=MU$@PL8&z{0n~ONlKWxGV};L?9gN?;59gB>R@3EVs8-7iMh$JhrK{5 z_zc56UKw+sqS;Cerw{J9#3=FOX$*6Vw!Fh^)-x=Rz1S~&XP(7)Y%1>p{$0F^r>Dd- r<#0r%b#*)BvoQkG12zzFB=5Vl-m?`FO{s^Uf)seV`njxgN@xNAtpWS+ literal 0 HcmV?d00001 diff --git a/src/main/resources/data/gamerorigins/origins/immortal_human.json b/src/main/resources/data/gamerorigins/origins/immortal_human.json new file mode 100644 index 0000000..2a45aa5 --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/immortal_human.json @@ -0,0 +1,9 @@ +{ + "powers": [ + "gamerorigins:immortal_humanpowers/immortal", + "gamerorigins:immortal_humanpowers/pathetic" + ], + "icon": "minecraft:air", + "order": 1001, + "impact": 3 +} diff --git a/src/main/resources/data/gamerorigins/origins/kefflade.json b/src/main/resources/data/gamerorigins/origins/kefflade.json new file mode 100644 index 0000000..104df6e --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/kefflade.json @@ -0,0 +1,44 @@ +{ + "powers": [ + "gamerorigins:keffladepowers/darkchromes", + "gamerorigins:keffladepowers/chromeboost", + "gamerorigins:keffladepowers/supernova", + "gamerorigins:keffladepowers/supernovachromes", + "gamerorigins:keffladepowers/passivechromeregen", + "gamerorigins:keffladepowers/chrometest", + "gamerorigins:keffladepowers/lightningbolt", + "gamerorigins:keffladepowers/lightningboltchromes", + "gamerorigins:keffladepowers/whitemagic", + "gamerorigins:keffladepowers/whitemagicchromes", + "gamerorigins:keffladepowers/shadowblast", + "gamerorigins:keffladepowers/shadowblastchromes", + "gamerorigins:keffladepowers/cursedexplosions", + "gamerorigins:keffladepowers/cursedexplosionschromes", + "gamerorigins:keffladepowers/darkball", + "gamerorigins:keffladepowers/darkballchromes", + "gamerorigins:keffladepowers/bookshelfnear", + "gamerorigins:keffladepowers/darkfavour", + "gamerorigins:keffladepowers/darkftwo", + "gamerorigins:keffladepowers/honeychromes", + "gamerorigins:keffladepowers/startbox", + "gamerorigins:keffladepowers/nodmg", + "gamerorigins:keffladepowers/ginodmg", + "gamerorigins:keffladepowers/leatherarmour", + "gamerorigins:keffladepowers/kefflade_natural_armour", + "gamerorigins:latopowers/lightweight", + "gamerorigins:latopowers/sun_damage", + "gamerorigins:latopowers/lato_blooded", + "gamerorigins:latopowers/seventeen_lives", + "gamerorigins:latopowers/insomnia", + "gamerorigins:latopowers/tall", + "gamerorigins:latopowers/tall_hitbox", + "gamerorigins:latopowers/tall_width", + "gamerorigins:latopowers/tall_width_hitbox", + "gamerorigins:latopowers/strong", + "gamerorigins:latopowers/long_arms" + + ], + "icon": "minecraft:air", + "order": 1002, + "impact": 3 +} diff --git a/src/main/resources/data/gamerorigins/origins/lato.json b/src/main/resources/data/gamerorigins/origins/lato.json new file mode 100755 index 0000000..242a891 --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/lato.json @@ -0,0 +1,26 @@ +{ + "powers": [ + "gamerorigins:latopowers/lato_blooded", + "gamerorigins:latopowers/seventeen_lives", + "gamerorigins:latopowers/natural_armor", + "gamerorigins:latopowers/tailwind", + "gamerorigins:latopowers/rage", + "gamerorigins:latopowers/rage_dummy", + "gamerorigins:latopowers/rage_addition", + "gamerorigins:latopowers/perfect_vision", + "gamerorigins:latopowers/sun_damage", + "gamerorigins:latopowers/teleport", + "gamerorigins:latopowers/strong", + "gamerorigins:latopowers/long_arms", + "gamerorigins:latopowers/lightweight", + "gamerorigins:latopowers/insomnia", + "gamerorigins:latopowers/tall", + "gamerorigins:latopowers/tall_hitbox", + "gamerorigins:latopowers/tall_width", + "gamerorigins:latopowers/tall_width_hitbox" + ], + "icon": "netherite_axe", + "order": 998, + "impact": 3 + } + \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/origins/monarch.json b/src/main/resources/data/gamerorigins/origins/monarch.json new file mode 100644 index 0000000..d77b829 --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/monarch.json @@ -0,0 +1,15 @@ +{ + "powers": [ + "gamerorigins:monarchpowers/hyperefficient_blood", + "gamerorigins:monarchpowers/sun_fueled", + "gamerorigins:monarchpowers/nuclear_rush", + "gamerorigins:monarchpowers/nyctophobia", + "gamerorigins:monarchpowers/shining", + "gamerorigins:monarchpowers/solar_energy", + "gamerorigins:monarchpowers/instant_transmission" + ], + "icon": "end_crystal", + "order": 1003, + "impact": 3 + } + \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/origins/mus.json b/src/main/resources/data/gamerorigins/origins/mus.json new file mode 100644 index 0000000..976f9e0 --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/mus.json @@ -0,0 +1,26 @@ +{ + "powers": [ + "gamerorigins:mus/fascination", + "gamerorigins:mus/reason", + "gamerorigins:mus/closeeyes", + "gamerorigins:mus/closedeyes", + "gamerorigins:mus/lookwithin", + "gamerorigins:mus/reasoneffects", + "gamerorigins:mus/fascinationeffects", + "gamerorigins:latopowers/insomnia", + "gamerorigins:mus/no_villager", + "gamerorigins:mus/flexibility", + "gamerorigins:latopowers/lato_blooded", + "gamerorigins:latopowers/sun_damage", + "gamerorigins:mus/mus_natural_armor", + "gamerorigins:latopowers/tall", + "gamerorigins:latopowers/tall_hitbox", + "gamerorigins:latopowers/tall_width", + "gamerorigins:latopowers/tall_width_hitbox", + "gamerorigins:latopowers/strong", + "gamerorigins:latopowers/long_arms" + ], + "icon": "minecraft:dead_fire_coral", + "order": 1004, + "impact": 3 +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/origins/mync.json b/src/main/resources/data/gamerorigins/origins/mync.json new file mode 100644 index 0000000..171824e --- /dev/null +++ b/src/main/resources/data/gamerorigins/origins/mync.json @@ -0,0 +1,29 @@ +{ + "powers": [ + "gamerorigins:myncpowers/mync_vision", + "gamerorigins:myncpowers/mync_blind", + "gamerorigins:latopowers/seventeen_lives", + "gamerorigins:myncpowers/mync_natural_armour", + "gamerorigins:latopowers/lato_blooded", + "gamerorigins:latopowers/sun_damage", + "gamerorigins:myncpowers/mync_tailwind", + "gamerorigins:myncpowers/mync_strong", + "gamerorigins:myncpowers/mync_rage", + "gamerorigins:myncpowers/mync_rage_dummy", + "gamerorigins:myncpowers/mync_rage_addition", + "gamerorigins:myncpowers/mync_echolocate", + "gamerorigins:latopowers/lightweight", + "gamerorigins:latopowers/insomnia", + "gamerorigins:latopowers/tall", + "gamerorigins:latopowers/tall_hitbox", + "gamerorigins:latopowers/tall_width", + "gamerorigins:latopowers/tall_width_hitbox", + "gamerorigins:latopowers/strong", + "gamerorigins:latopowers/long_arms" + ], + "icon": { + "item": "gamerorigins:mync_eye" + }, + "order": 999, + "impact": 3 +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/duelwield.json b/src/main/resources/data/gamerorigins/powers/duelwield.json new file mode 100644 index 0000000..ee4ffaf --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/duelwield.json @@ -0,0 +1,64 @@ +{ + "name": "Dual Wield", + "description": "You are ambidextrous! (You can swing weapons by equipping them into your offhand) [right click] (doesn't work with hoes and shovels)", + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "offhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": [ + { + "item": "minecraft:wooden_sword" + }, + { + "item": "minecraft:golden_sword" + }, + { + "item": "minecraft:iron_sword" + }, + { + "item": "minecraft:diamond_sword" + }, + { + "item": "minecraft:netherite_sword" + }, + { + "item": "minecraft:wooden_axe" + }, + { + "item": "minecraft:golden_axe" + }, + { + "item": "minecraft:iron_axe" + }, + { + "item": "minecraft:diamond_axe" + }, + { + "item": "minecraft:netherite_axe" + }, + { + "item": "minecraft:wooden_pickaxe" + }, + { + "item": "minecraft:golden_pickaxe" + }, + { + "item": "minecraft:iron_pickaxe" + }, + { + "item": "minecraft:diamond_pickaxe" + } + ] + } + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:swing_hand", + "hand": "OFF_HAND" + }, + "cooldown": 0, + "key": { + "key": "key.use\t" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/fifteen_lives.json b/src/main/resources/data/gamerorigins/powers/fifteen_lives.json new file mode 100755 index 0000000..27b7b34 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/fifteen_lives.json @@ -0,0 +1,8 @@ +{ + "type": "origins:attribute", + "modifier": { + "attribute": "minecraft:generic.max_health", + "value": 10.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/furious.json b/src/main/resources/data/gamerorigins/powers/furious.json new file mode 100755 index 0000000..38375b7 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/furious.json @@ -0,0 +1,25 @@ +{ + "type": "origins:active_self", + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/ability_bar.png", + "bar_index": "1" + }, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 400, + "amplifier": 3 + } + }, + { + "type": "origins:exhaust", + "amount": 2 + } + ] + }, + "cooldown": 400 +} diff --git a/src/main/resources/data/gamerorigins/powers/furious_dummy.json b/src/main/resources/data/gamerorigins/powers/furious_dummy.json new file mode 100755 index 0000000..9693fdf --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/furious_dummy.json @@ -0,0 +1,22 @@ +{ + "type": "origins:active_self", + "hidden": "true", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:instant_damage", + "duration": 1, + "amplifier": 1 + } + } + ] + }, + "cooldown": 800, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/nothing.png", + "bar_index": "0" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/immortal.json b/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/immortal.json new file mode 100644 index 0000000..1e517f5 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/immortal.json @@ -0,0 +1,30 @@ +{ + "type": "origins:prevent_death", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:clear_effect" + }, + { + "type": "origins:apply_effect", + "effects": [ + { + "effect": "minecraft:regeneration", + "amplifier": 1, + "duration": 900 + }, + { + "effect": "minecraft:fire_resistance", + "duration": 800 + }, + { + "effect": "minecraft:absorption", + "amplifier": 1, + "duration": 100 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/pathetic.json b/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/pathetic.json new file mode 100644 index 0000000..628df25 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/immortal_humanpowers/pathetic.json @@ -0,0 +1,14 @@ +{ + "type": "origins:stacking_status_effect", + "min_stacks": 0, + "max_stacks": 1, + "duration_per_stack": 35, + "effect": { + "effect": "weakness", + "duration": 35, + "amplifier": 7, + "is_abient": true, + "show_particles": false, + "show_icon": false + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/bookshelfnear.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/bookshelfnear.json new file mode 100644 index 0000000..50fe874 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/bookshelfnear.json @@ -0,0 +1,434 @@ +{ + "type": "origins:action_over_time", + "interval": 20, + "entity_action": { + "type": "origins:if_else_list", + "actions": [ + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 10 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + { + "effect": "minecraft:strength", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 10, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 9 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + { + "effect": "minecraft:strength", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 9, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 8 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + { + "effect": "minecraft:strength", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 8, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 7 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + { + "effect": "minecraft:strength", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 7, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 6 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 6, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": ">=", + "compare_to": 5 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 5, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": "==", + "compare_to": 4 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 4, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": "==", + "compare_to": 3 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:resistance", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 2, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": "==", + "compare_to": 2 + }, + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:regeneration", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + } + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 2, + "operation": "add" + } + ] + } + }, + { + "condition": { + "type": "origins:block_in_radius", + "block_condition": { + "type": "origins:block", + "block": "minecraft:bookshelf" + }, + "radius": 10, + "shape": "cube", + "comparison": "==", + "compare_to": 1 + }, + "action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 1, + "operation": "add" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/chromeboost.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/chromeboost.json new file mode 100644 index 0000000..2d35c5d --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/chromeboost.json @@ -0,0 +1,21 @@ +{ + "hidden": true, + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "offhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "minecraft:book" + } + } + }, + "type": "origins:action_over_time", + "interval": 40, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 1, + "operation": "add" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/chrometest.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/chrometest.json new file mode 100644 index 0000000..35a8d5a --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/chrometest.json @@ -0,0 +1,21 @@ +{ + "hidden": true, + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "gamerorigins:mync_eye" + } + } + }, + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 100, + "operation": "add" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosions.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosions.json new file mode 100644 index 0000000..9712222 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosions.json @@ -0,0 +1,75 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": false, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 70 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:raycast", + "distance": 20, + "block": true, + "entity": true, + "shape_type": "outline", + "fluid_handling": "any", + "bientity_action": { + "type": "origins:target_action", + "action": { + "type": "origins:delay", + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:explode", + "power": 1, + "destruction_type": "none", + "damage_self": true + }, + { + "type": "origins:delay", + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:explode", + "power": 1, + "destruction_type": "none", + "damage_self": true + } + ] + }, + "ticks": 20 + } + ] + }, + "ticks": 80 + } + }, + "hit_action": { + "type": "origins:play_sound", + "sound": "minecraft:entity.tnt.primed", + "volume": 1, + "pitch": 1 + }, + "command_along_ray": "particle minecraft:explosion" + }, + "cooldown": 1000, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": 7 + }, + "key": { + "key": "ternary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosionschromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosionschromes.json new file mode 100644 index 0000000..15fb7a9 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/cursedexplosionschromes.json @@ -0,0 +1,29 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": false, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 70 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -70, + "operation": "add" + }, + "cooldown": 1000, + "key": { + "key": "ternary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/darkball.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkball.json new file mode 100644 index 0000000..5aec248 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkball.json @@ -0,0 +1,31 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 20 + } + ] + }, + "type": "origins:fire_projectile", + "entity_type": "minecraft:dragon_fireball", + "cooldown": 500, + "hud_render": { + "should_render": true, + "bar_index": 7 + }, + "count": 1, + "interval": 0, + "start_delay": 0, + "speed": 1.5, + "divergence": 1, + "sound": "minecraft:entity.ender_dragon.shoot", + "key": "ternary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/darkballchromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkballchromes.json new file mode 100644 index 0000000..dad900c --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkballchromes.json @@ -0,0 +1,27 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 20 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -20, + "operation": "add" + }, + "cooldown": 500, + "key": "ternary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/darkchromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkchromes.json new file mode 100644 index 0000000..d75512d --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkchromes.json @@ -0,0 +1,11 @@ +{ + "type": "origins:resource", + "min": 0, + "max": 200, + "start_value": 10, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/darkfavour.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkfavour.json new file mode 100644 index 0000000..1f0786f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkfavour.json @@ -0,0 +1,21 @@ +{ + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "offhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "minecraft:book" + } + } + }, + "type": "origins:modify_damage_taken", + "damage_condition": { + "type": "origins:name", + "name": "magic" + }, + "modifier": { + "operation": "multiply_base", + "value": -0.5 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/darkftwo.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkftwo.json new file mode 100644 index 0000000..9452b3d --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/darkftwo.json @@ -0,0 +1,22 @@ +{ + "hidden": true, + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "offhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "minecraft:book" + } + } + }, + "type": "origins:modify_damage_dealt", + "damage_condition": { + "type": "origins:name", + "name": "magic" + }, + "modifier": { + "operation": "multiply_base", + "value": 0.1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/ginodmg.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/ginodmg.json new file mode 100644 index 0000000..442e845 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/ginodmg.json @@ -0,0 +1,18 @@ +{ + "hidden": true, + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "tag": "gamerorigins:giweapons" + } + } + }, + "type": "origins:modify_damage_dealt", + "modifier": { + "operation": "multiply_base", + "value": -0.6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/honeychromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/honeychromes.json new file mode 100644 index 0000000..c597324 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/honeychromes.json @@ -0,0 +1,15 @@ +{ + "type": "origins:action_on_item_use", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 15, + "operation": "add" + }, + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "minecraft:honey_bottle" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/kefflade_natural_armour.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/kefflade_natural_armour.json new file mode 100644 index 0000000..2537231 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/kefflade_natural_armour.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Natural Armor health bonus", + "attribute": "minecraft:generic.armor", + "value": 8.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/leatherarmour.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/leatherarmour.json new file mode 100644 index 0000000..b7dc037 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/leatherarmour.json @@ -0,0 +1,23 @@ +{ + "type": "origins:restrict_armor", + "head": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 1 + }, + "chest": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 3 + }, + "legs": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 2 + }, + "feet": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningbolt.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningbolt.json new file mode 100644 index 0000000..02cf938 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningbolt.json @@ -0,0 +1,37 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": false, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 90 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:raycast", + "distance": 100, + "block": true, + "entity": true, + "shape_type": "visual", + "fluid_handling": "any", + "miss_action": { + "type": "origins:nothing" + }, + "command_at_hit": "summon minecraft:lightning_bolt ~ ~ ~" + }, + "cooldown": 250, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_02.png", + "bar_index": 5 + }, + "key": "primary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningboltchromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningboltchromes.json new file mode 100644 index 0000000..f487cd0 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/lightningboltchromes.json @@ -0,0 +1,27 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": false, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 90 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -90, + "operation": "add" + }, + "cooldown": 250, + "key": "primary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/nodmg.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/nodmg.json new file mode 100644 index 0000000..4856569 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/nodmg.json @@ -0,0 +1,17 @@ +{ + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "tag": "gamerorigins:weapons" + } + } + }, + "type": "origins:modify_damage_dealt", + "modifier": { + "operation": "multiply_base", + "value": -0.6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/passivechromeregen.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/passivechromeregen.json new file mode 100644 index 0000000..468ae5c --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/passivechromeregen.json @@ -0,0 +1,11 @@ +{ + "hidden": true, + "type": "origins:action_over_time", + "interval": 20, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": 1, + "operation": "add" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblast.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblast.json new file mode 100644 index 0000000..5df5d9f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblast.json @@ -0,0 +1,74 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 30 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:raycast", + "distance": 30, + "block": true, + "entity": true, + "shape_type": "outline", + "fluid_handling": "any", + "bientity_action": { + "type": "origins:target_action", + "action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:slowness", + "duration": 100, + "amplifier": 1, + "show_particles": true, + "show_icon": true + }, + "effects": [ + { + "effect": "minecraft:blindness", + "duration": 100, + "amplifier": 0, + "show_particles": true, + "show_icon": true + } + ] + }, + { + "type": "origins:damage", + "amount": 10, + "source": { + "name": "magic", + "bypasses_armor": true, + "magic": true + } + } + ] + } + }, + "hit_action": { + "type": "origins:play_sound", + "sound": "minecraft:entity.warden.sonic_boom", + "volume": 1, + "pitch": 1 + }, + "command_along_ray": "particle minecraft:sonic_boom" + }, + "cooldown": 400, + "hud_render": { + "should_render": true, + "sprite_locsecondaryx": 15 + }, + "key": "secondary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblastchromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblastchromes.json new file mode 100644 index 0000000..f596dc5 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/shadowblastchromes.json @@ -0,0 +1,26 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 40 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -40, + "operation": "add" + }, + "cooldown": 400, + "key": "secondary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/startbox.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/startbox.json new file mode 100644 index 0000000..83eaeea --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/startbox.json @@ -0,0 +1,22 @@ +{ + "type": "origins:starting_equipment", + "stack": { + "item": "minecraft:book" + }, + "stacks": [ + { + "item": "minecraft:bookshelf", + "amount": 5 + }, + { + "item": "minecraft:enchanting_table" + }, + { + "item": "minecraft:brewing_stand" + }, + { + "item": "minecraft:experience_bottle", + "amount": 15 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/supernova.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/supernova.json new file mode 100644 index 0000000..6fe246f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/supernova.json @@ -0,0 +1,66 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 30 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:delay", + "action": { + "type": "origins:raycast", + "distance": 150, + "block": true, + "entity": true, + "shape_type": "visual", + "fluid_handling": "any", + "miss_action": { + "type": "origins:nothing" + }, + "command_at_hit": "summon firework_rocket ~ ~ ~ {FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Explosions:[{Type:1,Flicker:1b,Colors:[I;11743532,2437522,12910782,14602026,15435844],FadeColors:[I;11743532,2437522,8073150]}]}}}}", + "command_along_ray": "particle minecraft:dust_color_transition 1.0 0.0 0.0 1.0 0.0 0.0 1.0 ~ ~1 ~", + "command_step": 0.3 + }, + "ticks": 10 + }, + { + "type": "origins:play_sound", + "sound": "entity.illusioner.cast_spell", + "volume": 1, + "pitch": 2 + }, + { + "type": "origins:spawn_particles", + "particle": "sonic_boom", + "count": 3, + "force": true, + "spread": { + "x": 0.25, + "y": 0.13, + "z": 0.25 + }, + "offset_y": 1.5 + } + ] + }, + "cooldown": 20, + "hud_render": { + "should_render": false + }, + "key": { + "key": "primary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/supernovachromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/supernovachromes.json new file mode 100644 index 0000000..2804e2c --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/supernovachromes.json @@ -0,0 +1,27 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 30 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -30, + "operation": "add" + }, + "cooldown": 20, + "key": "primary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagic.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagic.json new file mode 100644 index 0000000..ad35fcc --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagic.json @@ -0,0 +1,118 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 50 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:raycast", + "distance": 20, + "block": true, + "entity": true, + "shape_type": "outline", + "fluid_handling": "any", + "bientity_action": { + "type": "origins:target_action", + "action": { + "type": "origins:if_else", + "condition": { + "type": "origins:entity_group", + "group": "undead" + }, + "if_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:damage", + "amount": 6, + "source": { + "name": "magic", + "bypasses_armor": true, + "unblockable": true, + "magic": true + } + }, + { + "type": "origins:delay", + "action": { + "type": "origins:damage", + "amount": 2, + "source": { + "name": "magic", + "bypasses_armor": true, + "unblockable": true, + "magic": true + } + }, + "ticks": 40 + }, + { + "type": "origins:delay", + "action": { + "type": "origins:damage", + "amount": 2, + "source": { + "name": "magic", + "bypasses_armor": true, + "unblockable": true, + "magic": true + } + }, + "ticks": 80 + } + ] + }, + "else_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:heal", + "amount": 6 + }, + { + "type": "origins:delay", + "action": { + "type": "origins:heal", + "amount": 2 + }, + "ticks": 40 + }, + { + "type": "origins:delay", + "action": { + "type": "origins:heal", + "amount": 2 + }, + "ticks": 80 + } + ] + } + } + }, + "hit_action": { + "type": "origins:play_sound", + "sound": "minecraft:block.amethyst_cluster.hit", + "volume": 1, + "pitch": 1 + }, + "command_along_ray": "particle minecraft:crit" + }, + "cooldown": 200, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": 18 + }, + "key": "secondary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagicchromes.json b/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagicchromes.json new file mode 100644 index 0000000..9dd2241 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/keffladepowers/whitemagicchromes.json @@ -0,0 +1,27 @@ +{ + "hidden": true, + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:sneaking" + }, + { + "type": "origins:resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "comparison": ">=", + "compare_to": 50 + } + ] + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:keffladepowers/darkchromes", + "change": -50, + "operation": "add" + }, + "cooldown": 200, + "key": "secondary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/insomnia.json b/src/main/resources/data/gamerorigins/powers/latopowers/insomnia.json new file mode 100644 index 0000000..975b225 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/insomnia.json @@ -0,0 +1,7 @@ +{ + "type": "origins:prevent_sleep", + "name": "Sleepless", + "description": "As a creature of the night, you cannot sleep during the night.", + "set_spawn_point": true, + "message": "You cannot sleep now." +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/lato_blooded.json b/src/main/resources/data/gamerorigins/powers/latopowers/lato_blooded.json new file mode 100755 index 0000000..6e76844 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/lato_blooded.json @@ -0,0 +1,9 @@ +{ + "type": "origins:effect_immunity", + "effects": [ + "minecraft:wither", + "minecraft:poison", + "minecraft:instant_damage", + "minecraft:hunger" + ] +} diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/lightweight.json b/src/main/resources/data/gamerorigins/powers/latopowers/lightweight.json new file mode 100644 index 0000000..6f04be6 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/lightweight.json @@ -0,0 +1,24 @@ +{ + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:and", + "actions": [{ + "type": "origins:block_action_at", + "block_action": { + "type": "origins:modify_block_state", + "property": "tilt", + "enum": "none" + } + }] + }, + "condition": { + "type": "origins:and", + "conditions": [{ + "type": "origins:command", + "command": "execute at @s if block ~ ~ ~ minecraft:big_dripleaf unless block ~ ~ ~ minecraft:big_dripleaf[tilt=full]", + "comparison": "==", + "compare_to": 1 + }] + } + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/long_arms.json b/src/main/resources/data/gamerorigins/powers/latopowers/long_arms.json new file mode 100644 index 0000000..d34423e --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/long_arms.json @@ -0,0 +1,19 @@ +{ + "type": "origins:attribute", + "modifiers": + [ + { + "name": "Long Arms reach", + "attribute": "reach-entity-attributes:reach", + "value": 1, + "operation": "addition" + }, + { + "name": "Long Arms attack range", + "attribute": "reach-entity-attributes:attack_range", + "value": 1, + "operation": "addition" + } + ] + +} diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/natural_armor.json b/src/main/resources/data/gamerorigins/powers/latopowers/natural_armor.json new file mode 100644 index 0000000..2053db0 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/natural_armor.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Natural Armor health bonus", + "attribute": "minecraft:generic.armor", + "value": 10.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/perfect_vision.json b/src/main/resources/data/gamerorigins/powers/latopowers/perfect_vision.json new file mode 100755 index 0000000..1da60af --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/perfect_vision.json @@ -0,0 +1,6 @@ +{ + "type": "origins:toggle_night_vision", + "active_by_default": "true", + "strength": 0.3, + "key": "ternary" +} diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/rage.json b/src/main/resources/data/gamerorigins/powers/latopowers/rage.json new file mode 100755 index 0000000..f7d238d --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/rage.json @@ -0,0 +1,25 @@ +{ + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 400, + "amplifier": 3 + } + }, + { + "type": "origins:exhaust", + "amount": 2 + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/ability_bar.png", + "bar_index": "0" + } +} diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/rage_addition.json b/src/main/resources/data/gamerorigins/powers/latopowers/rage_addition.json new file mode 100755 index 0000000..891253f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/rage_addition.json @@ -0,0 +1,22 @@ +{ + "type": "origins:active_self", + "hidden": "true", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:speed", + "duration": 400, + "amplifier": 2 + } + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/nothing.png", + "bar_index": "0" + } + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/rage_dummy.json b/src/main/resources/data/gamerorigins/powers/latopowers/rage_dummy.json new file mode 100755 index 0000000..04b0863 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/rage_dummy.json @@ -0,0 +1,18 @@ +{ + "type": "origins:active_self", + "hidden": "true", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:heal", + "amount": 15 + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/nothing.png", + "bar_index": "0" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/seventeen_lives.json b/src/main/resources/data/gamerorigins/powers/latopowers/seventeen_lives.json new file mode 100755 index 0000000..784f7f3 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/seventeen_lives.json @@ -0,0 +1,8 @@ +{ + "type": "origins:attribute", + "modifier": { + "attribute": "minecraft:generic.max_health", + "value": 14.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/strong.json b/src/main/resources/data/gamerorigins/powers/latopowers/strong.json new file mode 100644 index 0000000..11a09af --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/strong.json @@ -0,0 +1,13 @@ +{ + "type": "origins:attribute", + "modifiers": + [ + { + "name": "Strong damage", + "attribute": "generic.attack_damage", + "value": 2.0, + "operation": "addition" + } + ] + +} diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/sun_damage.json b/src/main/resources/data/gamerorigins/powers/latopowers/sun_damage.json new file mode 100644 index 0000000..eae589e --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/sun_damage.json @@ -0,0 +1,37 @@ +{ + "condition": { + "type": "origins:and", + "conditions": [ + { + "inverted": true, + "type": "origins:inventory", + "process_mode": "items", + "slots": [ + "weapon.mainhand", + "weapon.offhand" + ], + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "gamerorigins:umbrella" + } + } + }, + { + "type": "origins:exposed_to_sun" + } + ] + }, + "type": "origins:damage_over_time", + "interval": 15, + "onset_delay": 1, + "damage": 3, + "damage_easy": 2, + "damage_source": { + "name": "burn_in_sun", + "unblockable": true, + "bypasses_armor": true + }, + "protection_enchantment": "gamerorigins:sun_protection", + "protection_effectiveness": 1.1 + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/tailwind.json b/src/main/resources/data/gamerorigins/powers/latopowers/tailwind.json new file mode 100644 index 0000000..8501760 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/tailwind.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Tailwind speed bonus", + "attribute": "minecraft:generic.movement_speed", + "value": 0.29, + "operation": "multiply_base" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/tall.json b/src/main/resources/data/gamerorigins/powers/latopowers/tall.json new file mode 100644 index 0000000..11b9f49 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/tall.json @@ -0,0 +1,8 @@ +{ + "type": "origins:action_over_time", + "interval": 20, + "entity_action": { + "type": "origins:execute_command", + "command": "/scale set pehkui:height 1.25" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/tall_hitbox.json b/src/main/resources/data/gamerorigins/powers/latopowers/tall_hitbox.json new file mode 100644 index 0000000..722b79d --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/tall_hitbox.json @@ -0,0 +1,9 @@ +{ + "hidden": true, + "type": "origins:action_over_time", + "interval": 20, + "entity_action": { + "type": "origins:execute_command", + "command": "/scale set pehkui:hitbox_height 1" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/tall_width.json b/src/main/resources/data/gamerorigins/powers/latopowers/tall_width.json new file mode 100644 index 0000000..903afa7 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/tall_width.json @@ -0,0 +1,9 @@ +{ + "type": "origins:action_over_time", + "interval": 20, + "hidden": true, + "entity_action": { + "type": "origins:execute_command", + "command": "/scale set pehkui:width 1.25" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/tall_width_hitbox.json b/src/main/resources/data/gamerorigins/powers/latopowers/tall_width_hitbox.json new file mode 100644 index 0000000..df0e9f0 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/tall_width_hitbox.json @@ -0,0 +1,9 @@ +{ + "type": "origins:action_over_time", + "interval": 20, + "hidden": true, + "entity_action": { + "type": "origins:execute_command", + "command": "/scale set pehkui:hitbox_width 1" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/teleport.json b/src/main/resources/data/gamerorigins/powers/latopowers/teleport.json new file mode 100644 index 0000000..aaa2092 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/teleport.json @@ -0,0 +1,53 @@ +{ + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:delay", + "action": { + "type": "origins:raycast", + "distance": 150, + "block": true, + "entity": true, + "shape_type": "visual", + "fluid_handling": "any", + "miss_action": { + "type": "origins:nothing" + }, + "command_at_hit": "tp @s ~ ~ ~", + "command_along_ray": "particle minecraft:dust_color_transition 1.0 0.0 0.0 1.0 0.0 0.0 1.0 ~ ~1 ~", + "command_step": 0.3 + }, + "ticks": 10 + }, + { + "type": "origins:play_sound", + "sound": "entity.illusioner.cast_spell", + "volume": 1, + "pitch": 1 + }, + { + "type": "origins:spawn_particles", + "particle": "dragon_breath", + "count": 800, + "speed": 0.1, + "force": true, + "spread": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "offset_y": 0.5 + } + ] + }, + "cooldown": 3000, + "hud_render": { + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": "19" + }, + "key": { + "key": "secondary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/latopowers/water_vulnerability.json b/src/main/resources/data/gamerorigins/powers/latopowers/water_vulnerability.json new file mode 100755 index 0000000..a6ac18b --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/latopowers/water_vulnerability.json @@ -0,0 +1,28 @@ +{ + "type": "origins:damage_over_time", + "interval": 15, + "onset_delay": 60, + "damage": 1, + "damage_easy": 1, + "damage_source": { + "name": "boil_in_water", + "unblockable": true, + "bypasses_armor": true + }, + "protection_enchantment": "origins:water_protection", + "protection_effectiveness": 1.5, + "condition": { + "type": "origins:or", + "conditions": [ + { + "type": "origins:fluid_height", + "fluid": "minecraft:water", + "comparison": ">", + "compare_to": 0.0 + }, + { + "type": "origins:in_rain" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/hyperefficient_blood.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/hyperefficient_blood.json new file mode 100644 index 0000000..a33325a --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/hyperefficient_blood.json @@ -0,0 +1,10 @@ +{ + "type": "origins:effect_immunity", + "effects": [ + "minecraft:wither", + "minecraft:poison", + "minecraft:instant_damage", + "minecraft:hunger" + ] + } + \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/instant_transmission.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/instant_transmission.json new file mode 100644 index 0000000..e280199 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/instant_transmission.json @@ -0,0 +1,66 @@ +{ + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:monarchpowers/solar_energy", + "comparison": ">=", + "compare_to": 50 + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:delay", + "action": { + "type": "origins:raycast", + "distance": 20, + "block": true, + "entity": true, + "shape_type": "visual", + "fluid_handling": "any", + "miss_action": { + "type": "origins:nothing" + }, + "command_at_hit": "tp @s ~ ~ ~", + "command_along_ray": "/particle smoke ~ ~ ~ 0 0 0 0 10", + "command_step": 0.3 + }, + "ticks": 0 + }, + { + "type": "origins:play_sound", + "sound": "entity.illusioner.cast_spell", + "volume": 1, + "pitch": 1 + }, + { + "type": "origins:spawn_particles", + "particle": "instant_effect", + "count": 800, + "speed": 0.1, + "force": true, + "spread": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "offset_y": 0.5 + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:monarchpowers/solar_energy", + "change": -50, + "operation": "add" + } + + ] + }, + "cooldown": 0, + "hud_render": { + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": "19" + }, + "key": { + "key": "secondary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/nuclear_rush.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/nuclear_rush.json new file mode 100644 index 0000000..69ea111 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/nuclear_rush.json @@ -0,0 +1,55 @@ +{ + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:monarchpowers/solar_energy", + "comparison": ">=", + "compare_to": 100 + }, + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 200, + "amplifier": 4 + } + }, + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:speed", + "duration": 200, + "amplifier": 3 + } + }, + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:resistance", + "duration": 200, + "amplifier": 3 + } + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:monarchpowers/solar_energy", + "change": -100, + "operation": "add" + }, + { + "type": "origins:exhaust", + "amount": 2 + } + ] + + }, + "cooldown": 2200, + "hud_render": { + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": "7" + }, + "key": "primary" + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/nyctophobia.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/nyctophobia.json new file mode 100644 index 0000000..1a3938b --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/nyctophobia.json @@ -0,0 +1,31 @@ +{ + "type": "origins:action_over_time", + "condition": { + "type": "origins:daytime", + "inverted": true + }, + "entity_action": { + "type": "origins:and", + "actions": [{ + "type": "origins:apply_effect", + "effects": [{ + "effect": "minecraft:slowness", + "amplifier": 0, + "duration": 35, + "show_particles": false, + "show_icon": false + }, + { + "effect": "minecraft:weakness", + "amplifier": 2, + "duration": 35, + "show_particles": false, + "show_icon": false + } + ] + } + ] + }, + "update_health": true + } + \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/shining.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/shining.json new file mode 100644 index 0000000..5ea6e92 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/shining.json @@ -0,0 +1,6 @@ +{ + "type": "origins:model_color", + "blue": 0.5, + "red": 1, + "green": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/solar_energy.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/solar_energy.json new file mode 100644 index 0000000..1010b8a --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/solar_energy.json @@ -0,0 +1,11 @@ +{ + "type": "origins:resource", + "min": 0, + "max": 400, + "start_value": 10, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_01.png", + "bar_index": 14 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/monarchpowers/sun_fueled.json b/src/main/resources/data/gamerorigins/powers/monarchpowers/sun_fueled.json new file mode 100644 index 0000000..373aad6 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/monarchpowers/sun_fueled.json @@ -0,0 +1,13 @@ +{ +"condition": { + "type": "origins:daytime" + }, + "type": "origins:action_over_time", + "interval": 40, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:monarchpowers/solar_energy", + "change": 10, + "operation": "add" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/closedeyes.json b/src/main/resources/data/gamerorigins/powers/muspowers/closedeyes.json new file mode 100644 index 0000000..997650b --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/closedeyes.json @@ -0,0 +1,71 @@ +{ + "type": "origins:multiple", + "hidden": true, + "eyesclosed": { + "type": "origins:action_over_time", + "interval": 10, + "condition": { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes" + }, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/fascination", + "change": 1 + } + }, + "eyesclosedshader": { + "type": "origins:shader", + "condition": { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes" + }, + "shader": "minecraft:shaders/post/sobel.json", + "toggleable": false + }, + "eyesclosedblindness": { + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:blindness", + "duration": 1000000, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + }, + "condition": { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes" + } + }, + "eyesopenvision": { + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:clear_effect", + "effect": "minecraft:blindness" + }, + "condition": { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + }, + "eyesopen": { + "type": "origins:action_over_time", + "interval": 20, + "condition": { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + }, + "entity_action": { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/reason", + "change": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/closeeyes.json b/src/main/resources/data/gamerorigins/powers/muspowers/closeeyes.json new file mode 100644 index 0000000..49ef7d9 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/closeeyes.json @@ -0,0 +1,7 @@ +{ + "type": "origins:toggle", + "active_by_default": false, + "key": { + "key": "key.origins.primary_active" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/fascination.json b/src/main/resources/data/gamerorigins/powers/muspowers/fascination.json new file mode 100644 index 0000000..f7e86f3 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/fascination.json @@ -0,0 +1,11 @@ +{ + "type": "origins:resource", + "min": 0, + "max": 100, + "start_value": 0, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/spiderkolo/resource_bar_02.png", + "bar_index": 24 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/fascinationeffects.json b/src/main/resources/data/gamerorigins/powers/muspowers/fascinationeffects.json new file mode 100644 index 0000000..5dd24ee --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/fascinationeffects.json @@ -0,0 +1,152 @@ +{ + "type": "origins:multiple", + "fascinationstrengthtwo": { + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": ">", + "compare_to": 75 + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 10, + "amplifier": 1, + "show_particles": false, + "show_icon": false + } + } + }, + "fascinationstrength": { + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": ">", + "compare_to": 50 + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 10, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + } + }, + "fascinationweakness": { + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": "<", + "compare_to": 26 + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:weakness", + "duration": 10, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + } + }, + "reasononeshader": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": ">", + "compare_to": 25 + }, + { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": "<", + "compare_to": 26 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:shader", + "shader": "minecraft:shaders/post/desaturate.json", + "toggleable": false + }, + "fascinationglow": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": ">", + "compare_to": 75 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes" + } + ] + }, + "type": "origins:entity_glow", + "use_teams": false + }, + "fascinationvision": { + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": ">", + "compare_to": 75 + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:night_vision", + "duration": 1000000, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + } + }, + "fascinationshake": { + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": ">", + "compare_to": 75 + }, + "type": "origins:shaking" + }, + "lowfascinationantivision": { + "type": "origins:action_over_time", + "interval": 1, + "entity_action": { + "type": "origins:clear_effect", + "effect": "minecraft:night_vision" + }, + "condition": { + "type": "origins:resource", + "resource": "gamerorigins:mus/fascination", + "comparison": "<", + "compare_to": 75 + } + } +} diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/flexibility.json b/src/main/resources/data/gamerorigins/powers/muspowers/flexibility.json new file mode 100644 index 0000000..fd5a80f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/flexibility.json @@ -0,0 +1,23 @@ +{ + "type": "origins:restrict_armor", + "head": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 2 + }, + "chest": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 5 + }, + "legs": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 4 + }, + "feet": { + "type": "origins:armor_value", + "comparison": ">", + "compare_to": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/lookwithin.json b/src/main/resources/data/gamerorigins/powers/muspowers/lookwithin.json new file mode 100644 index 0000000..2809c3f --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/lookwithin.json @@ -0,0 +1,72 @@ +{ + "type": "origins:active_self", + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "tag": "gamerorigins:blades" + } + } + }, + "cooldown": 200, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/spiderkolo/resource_bar_02.png", + "bar_index": 1 + }, + "key": "key.origins.secondary_active", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:play_sound", + "sound": "entity.goat.horn_break", + "volume": 1, + "pitch": 1 + }, + { + "type": "origins:play_sound", + "sound": "entity.goat.ram_impact", + "volume": 1, + "pitch": 1 + }, + { + "type": "origins:play_sound", + "sound": "entity.slime.squish", + "volume": 2, + "pitch": 0 + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/reason", + "change": -25 + }, + { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/fascination", + "change": 25 + }, + { + "type": "origins:damage", + "amount": 10, + "source": { + "name": "generic", + "bypasses_armor": true, + "unblockable": true + } + }, + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:slowness", + "duration": 60, + "amplifier": 4, + "show_icon": false, + "show_particles": false + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/mus_natural_armor.json b/src/main/resources/data/gamerorigins/powers/muspowers/mus_natural_armor.json new file mode 100644 index 0000000..2537231 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/mus_natural_armor.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Natural Armor health bonus", + "attribute": "minecraft:generic.armor", + "value": 8.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/no_villager.json b/src/main/resources/data/gamerorigins/powers/muspowers/no_villager.json new file mode 100644 index 0000000..863be1e --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/no_villager.json @@ -0,0 +1,17 @@ +{ + "type": "origins:prevent_entity_use", + "bientity_action": { + "type": "origins:actor_action", + "action": { + "type": "origins:execute_command", + "command": "title @s actionbar {\"text\": \"Their INSOLENCE is UNBEARABLE.\", \"color\": \"white\"}" + } + }, + "bientity_condition": { + "type": "origins:target_condition", + "condition": { + "type": "origins:entity_type", + "entity_type": "minecraft:villager" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/reason.json b/src/main/resources/data/gamerorigins/powers/muspowers/reason.json new file mode 100644 index 0000000..0f514ac --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/reason.json @@ -0,0 +1,11 @@ +{ + "type": "origins:resource", + "min": 0, + "max": 100, + "start_value": 100, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/spiderkolo/resource_bar_02.png", + "bar_index": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/muspowers/reasoneffects.json b/src/main/resources/data/gamerorigins/powers/muspowers/reasoneffects.json new file mode 100644 index 0000000..f9ebb3a --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/muspowers/reasoneffects.json @@ -0,0 +1,212 @@ +{ + "type": "origins:multiple", + "hidden": true, + "reasonfour": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": ">", + "compare_to": 75 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/fascination", + "change": -1 + }, + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:jump_boost", + "duration": 10, + "amplifier": 1, + "show_particles": false, + "show_icon": false + } + }, + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:speed", + "duration": 10, + "amplifier": 1, + "show_particles": false, + "show_icon": false + } + } + ] + } + }, + "reasonthree": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": ">", + "compare_to": 50 + }, + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": "<", + "compare_to": 76 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:action_over_time", + "interval": 10, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/fascination", + "change": -1 + } + ] + } + }, + "reasontwo": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": ">", + "compare_to": 25 + }, + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": "<", + "compare_to": 51 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:action_over_time", + "interval": 20, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:change_resource", + "resource": "gamerorigins:mus/fascination", + "change": -1 + } + ] + } + }, + "reasonone": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": "<", + "compare_to": 26 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:slowness", + "duration": 10, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + } + ] + } + }, + "reasononeshader": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": "<", + "compare_to": 26 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:shader", + "shader": "minecraft:shaders/post/deconverge.json", + "toggleable": false + }, + "reasonspeed": { + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:resource", + "resource": "gamerorigins:mus/reason", + "comparison": ">", + "compare_to": 50 + }, + { + "type": "origins:power_active", + "power": "gamerorigins:mus/closeeyes", + "inverted": true + } + ] + }, + "type": "origins:action_over_time", + "interval": 5, + "entity_action": { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:speed", + "duration": 10, + "amplifier": 0, + "show_particles": false, + "show_icon": false + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_blind.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_blind.json new file mode 100644 index 0000000..e3e7dd3 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_blind.json @@ -0,0 +1,34 @@ +{ + "type": "origins:stacking_status_effect", + "min_stacks": 0, + "max_stacks": 1, + "duration_per_stack": 35, + "effect": { + "effect": "blindness", + "duration": 35, + "amplifier": 2, + "is_abient": true, + "show_particles": false, + "show_icon": false + }, + "interval": 60, + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:block_in_radius", + "radius": 1, + "inverted": true, + "block_condition": { + "type": "origins:in_tag", + "tag": "gamerorigins:mushrooms" + } + }, + { + "type": "origins:status_effect", + "effect": "minecraft:night_vision", + "inverted": true + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_echolocate.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_echolocate.json new file mode 100644 index 0000000..5f66876 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_echolocate.json @@ -0,0 +1,94 @@ +{ + "type": "origins:active_self", + "cooldown": 600, + "hud_render": { + "should_render":true, + "sprite_location":"origins:textures/gui/community/spiderkolo/resource_bar_02.png", + "bar_index": 7 + }, + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:if_else", + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "item": "minecraft:fermented_spider_eye" + } + } + } + ] + }, + + "if_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:execute_command", + "command": "effect give @s minecraft:night_vision 60 0 true", + "permission_level": 4 + }, + { + "type": "origins:execute_command", + "command": "clear @s minecraft:fermented_spider_eye 1", + "permission_level": 4 + }, + { + "type": "origins:execute_command", + "command": "playsound block.block.conduit.attack.target master @e[distance=..15] ~ ~ ~ 10 1 1", + "permission_level": 4 + } + ] + }, + + "else_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:execute_command", + "command": "playsound block.conduit.attack.target master @p[distance=..15] ~ ~ ~ 10 1 1", + "permission_level": 4 + }, + { + "type": "origins:execute_command", + "command": "effect give @p minecraft:night_vision 5 1 true", + "permission_level": 4 + } + ], + "cooldown": 20, + "hud_render": { + "should_render": false, + "sprite_location": "origins:textures/gui/resource_bar.png", + "bar_index": 4 + } + } + + } + ] + }, + "condition": { + "type": "origins:and", + "conditions": [ + { + "type": "origins:block_in_radius", + "radius": 4, + "inverted": true, + "block_condition": { + "type": "origins:in_tag", + "tag": "gamerorigins:wool" + } + } + ] + }, + "key": { + "key":"key.playerlist", + "continuous": false + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_natural_armour.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_natural_armour.json new file mode 100644 index 0000000..e7953b4 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_natural_armour.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Natural Armor health bonus", + "attribute": "minecraft:generic.armor", + "value": 12.0, + "operation": "addition" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage.json new file mode 100755 index 0000000..3892832 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage.json @@ -0,0 +1,25 @@ +{ + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:strength", + "duration": 400, + "amplifier": 3.23 + } + }, + { + "type": "origins:exhaust", + "amount": 1.2134563 + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/ability_bar.png", + "bar_index": "0" + } +} diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_addition.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_addition.json new file mode 100755 index 0000000..eb02281 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_addition.json @@ -0,0 +1,22 @@ +{ + "type": "origins:active_self", + "hidden": "true", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:speed", + "duration": 400, + "amplifier": 1 + } + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/nothing.png", + "bar_index": "0" + } + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_dummy.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_dummy.json new file mode 100755 index 0000000..05d621b --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_rage_dummy.json @@ -0,0 +1,22 @@ +{ + "type": "origins:active_self", + "hidden": "true", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:apply_effect", + "effect": { + "effect": "minecraft:instant_health", + "duration": 3, + "amplifier": 1 + } + } + ] + }, + "cooldown": 2400, + "hud_render": { + "sprite_location": "gamerorigins:textures/gui/nothing.png", + "bar_index": "0" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_strong.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_strong.json new file mode 100644 index 0000000..260b411 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_strong.json @@ -0,0 +1,13 @@ +{ + "type": "origins:attribute", + "modifiers": + [ + { + "name": "Strong damage", + "attribute": "generic.attack_damage", + "value": 3.0, + "operation": "addition" + } + ] + +} diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_tailwind.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_tailwind.json new file mode 100644 index 0000000..6ba8f7c --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_tailwind.json @@ -0,0 +1,9 @@ +{ + "type": "origins:attribute", + "modifier": { + "name": "Tailwind speed bonus", + "attribute": "minecraft:generic.movement_speed", + "value": 0.10, + "operation": "multiply_base" + } + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/myncpowers/mync_vision.json b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_vision.json new file mode 100644 index 0000000..82f93b1 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/myncpowers/mync_vision.json @@ -0,0 +1,5 @@ +{ + "type": "origins:shader", + "shader": "gamerorigins:shaders/post/sobel.json", + "toggleable": false +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/pockets.json b/src/main/resources/data/gamerorigins/powers/pockets.json new file mode 100644 index 0000000..67bcd0a --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/pockets.json @@ -0,0 +1,6 @@ +{ + "type": "origins:inventory", + "container_type": "chest", + "title": "gamer.container.inventory_power", + "key": "quaternary" +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/teleport.json b/src/main/resources/data/gamerorigins/powers/teleport.json new file mode 100644 index 0000000..7880336 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/teleport.json @@ -0,0 +1,85 @@ +{ + "type": "origins:active_self", + "entity_action": { + "type": "origins:and", + "actions": [ + { + "type": "origins:delay", + "action": { + "type": "origins:raycast", + "distance": 50, + "block": true, + "entity": true, + "shape_type": "visual", + "fluid_handling": "any", + "hit_action": { + "type": "origins:set_fall_distance", + "fall_distance": 0.25 + }, + "miss_action": { + "type": "origins:play_sound", + "sound": "entity.elder_guardian.curse", + "volume": 1, + "pitch": 2 + }, + "command_at_hit": "tp @s ~0.1 ~2.9 ~-0.1", + "command_along_ray": "particle minecraft:electric_spark", + "command_step": 0.75 + }, + "ticks": 20 + }, + { + "type": "origins:apply_effect", + "effects": [ + { + "effect": "blindness", + "duration": 50, + "amplifier": 10, + "show_particles": false, + "show_icon": false + }, + { + "effect": "darkness", + "duration": 50, + "amplifier": 10, + "show_particles": false, + "show_icon": false + } + ] + }, + { + "type": "origins:delay", + "action": { + "type": "origins:execute_command", + "command": "tp @s ~0.5 ~0.5 ~0.5" + }, + "ticks": 15 + }, + { + "type": "origins:play_sound", + "sound": "entity.illusioner.cast_spell", + "volume": 1, + "pitch": 1 + }, + { + "type": "origins:delay", + "action": { + "type": "origins:play_sound", + "sound": "entity.illusioner.cast_spell", + "volume": 1, + "pitch": 2 + }, + "ticks": 20 + } + ] + }, + "cooldown": 40, + "hud_render": { + "should_render": true, + "sprite_location": "origins:textures/gui/community/huang/resource_bar_02.png", + "bar_index": 5 + }, + "key": { + "key": "secondary" + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/powers/water_vulnerability_ex.json b/src/main/resources/data/gamerorigins/powers/water_vulnerability_ex.json new file mode 100755 index 0000000..934a862 --- /dev/null +++ b/src/main/resources/data/gamerorigins/powers/water_vulnerability_ex.json @@ -0,0 +1,28 @@ +{ + "type": "origins:damage_over_time", + "interval": 10, + "onset_delay": 50, + "damage": 1.5, + "damage_easy": 1, + "damage_source": { + "name": "boil_in_water", + "unblockable": true, + "bypasses_armor": true + }, + "protection_enchantment": "origins:water_protection", + "protection_effectiveness": 0.5, + "condition": { + "type": "origins:or", + "conditions": [ + { + "type": "origins:fluid_height", + "fluid": "minecraft:water", + "comparison": ">", + "compare_to": 0.0 + }, + { + "type": "origins:in_rain" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/recipes/umbrella.json b/src/main/resources/data/gamerorigins/recipes/umbrella.json new file mode 100644 index 0000000..a1b116a --- /dev/null +++ b/src/main/resources/data/gamerorigins/recipes/umbrella.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "#P#", + " / " + ], + "key": { + "#": { + "item": "minecraft:leather" + }, + "/": { + "item": "minecraft:stick" + }, + "P": { + "item": "minecraft:netherite_scrap" + } + }, + "result": { + "item": "gamerorigins:umbrella", + "count": 1 + } + } \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/bees.json b/src/main/resources/data/gamerorigins/tags/blocks/bees.json new file mode 100644 index 0000000..d73dac5 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/bees.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": + [ + "minecraft:bee_nest", + "minecraft:beehive", + "minecraft:honeycomb_block", + "minecraft:honey_block" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/hexblade_unphaseable.json b/src/main/resources/data/gamerorigins/tags/blocks/hexblade_unphaseable.json new file mode 100644 index 0000000..97fb5ed --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/hexblade_unphaseable.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": + [ + "minecraft:soul_sand", + "minecraft:soul_soil", + "minecraft:bedrock", + "minecraft:barrier" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/hot_blocks.json b/src/main/resources/data/gamerorigins/tags/blocks/hot_blocks.json new file mode 100644 index 0000000..33beb94 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/hot_blocks.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": + [ + "minecraft:campfire", + "minecraft:soul_campfire", + "minecraft:lava", + "minecraft:magma_block", + "minecraft:fire", + "minecraft:soul_fire" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/mushrooms.json b/src/main/resources/data/gamerorigins/tags/blocks/mushrooms.json new file mode 100644 index 0000000..efd53dd --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/mushrooms.json @@ -0,0 +1,19 @@ +{ + "replace": false, + "values": + [ + "minecraft:mycelium", + "minecraft:crimson_nylium", + "minecraft:warped_nylium", + "minecraft:brown_mushroom", + "minecraft:red_mushroom", + "minecraft:brown_mushroom_block", + "minecraft:red_mushroom_block", + "minecraft:mushroom_stem", + "minecraft:crimson_fungus", + "minecraft:warped_fungus", + "minecraft:nether_wart", + "minecraft:nether_wart_block", + "minecraft:warped_wart_block" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/myceliums.json b/src/main/resources/data/gamerorigins/tags/blocks/myceliums.json new file mode 100644 index 0000000..4073d7e --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/myceliums.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": + [ + "minecraft:mycelium", + "minecraft:crimson_nylium", + "minecraft:warped_nylium" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/nature.json b/src/main/resources/data/gamerorigins/tags/blocks/nature.json new file mode 100644 index 0000000..ca2703f --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/nature.json @@ -0,0 +1,35 @@ +{ + "replace": false, + "values": + [ + "minecraft:oak_log", + "minecraft:spruce_log", + "minecraft:birch_log", + "minecraft:jungle_log", + "minecraft:acacia_log", + "minecraft:dark_oak_log", + "minecraft:stripped_oak_log", + "minecraft:stripped_spruce_log", + "minecraft:stripped_birch_log", + "minecraft:stripped_jungle_log", + "minecraft:stripped_acacia_log", + "minecraft:stripped_dark_oak_log", + "minecraft:oak_sapling", + "minecraft:spruce_sapling", + "minecraft:birch_sapling", + "minecraft:jungle_sapling", + "minecraft:acacia_sapling", + "minecraft:dark_oak_sapling", + "minecraft:oak_leaves", + "minecraft:spruce_leaves", + "minecraft:birch_leaves", + "minecraft:jungle_leaves", + "minecraft:acacia_leaves", + "minecraft:dark_oak_leaves", + "minecraft:bamboo", + "minecraft:grass_block", + "minecraft:lily_pad", + "minecraft:vine", + "minecraft:cactus" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/non_solid.json b/src/main/resources/data/gamerorigins/tags/blocks/non_solid.json new file mode 100644 index 0000000..bc37559 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/non_solid.json @@ -0,0 +1,62 @@ +{ + "replace": false, + "values": [ + "#minecraft:saplings", + "#minecraft:flowers", + "#minecraft:climbable", + "#minecraft:bee_growables", + "#minecraft:fire", + "#minecraft:rails", + "#minecraft:wool_carpets", + "#minecraft:underwater_bonemeals", + "#minecraft:buttons", + "minecraft:air", + "minecraft:water", + "minecraft:lava", + "minecraft:brown_mushroom", + "minecraft:red_mushroom", + "minecraft:sugar_cane", + "minecraft:nether_wart", + "minecraft:crimson_fungus", + "minecraft:warped_fungus", + "minecraft:grass", + "minecraft:tall_grass", + "minecraft:fern", + "minecraft:large_fern", + "minecraft:dead_bush", + "minecraft:crimson_roots", + "minecraft:warped_roots", + "minecraft:nether_sprouts", + "minecraft:tall_seagrass", + "minecraft:kelp_plant", + "minecraft:sea_pickle", + "minecraft:torch", + "minecraft:soul_torch", + "minecraft:wall_torch", + "minecraft:soul_wall_torch", + "minecraft:redstone_wire", + "minecraft:repeater", + "minecraft:comparator", + "minecraft:lever", + "minecraft:tripwire_hook", + "minecraft:tripwire", + "minecraft:snow", + "minecraft:dead_tube_coral", + "minecraft:dead_brain_coral", + "minecraft:dead_bubble_coral", + "minecraft:dead_fire_coral", + "minecraft:dead_horn_coral", + "minecraft:dead_tube_coral_fan", + "minecraft:dead_brain_coral_fan", + "minecraft:dead_bubble_coral_fan", + "minecraft:dead_fire_coral_fan", + "minecraft:dead_horn_coral_fan", + "minecraft:dead_tube_coral_wall_fan", + "minecraft:dead_brain_coral_wall_fan", + "minecraft:dead_bubble_coral_wall_fan", + "minecraft:dead_fire_coral_wall_fan", + "minecraft:dead_horn_coral_wall_fan", + "minecraft:bamboo_sapling", + "minecraft:moss_carpet" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/ocean_monument.json b/src/main/resources/data/gamerorigins/tags/blocks/ocean_monument.json new file mode 100644 index 0000000..a08e3ec --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/ocean_monument.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": + [ + "minecraft:prismarine", + "minecraft:dark_prismarine", + "minecraft:prismarine_bricks", + "minecraft:sea_lantern", + "minecraft:prismarine_bricks", + "minecraft:prismarine_stairs", + "minecraft:prismarine_brick_stairs", + "minecraft:dark_prismarine_stairs", + "minecraft:prismarine_wall", + "minecraft:prismarine_slab", + "minecraft:prismarine_brick_slab", + "minecraft:dark_prismarine_slab" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/path_blocks.json b/src/main/resources/data/gamerorigins/tags/blocks/path_blocks.json new file mode 100644 index 0000000..d72689c --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/path_blocks.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": + [ + "minecraft:dirt_path", + "minecraft:cobblestone", + "minecraft:gravel", + "minecraft:sandstone", + "minecraft:red_sandstone", + "minecraft:coarse_dirt" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/stone_types.json b/src/main/resources/data/gamerorigins/tags/blocks/stone_types.json new file mode 100644 index 0000000..4ea11b3 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/stone_types.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": + [ + "minecraft:stone", + "minecraft:granite", + "minecraft:diorite", + "minecraft:andesite", + "minecraft:netherrack" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/valuores.json b/src/main/resources/data/gamerorigins/tags/blocks/valuores.json new file mode 100644 index 0000000..f7d5389 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/valuores.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": + [ + "minecraft:diamond_ore", + "minecraft:ancient_debris", + "minecraft:emerald_ore", + "minecraft:gold_ore" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/blocks/wool.json b/src/main/resources/data/gamerorigins/tags/blocks/wool.json new file mode 100644 index 0000000..f1e3e3e --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/blocks/wool.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": + [ + "minecraft:white_wool", + "minecraft:orange_wool", + "minecraft:magenta_wool", + "minecraft:light_blue_wool", + "minecraft:yellow_wool", + "minecraft:lime_wool", + "minecraft:pink_wool", + "minecraft:gray_wool", + "minecraft:light_gray_wool", + "minecraft:cyan_wool", + "minecraft:purple_wool", + "minecraft:blue_wool", + "minecraft:brown_wool", + "minecraft:green_wool", + "minecraft:red_wool", + "minecraft:black_wool" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/items/blades.json b/src/main/resources/data/gamerorigins/tags/items/blades.json new file mode 100644 index 0000000..ebe8b87 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/items/blades.json @@ -0,0 +1,10 @@ +{ + "values": [ + "diamond_sword", + "netherite_sword", + "iron_sword", + "golden_sword", + "stone_sword", + "wooden_sword" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/items/break.json b/src/main/resources/data/gamerorigins/tags/items/break.json new file mode 100644 index 0000000..b99c982 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/items/break.json @@ -0,0 +1,20 @@ +{ + "replace": false, + "values": [ + "minecraft:wooden_sword", + "minecraft:wooden_pickaxe", + "minecraft:wooden_axe", + "minecraft:wooden_shovel", + "minecraft:wooden_hoe", + "minecraft:stone_sword", + "minecraft:stone_pickaxe", + "minecraft:stone_axe", + "minecraft:stone_shovel", + "minecraft:stone_hoe", + "minecraft:bow", + "minecraft:crossbow", + "minecraft:fishing_rod", + "minecraft:carrot_on_a_stick", + "minecraft:warped_fungus_on_a_stick" + ] +} diff --git a/src/main/resources/data/gamerorigins/tags/items/giweapons.json b/src/main/resources/data/gamerorigins/tags/items/giweapons.json new file mode 100644 index 0000000..5630de3 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/items/giweapons.json @@ -0,0 +1,12 @@ +{ + "values": [ + "gameritems:omnium_sword", + "gameritems:orium_sword", + "gameritems:jeremium_sword", + "gameritems:stupidium_sword", + "gameritems:omnium_axe", + "gameritems:orium_axe", + "gameritems:jeremium_axe", + "gameritems:stupidium_axe" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/gamerorigins/tags/items/unobtainable.json b/src/main/resources/data/gamerorigins/tags/items/unobtainable.json new file mode 100755 index 0000000..6e01781 --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/items/unobtainable.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "origins:orb_of_origin" + ] +} diff --git a/src/main/resources/data/gamerorigins/tags/items/weapons.json b/src/main/resources/data/gamerorigins/tags/items/weapons.json new file mode 100644 index 0000000..bbaebaa --- /dev/null +++ b/src/main/resources/data/gamerorigins/tags/items/weapons.json @@ -0,0 +1,16 @@ +{ + "values": [ + "minecraft:wooden_sword", + "minecraft:stone_sword", + "minecraft:iron_sword", + "minecraft:golden_sword", + "minecraft:diamond_sword", + "minecraft:netherite_sword", + "minecraft:wooden_axe", + "minecraft:stone_axe", + "minecraft:iron_axe", + "minecraft:golden_axe", + "minecraft:diamond_axe", + "minecraft:netherite_axe" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/origins/origin_layers/origin.json b/src/main/resources/data/origins/origin_layers/origin.json new file mode 100644 index 0000000..ab77d78 --- /dev/null +++ b/src/main/resources/data/origins/origin_layers/origin.json @@ -0,0 +1,26 @@ +{ + "replace": false, + "origins": [ + "gamerorigins:mync", + "gamerorigins:lato", + "gamerorigins:immortal_human", + "gamerorigins:kefflade", + "gamerorigins:monarch", + "gamerorigins:mus", + { + "condition": { + "type": "origins:equipped_item", + "equipment_slot": "mainhand", + "item_condition": { + "type": "origins:ingredient", + "ingredient": { + "tag": "gamerorigins:unobtainable" + } + } + }, + "origins": [ + + ] + } + ] + } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..435363c --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,40 @@ +{ + "schemaVersion": 1, + "id": "gamerorigins", + "provides": [ + "extrakeybinds" + ], + "version": "${version}", + "name": "GamerOrigins", + "description": "Adds Gæmer origins", + "authors": [ + "Gæmer" + ], + "contact": { + "issues": "https://github.com/RyanTLG/GamerOrigins/issues", + "repo": "https://github.com/RyanTLG/GamerOrigins" + }, + "license": "Custom License", + "icon": "assets/dwayne.png", + "environment": "*", + "entrypoints": { + "main": [ + "net.arcmods.gamer.gamerorigins.Gamer" + ], + "client": [ + "net.arcmods.gamer.gamerorigins.client.GamerKeybinds", + "net.arcmods.gamer.gamerorigins.client.layerRenderer" + ] + }, + "mixins": [ + "gamer.mixins.json" + ], + "depends": { + "origins": ">=1.10.0", + "fabricloader": ">=0.14.0", + "fabric": "*", + "minecraft": "1.20.1" + }, + "conflicts": { + } +} diff --git a/src/main/resources/gamer.mixins.json b/src/main/resources/gamer.mixins.json new file mode 100644 index 0000000..e68cbb8 --- /dev/null +++ b/src/main/resources/gamer.mixins.json @@ -0,0 +1,13 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "net.arcmods.gamer.gamerorigins.mixin", + "compatibilityLevel": "JAVA_16", + "mixins": [ + "PlayerConditionsMixin", + "PlayerEntityMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..8bf0ff1 --- /dev/null +++ b/todo.md @@ -0,0 +1,8 @@ +# religion +# daevite religion + -Hates creation. (can't craft) + -Worshipper of the Daevas + -Blessing of the Daevas(higher health, natural armour etc.) + -Call to the Daevas(potion buffs, strength, speed etc.) + -Master of the dark arts (magic shit idk) + -Self Destruct(Nuclear scale explosion, becomes regular human) \ No newline at end of file