From 7a8bd00a7effc8342f477008a82d45381077ddc8 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Sun, 5 Apr 2026 22:31:39 -0300 Subject: [PATCH] feat: inital commit release --- .envrc | 4 + .gitea/workflows/publish.yaml | 27 + .gitignore | 2 + .meta/blockbench/bunny_ears.bbmodel | 1 + .meta/blockbench/bunny_ears.json | 225 +++ .meta/blockbench/bunny_ears.png | Bin 0 -> 565 bytes .meta/scripts/generate_from_textures.js | 276 ++++ .meta/scripts/spawner_overlay.png | Bin 0 -> 283 bytes EXAMPLE.env | 2 + VERSION | 1 + assets/minecraft/items/carrot.json | 34 + assets/minecraft/items/golden_carrot.json | 34 + assets/minecraft/items/rabbit_spawn_egg.json | 331 ++++ assets/sixsides_easter_eggs/lang/en_us.json | 16 + assets/sixsides_easter_eggs/lang/pt_br.json | 16 + assets/sixsides_easter_eggs/lang/pt_pt.json | 16 + .../models/item/bunny_ears.json | 226 +++ .../models/item/chocolate_bar.json | 7 + .../models/item/easter_egg_1.json | 6 + .../models/item/easter_egg_1_spawner.json | 6 + .../models/item/easter_egg_2.json | 6 + .../models/item/easter_egg_2_spawner.json | 6 + .../models/item/easter_egg_3.json | 6 + .../models/item/easter_egg_3_spawner.json | 6 + .../models/item/easter_egg_4.json | 6 + .../models/item/easter_egg_4_spawner.json | 6 + .../models/item/easter_egg_5.json | 6 + .../models/item/easter_egg_5_spawner.json | 6 + .../models/item/easter_egg_6.json | 6 + .../models/item/easter_egg_6_spawner.json | 6 + .../models/item/easter_egg_7.json | 6 + .../models/item/easter_egg_7_spawner.json | 6 + .../models/item/easter_egg_8.json | 6 + .../models/item/easter_egg_8_spawner.json | 6 + .../models/item/easter_egg_9.json | 6 + .../models/item/easter_egg_9_spawner.json | 6 + .../models/item/easter_egg_chicken.json | 6 + .../item/easter_egg_chicken_spawner.json | 6 + .../models/item/easter_egg_ender_dragon.json | 6 + .../item/easter_egg_ender_dragon_spawner.json | 6 + .../models/item/easter_egg_majordomo.json | 6 + .../item/easter_egg_majordomo_spawner.json | 6 + .../item/easter_egg_nether_creature.json | 6 + .../easter_egg_nether_creature_spawner.json | 6 + .../models/item/easter_egg_warden.json | 6 + .../item/easter_egg_warden_spawner.json | 6 + .../textures/item/bunny_ears.png | Bin 0 -> 565 bytes .../textures/item/chocolate_bar.png | Bin 0 -> 517 bytes .../textures/item/easter_egg_1.png | Bin 0 -> 305 bytes .../textures/item/easter_egg_1_spawner.png | Bin 0 -> 380 bytes .../textures/item/easter_egg_2.png | Bin 0 -> 341 bytes .../textures/item/easter_egg_2_spawner.png | Bin 0 -> 390 bytes .../textures/item/easter_egg_3.png | Bin 0 -> 303 bytes .../textures/item/easter_egg_3_spawner.png | Bin 0 -> 315 bytes .../textures/item/easter_egg_4.png | Bin 0 -> 357 bytes .../textures/item/easter_egg_4_spawner.png | Bin 0 -> 410 bytes .../textures/item/easter_egg_5.png | Bin 0 -> 279 bytes .../textures/item/easter_egg_5_spawner.png | Bin 0 -> 342 bytes .../textures/item/easter_egg_6.png | Bin 0 -> 344 bytes .../textures/item/easter_egg_6_spawner.png | Bin 0 -> 401 bytes .../textures/item/easter_egg_7.png | Bin 0 -> 333 bytes .../textures/item/easter_egg_7_spawner.png | Bin 0 -> 341 bytes .../textures/item/easter_egg_8.png | Bin 0 -> 280 bytes .../textures/item/easter_egg_8_spawner.png | Bin 0 -> 291 bytes .../textures/item/easter_egg_9.png | Bin 0 -> 359 bytes .../textures/item/easter_egg_9_spawner.png | Bin 0 -> 397 bytes .../textures/item/easter_egg_chicken.png | Bin 0 -> 376 bytes .../item/easter_egg_chicken_spawner.png | Bin 0 -> 410 bytes .../textures/item/easter_egg_ender_dragon.png | Bin 0 -> 393 bytes .../item/easter_egg_ender_dragon_spawner.png | Bin 0 -> 442 bytes .../textures/item/easter_egg_majordomo.png | Bin 0 -> 340 bytes .../item/easter_egg_majordomo_spawner.png | Bin 0 -> 403 bytes .../item/easter_egg_nether_creature.png | Bin 0 -> 461 bytes .../easter_egg_nether_creature_spawner.png | Bin 0 -> 462 bytes .../textures/item/easter_egg_warden.png | Bin 0 -> 449 bytes .../item/easter_egg_warden_spawner.png | Bin 0 -> 499 bytes data/minecraft/tags/function/load.json | 4 + data/minecraft/tags/function/tick.json | 4 + .../function/all_items.mcfunction | 4 + .../function/load.mcfunction | 1 + .../function/tick.mcfunction | 2 + .../loot_table/items/bunny_ears.json | 48 + .../loot_table/items/chocolate_bar.json | 43 + .../loot_table/items/easter_egg_loot.json | 66 + .../loot_table/items/easter_egg_spawners.json | 1447 +++++++++++++++++ .../loot_table/items/easter_eggs.json | 845 ++++++++++ flake.lock | 27 + flake.nix | 61 + makefile | 25 + pack.mcmeta | 27 + result | 1 + 91 files changed, 3991 insertions(+) create mode 100644 .envrc create mode 100644 .gitea/workflows/publish.yaml create mode 100644 .gitignore create mode 100644 .meta/blockbench/bunny_ears.bbmodel create mode 100644 .meta/blockbench/bunny_ears.json create mode 100644 .meta/blockbench/bunny_ears.png create mode 100644 .meta/scripts/generate_from_textures.js create mode 100644 .meta/scripts/spawner_overlay.png create mode 100644 EXAMPLE.env create mode 100644 VERSION create mode 100644 assets/minecraft/items/carrot.json create mode 100644 assets/minecraft/items/golden_carrot.json create mode 100644 assets/minecraft/items/rabbit_spawn_egg.json create mode 100644 assets/sixsides_easter_eggs/lang/en_us.json create mode 100644 assets/sixsides_easter_eggs/lang/pt_br.json create mode 100644 assets/sixsides_easter_eggs/lang/pt_pt.json create mode 100644 assets/sixsides_easter_eggs/models/item/bunny_ears.json create mode 100644 assets/sixsides_easter_eggs/models/item/chocolate_bar.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_1.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_1_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_2.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_2_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_3.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_3_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_4.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_4_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_5.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_5_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_6.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_6_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_7.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_7_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_8.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_8_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_9.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_9_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_chicken.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_chicken_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_ender_dragon.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_ender_dragon_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_majordomo.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_majordomo_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_nether_creature.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_nether_creature_spawner.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_warden.json create mode 100644 assets/sixsides_easter_eggs/models/item/easter_egg_warden_spawner.json create mode 100644 assets/sixsides_easter_eggs/textures/item/bunny_ears.png create mode 100644 assets/sixsides_easter_eggs/textures/item/chocolate_bar.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_1.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_1_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_2.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_2_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_3.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_3_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_4.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_4_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_5.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_5_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_6.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_6_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_7.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_7_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_8.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_8_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_9.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_9_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_chicken.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_chicken_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_majordomo.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_majordomo_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_nether_creature.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_nether_creature_spawner.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_warden.png create mode 100644 assets/sixsides_easter_eggs/textures/item/easter_egg_warden_spawner.png create mode 100644 data/minecraft/tags/function/load.json create mode 100644 data/minecraft/tags/function/tick.json create mode 100644 data/sixsides_easter_eggs/function/all_items.mcfunction create mode 100644 data/sixsides_easter_eggs/function/load.mcfunction create mode 100644 data/sixsides_easter_eggs/function/tick.mcfunction create mode 100644 data/sixsides_easter_eggs/loot_table/items/bunny_ears.json create mode 100644 data/sixsides_easter_eggs/loot_table/items/chocolate_bar.json create mode 100644 data/sixsides_easter_eggs/loot_table/items/easter_egg_loot.json create mode 100644 data/sixsides_easter_eggs/loot_table/items/easter_egg_spawners.json create mode 100644 data/sixsides_easter_eggs/loot_table/items/easter_eggs.json create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 makefile create mode 100644 pack.mcmeta create mode 120000 result diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..651bf68 --- /dev/null +++ b/.envrc @@ -0,0 +1,4 @@ +if ! has nix_direnv_version || ! nix_direnv_version 3.0.4; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.4/direnvrc" "sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4=" +fi +use flake diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml new file mode 100644 index 0000000..f3fb446 --- /dev/null +++ b/.gitea/workflows/publish.yaml @@ -0,0 +1,27 @@ +name: Publish +on: + push: + +jobs: + publish: + runs-on: node-latest + steps: + - name: Checkout + uses: https://gitea.com/actions/checkout@v4 + + - name: Install Nix + uses: https://github.com/cachix/install-nix-action@v31 + + - name: Build + run: nix build . + + - name: Rename + run: mv ./result ./SixSides\ Easter\ Eggs\ ($(cat VERSION)).zip + + - name: Publish + uses: https://gitea.com/actions/gitea-release-action@v1 + with: + name: Latest + tag_name: latest + files: |- + *.zip diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f00fed8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.direnv +.env diff --git a/.meta/blockbench/bunny_ears.bbmodel b/.meta/blockbench/bunny_ears.bbmodel new file mode 100644 index 0000000..3b06643 --- /dev/null +++ b/.meta/blockbench/bunny_ears.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"5.0","model_format":"java_block","box_uv":false},"name":"bunny_ears","parent":"","java_block_version":"1.21.6","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"overrides":[],"resolution":{"width":16,"height":16},"elements":[{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[10,0,7],"to":[15,6,9],"autouv":0,"color":7,"rotation":[0,0,-15],"origin":[13,0,7],"faces":{"north":{"uv":[0,3,2.5,6],"texture":0},"east":{"uv":[0,6,1,9],"texture":0},"south":{"uv":[2.5,3,5,6],"texture":0},"west":{"uv":[6,0,7,3],"texture":0},"up":{"uv":[9.5,5,7,4],"texture":0},"down":{"uv":[9.5,5,7,6],"texture":0}},"type":"cube","uuid":"bac891ae-eebf-d13f-be3e-09d95a6567c2"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[12.4,4.7,7.2],"to":[14.4,10,9.2],"autouv":0,"color":7,"rotation":[-32.5,0,-15],"origin":[14.4,5,7.2],"faces":{"north":{"uv":[6.5,6.5,7.5,9],"texture":0},"east":{"uv":[8,0,7,2.5],"texture":0},"south":{"uv":[1,7,2,9.5],"texture":0},"west":{"uv":[2,7,3,9.5],"texture":0},"up":{"uv":[7,10,6,9],"texture":0},"down":{"uv":[9.5,9,8.5,10],"texture":0}},"type":"cube","uuid":"bc4c2936-71cf-82de-1f3a-76abdfc89528"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[11.4,4.7,7.2],"to":[12.4,8,9.2],"autouv":0,"color":7,"rotation":[-32.5,0,-15],"origin":[14.4,5,7.2],"faces":{"north":{"uv":[1,9.5,1.5,11],"texture":0},"east":{"uv":[8.5,6,9.5,7.5],"texture":0},"south":{"uv":[1.5,9.5,2,11],"texture":0},"west":{"uv":[8.5,7.5,9.5,9],"texture":0},"up":{"uv":[10,5,9.5,4],"texture":0},"down":{"uv":[10,5,9.5,6],"texture":0}},"type":"cube","uuid":"e4312773-8f5d-0158-f878-cf327e3550b5"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[13.7,4,6.8],"to":[15.7,8,8.5],"autouv":0,"color":7,"rotation":[-32.5,0,-15],"origin":[17.7,5,7.2],"faces":{"north":{"uv":[7.5,8,8.5,10],"texture":0},"east":{"uv":[0.5,9,1,11],"texture":0},"south":{"uv":[8.5,2,9.5,4],"texture":0},"west":{"uv":[5.5,9,6,11],"texture":0},"up":{"uv":[10.5,3.5,9.5,3],"texture":0},"down":{"uv":[10.5,3.5,9.5,4],"texture":0}},"type":"cube","uuid":"965e710c-ec8d-2cb5-ff98-303356092c4d"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[0.3,4,6.8],"to":[2.3,8,8.5],"autouv":0,"color":7,"rotation":[-32.5,0,15],"origin":[-1.7,5,7.2],"faces":{"north":{"uv":[7.5,6,8.5,8],"texture":0},"east":{"uv":[5,8.5,5.5,10.5],"texture":0},"south":{"uv":[8,0,9,2],"texture":0},"west":{"uv":[0,9,0.5,11],"texture":0},"up":{"uv":[8,3,7,2.5],"texture":0},"down":{"uv":[3,9.5,2,10],"texture":0}},"type":"cube","uuid":"d9baaed2-c50b-0594-8dd1-9543ac29cd72"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[3.6,4.7,7.2],"to":[4.6,8,9.2],"autouv":0,"color":7,"rotation":[-32.5,0,15],"origin":[1.6,5,7.2],"faces":{"north":{"uv":[3,7,3.5,8.5],"texture":0},"east":{"uv":[3,8.5,4,10],"texture":0},"south":{"uv":[7,9,7.5,10.5],"texture":0},"west":{"uv":[4,8.5,5,10],"texture":0},"up":{"uv":[8.5,3,8,2],"texture":0},"down":{"uv":[10,2,9.5,3],"texture":0}},"type":"cube","uuid":"c9a6cfef-be2f-2607-d922-93dd147c443c"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[1.6,4.7,7.2],"to":[3.6,10,9.2],"autouv":0,"color":7,"rotation":[-32.5,0,15],"origin":[1.6,5,7.2],"faces":{"north":{"uv":[3.5,6,4.5,8.5],"texture":0},"east":{"uv":[6,4,7,6.5],"texture":0},"south":{"uv":[4.5,6,5.5,8.5],"texture":0},"west":{"uv":[5.5,6.5,6.5,9],"texture":0},"up":{"uv":[10,1,9,0],"texture":0},"down":{"uv":[10,1,9,2],"texture":0}},"type":"cube","uuid":"5a03a8bd-8c83-17fe-fa14-e1d8bd4a7fdd"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[1,0,7],"to":[6,6,9],"autouv":0,"color":7,"rotation":[0,0,15],"origin":[3,0,7],"faces":{"north":{"uv":[0,0,2.5,3],"texture":0},"east":{"uv":[5,0,6,3],"texture":0},"south":{"uv":[2.5,0,5,3],"texture":0},"west":{"uv":[5,3,6,6],"texture":0},"up":{"uv":[3.5,7,1,6],"texture":0},"down":{"uv":[8.5,3,6,4],"texture":0}},"type":"cube","uuid":"42e6758a-4fe4-ba69-72ed-2523adc4fff3"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[0,-2,6],"to":[3,1,7],"autouv":0,"color":4,"rotation":[0,0,30],"origin":[0,-2,5],"faces":{"north":{"uv":[11,0,12.5,1.5],"texture":0},"east":{"uv":[12.5,0,13,1.5],"texture":0},"south":{"uv":[11,1.5,12.5,3],"texture":0},"west":{"uv":[12.5,1.5,13,3],"texture":0},"up":{"uv":[14.5,0.5,13,0],"texture":0},"down":{"uv":[14.5,0.5,13,1],"texture":0}},"type":"cube","uuid":"c0ea0fb0-f031-5fc8-cba2-197d3f62628a"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[2,1,6],"to":[3,2,7],"autouv":0,"color":4,"rotation":[0,0,30],"origin":[0,-2,5],"faces":{"north":{"uv":[13,1,13.5,1.5],"texture":0},"east":{"uv":[13,1.5,13.5,2],"texture":0},"south":{"uv":[13,2,13.5,2.5],"texture":0},"west":{"uv":[13.5,1,14,1.5],"texture":0},"up":{"uv":[14,2,13.5,1.5],"texture":0},"down":{"uv":[13.5,2.5,13,3],"texture":0}},"type":"cube","uuid":"7d1863d3-aafc-55ad-c45f-fabe918c7e53"},{"name":"cube","box_uv":false,"render_order":"default","rescale":false,"locked":false,"shade":true,"light_emission":0,"allow_mirror_modeling":true,"from":[3,0,6],"to":[4,1,7],"autouv":0,"color":4,"rotation":[0,0,30],"origin":[0,-2,5],"faces":{"north":{"uv":[13.5,2,14,2.5],"texture":0},"east":{"uv":[13.5,2.5,14,3],"texture":0},"south":{"uv":[11,3,11.5,3.5],"texture":0},"west":{"uv":[11.5,3,12,3.5],"texture":0},"up":{"uv":[12.5,3.5,12,3],"texture":0},"down":{"uv":[14.5,1,14,1.5],"texture":0}},"type":"cube","uuid":"143ca4e2-1bc6-6f31-2dc0-97a3b0017acc"}],"groups":[{"uuid":"f7d34ba9-0544-16e0-acb5-2ee530d41a63","export":true,"locked":false,"origin":[17.7,5,7.2],"rotation":[0,0,0],"color":0,"name":"group","children":[],"reset":false,"shade":true,"mirror_uv":false,"selected":false,"visibility":true,"autouv":0,"isOpen":true,"primary_selected":false},{"uuid":"2b42770c-a860-4b2a-cb94-bfdf4a766f12","export":true,"locked":false,"origin":[17.7,5,7.2],"rotation":[0,0,0],"color":0,"name":"group","children":[],"reset":false,"shade":true,"mirror_uv":false,"selected":false,"visibility":true,"autouv":0,"isOpen":true,"primary_selected":false},{"uuid":"2885e07a-2df0-8551-dd19-6734ef20949d","export":true,"locked":false,"origin":[1,0,5],"rotation":[0,0,0],"color":0,"name":"group","children":[],"reset":false,"shade":true,"mirror_uv":false,"selected":false,"visibility":true,"autouv":0,"isOpen":true,"primary_selected":false},{"uuid":"136b4670-0d25-84e4-5497-eda7588a5668","export":true,"locked":false,"origin":[17.7,5,7.2],"rotation":[0,0,0],"color":0,"name":"group","children":[],"reset":false,"shade":true,"mirror_uv":false,"selected":false,"visibility":true,"autouv":0,"isOpen":true,"primary_selected":false}],"outliner":[{"uuid":"136b4670-0d25-84e4-5497-eda7588a5668","isOpen":true,"children":[{"uuid":"2b42770c-a860-4b2a-cb94-bfdf4a766f12","isOpen":true,"children":["d9baaed2-c50b-0594-8dd1-9543ac29cd72","c9a6cfef-be2f-2607-d922-93dd147c443c","5a03a8bd-8c83-17fe-fa14-e1d8bd4a7fdd","42e6758a-4fe4-ba69-72ed-2523adc4fff3"]},{"uuid":"f7d34ba9-0544-16e0-acb5-2ee530d41a63","isOpen":true,"children":["965e710c-ec8d-2cb5-ff98-303356092c4d","e4312773-8f5d-0158-f878-cf327e3550b5","bc4c2936-71cf-82de-1f3a-76abdfc89528","bac891ae-eebf-d13f-be3e-09d95a6567c2"]}]},{"uuid":"2885e07a-2df0-8551-dd19-6734ef20949d","isOpen":true,"children":["7d1863d3-aafc-55ad-c45f-fabe918c7e53","143ca4e2-1bc6-6f31-2dc0-97a3b0017acc","c0ea0fb0-f031-5fc8-cba2-197d3f62628a"]}],"textures":[{"name":"bunny_ears.png","relative_path":"bunny_ears.png","folder":"","namespace":"","id":"0","group":"","width":32,"height":32,"uv_width":32,"uv_height":32,"particle":true,"use_as_default":false,"layers_enabled":false,"sync_to_project":"52db1ca0-6864-b140-9324-b6b455dc53a0","render_mode":"default","render_sides":"auto","pbr_channel":"color","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"08fbed2b-e8d7-4a6f-0ef8-27e75bc1b99e","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACWklEQVR4AeyUv2sUURDHZ1f8URxpwiYslhYpTGoRPYQEDy5VSiMK+h8Egk3Qzk5PrJLSRkIaIYWEcIUgCLaa2IhVqmgkiJAmCbrJZ7jZvN3s3u3mLinCHXzfzHxn3pu5eW/W39vejlarVQV6t5DW70Z9OPrz5VG0PzQUTfxsRO+/baiO3QpR4bNer1YF/N7cxOwJVut1qdRWZKc5KRMjG7J2qyEvdu8p3AS+JR2enVXebDVSCz6QojPNhWcDsvN0UhbuDKh/7fFHMSjRWrQDJP/VaMj/xUX5vr7eciWFm9jVk1FH1pPLS1J5viJIYJ6l118905G+JaQICJBOYDaxgJii+Pf5QdtQ7cCnZlPAj7GxOJikBkg3savja4cLN9+qe//vXZXpxb9dqwnYm58XgB6EoQRhEvBg5LBIYMUh3UOZImz++e7MjDy8H8rFrS3v3ZuXXrr9xGkHOIQpAJC9wJVrr7zK3FxmUvf8wlNAkWwMwmRngjCEjnFpcDDxyGJHjqKPkNfPFLgPMSveisjynZTTK2CzJeeBpRNhwxNngEvDfGWkFsDrZwqAbXYPNy5dhPHdyHgKeOGGIDx+z/jGp6fj+706OuoFYTKu7P1TuHYAJQ8fpqZil40YhKtjnxRaAO3OOsBN7vrzeDemqB6PYdENFterIrQDp/G4rNBOUr8DeUHjy8sC8vy94OMpKHMYRYEye/Ji9QrynGfB6yN0p4BZzoIVYz5s003ClUXhDpDEPTxtu74yus8XDXAgaLe5k7/d3jxf4Q7kHdAt3y+g34F+B85/Bzp9Jw4AAAD//4m8tJMAAAAGSURBVAMAGhpSUHuRlBEAAAAASUVORK5CYII="}],"display":{"thirdperson_righthand":{"rotation":[48.5,0,0],"translation":[0,1.5,2.5],"scale":[0.35742,0.35742,0.35742]},"thirdperson_lefthand":{"rotation":[48.5,0,0],"translation":[0,1.5,2.5],"scale":[0.35742,0.35742,0.35742]},"firstperson_righthand":{"rotation":[176.87,15.71,156.44],"translation":[-1.5,3.75,0],"scale":[0.73633,0.73633,0.73633]},"firstperson_lefthand":{"rotation":[176.87,15.71,156.44],"translation":[-1.5,3.75,0],"scale":[0.73633,0.73633,0.73633]},"ground":{"translation":[0,2,0]},"gui":{"rotation":[-180,2,-180],"translation":[0,2.5,0],"scale":[0.83789,0.83789,0.83789]},"head":{"translation":[0,12.75,0]},"fixed":{"translation":[0,-2,0]},"on_shelf":{"rotation":[-156.75,-4,-180]}}} \ No newline at end of file diff --git a/.meta/blockbench/bunny_ears.json b/.meta/blockbench/bunny_ears.json new file mode 100644 index 0000000..dbd743d --- /dev/null +++ b/.meta/blockbench/bunny_ears.json @@ -0,0 +1,225 @@ +{ + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "textures": { + "0": "bunny_ears", + "particle": "bunny_ears" + }, + "elements": [ + { + "from": [0.3, 4, 6.8], + "to": [2.3, 8, 8.5], + "rotation": {"angle": -32.5, "axis": "x", "origin": [-1.7, 5, 7.2]}, + "rotated": [-32.5, 0, 15], + "faces": { + "north": {"uv": [7.5, 6, 8.5, 8], "texture": "#0"}, + "east": {"uv": [5, 8.5, 5.5, 10.5], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 2], "texture": "#0"}, + "west": {"uv": [0, 9, 0.5, 11], "texture": "#0"}, + "up": {"uv": [8, 3, 7, 2.5], "texture": "#0"}, + "down": {"uv": [3, 9.5, 2, 10], "texture": "#0"} + } + }, + { + "from": [3.6, 4.7, 7.2], + "to": [4.6, 8, 9.2], + "rotation": {"angle": -32.5, "axis": "x", "origin": [1.6, 5, 7.2]}, + "rotated": [-32.5, 0, 15], + "faces": { + "north": {"uv": [3, 7, 3.5, 8.5], "texture": "#0"}, + "east": {"uv": [3, 8.5, 4, 10], "texture": "#0"}, + "south": {"uv": [7, 9, 7.5, 10.5], "texture": "#0"}, + "west": {"uv": [4, 8.5, 5, 10], "texture": "#0"}, + "up": {"uv": [8.5, 3, 8, 2], "texture": "#0"}, + "down": {"uv": [10, 2, 9.5, 3], "texture": "#0"} + } + }, + { + "from": [1.6, 4.7, 7.2], + "to": [3.6, 10, 9.2], + "rotation": {"angle": -32.5, "axis": "x", "origin": [1.6, 5, 7.2]}, + "rotated": [-32.5, 0, 15], + "faces": { + "north": {"uv": [3.5, 6, 4.5, 8.5], "texture": "#0"}, + "east": {"uv": [6, 4, 7, 6.5], "texture": "#0"}, + "south": {"uv": [4.5, 6, 5.5, 8.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [10, 1, 9, 0], "texture": "#0"}, + "down": {"uv": [10, 1, 9, 2], "texture": "#0"} + } + }, + { + "from": [1, 0, 7], + "to": [6, 6, 9], + "rotation": {"angle": 15, "axis": "z", "origin": [3, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 3], "texture": "#0"}, + "east": {"uv": [5, 0, 6, 3], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3], "texture": "#0"}, + "west": {"uv": [5, 3, 6, 6], "texture": "#0"}, + "up": {"uv": [3.5, 7, 1, 6], "texture": "#0"}, + "down": {"uv": [8.5, 3, 6, 4], "texture": "#0"} + } + }, + { + "from": [13.7, 4, 6.8], + "to": [15.7, 8, 8.5], + "rotation": {"angle": -32.5, "axis": "x", "origin": [17.7, 5, 7.2]}, + "rotated": [-32.5, 0, -15], + "faces": { + "north": {"uv": [7.5, 8, 8.5, 10], "texture": "#0"}, + "east": {"uv": [0.5, 9, 1, 11], "texture": "#0"}, + "south": {"uv": [8.5, 2, 9.5, 4], "texture": "#0"}, + "west": {"uv": [5.5, 9, 6, 11], "texture": "#0"}, + "up": {"uv": [10.5, 3.5, 9.5, 3], "texture": "#0"}, + "down": {"uv": [10.5, 3.5, 9.5, 4], "texture": "#0"} + } + }, + { + "from": [11.4, 4.7, 7.2], + "to": [12.4, 8, 9.2], + "rotation": {"angle": -32.5, "axis": "x", "origin": [14.4, 5, 7.2]}, + "rotated": [-32.5, 0, -15], + "faces": { + "north": {"uv": [1, 9.5, 1.5, 11], "texture": "#0"}, + "east": {"uv": [8.5, 6, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [1.5, 9.5, 2, 11], "texture": "#0"}, + "west": {"uv": [8.5, 7.5, 9.5, 9], "texture": "#0"}, + "up": {"uv": [10, 5, 9.5, 4], "texture": "#0"}, + "down": {"uv": [10, 5, 9.5, 6], "texture": "#0"} + } + }, + { + "from": [12.4, 4.7, 7.2], + "to": [14.4, 10, 9.2], + "rotation": {"angle": -32.5, "axis": "x", "origin": [14.4, 5, 7.2]}, + "rotated": [-32.5, 0, -15], + "faces": { + "north": {"uv": [6.5, 6.5, 7.5, 9], "texture": "#0"}, + "east": {"uv": [8, 0, 7, 2.5], "texture": "#0"}, + "south": {"uv": [1, 7, 2, 9.5], "texture": "#0"}, + "west": {"uv": [2, 7, 3, 9.5], "texture": "#0"}, + "up": {"uv": [7, 10, 6, 9], "texture": "#0"}, + "down": {"uv": [9.5, 9, 8.5, 10], "texture": "#0"} + } + }, + { + "from": [10, 0, 7], + "to": [15, 6, 9], + "rotation": {"angle": -15, "axis": "z", "origin": [13, 0, 7]}, + "faces": { + "north": {"uv": [0, 3, 2.5, 6], "texture": "#0"}, + "east": {"uv": [0, 6, 1, 9], "texture": "#0"}, + "south": {"uv": [2.5, 3, 5, 6], "texture": "#0"}, + "west": {"uv": [6, 0, 7, 3], "texture": "#0"}, + "up": {"uv": [9.5, 5, 7, 4], "texture": "#0"}, + "down": {"uv": [9.5, 5, 7, 6], "texture": "#0"} + } + }, + { + "from": [2, 1, 6], + "to": [3, 2, 7], + "rotation": {"angle": 30, "axis": "z", "origin": [0, -2, 5]}, + "faces": { + "north": {"uv": [13, 1, 13.5, 1.5], "texture": "#0"}, + "east": {"uv": [13, 1.5, 13.5, 2], "texture": "#0"}, + "south": {"uv": [13, 2, 13.5, 2.5], "texture": "#0"}, + "west": {"uv": [13.5, 1, 14, 1.5], "texture": "#0"}, + "up": {"uv": [14, 2, 13.5, 1.5], "texture": "#0"}, + "down": {"uv": [13.5, 2.5, 13, 3], "texture": "#0"} + } + }, + { + "from": [3, 0, 6], + "to": [4, 1, 7], + "rotation": {"angle": 30, "axis": "z", "origin": [0, -2, 5]}, + "faces": { + "north": {"uv": [13.5, 2, 14, 2.5], "texture": "#0"}, + "east": {"uv": [13.5, 2.5, 14, 3], "texture": "#0"}, + "south": {"uv": [11, 3, 11.5, 3.5], "texture": "#0"}, + "west": {"uv": [11.5, 3, 12, 3.5], "texture": "#0"}, + "up": {"uv": [12.5, 3.5, 12, 3], "texture": "#0"}, + "down": {"uv": [14.5, 1, 14, 1.5], "texture": "#0"} + } + }, + { + "from": [0, -2, 6], + "to": [3, 1, 7], + "rotation": {"angle": 30, "axis": "z", "origin": [0, -2, 5]}, + "faces": { + "north": {"uv": [11, 0, 12.5, 1.5], "texture": "#0"}, + "east": {"uv": [12.5, 0, 13, 1.5], "texture": "#0"}, + "south": {"uv": [11, 1.5, 12.5, 3], "texture": "#0"}, + "west": {"uv": [12.5, 1.5, 13, 3], "texture": "#0"}, + "up": {"uv": [14.5, 0.5, 13, 0], "texture": "#0"}, + "down": {"uv": [14.5, 0.5, 13, 1], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [48.5, 0, 0], + "translation": [0, 1.5, 2.5], + "scale": [0.35742, 0.35742, 0.35742] + }, + "thirdperson_lefthand": { + "rotation": [48.5, 0, 0], + "translation": [0, 1.5, 2.5], + "scale": [0.35742, 0.35742, 0.35742] + }, + "firstperson_righthand": { + "rotation": [176.87, 15.71, 156.44], + "translation": [-1.5, 3.75, 0], + "scale": [0.73633, 0.73633, 0.73633] + }, + "firstperson_lefthand": { + "rotation": [176.87, 15.71, 156.44], + "translation": [-1.5, 3.75, 0], + "scale": [0.73633, 0.73633, 0.73633] + }, + "ground": { + "translation": [0, 2, 0] + }, + "gui": { + "rotation": [-180, 2, -180], + "translation": [0, 2.5, 0], + "scale": [0.83789, 0.83789, 0.83789] + }, + "head": { + "translation": [0, 12.75, 0] + }, + "fixed": { + "translation": [0, -2, 0] + }, + "on_shelf": { + "rotation": [-156.75, -4, -180] + } + }, + "groups": [ + { + "name": "group", + "origin": [17.7, 5, 7.2], + "color": 0, + "children": [ + { + "name": "group", + "origin": [17.7, 5, 7.2], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [17.7, 5, 7.2], + "color": 0, + "children": [4, 5, 6, 7] + } + ] + }, + { + "name": "group", + "origin": [1, 0, 5], + "color": 0, + "children": [8, 9, 10] + } + ] +} \ No newline at end of file diff --git a/.meta/blockbench/bunny_ears.png b/.meta/blockbench/bunny_ears.png new file mode 100644 index 0000000000000000000000000000000000000000..3377181f6645d01740cbd0c4e19f44387f58ecd5 GIT binary patch literal 565 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfuRL8GLn`LHnYQ1XDN*A1 z{LR}lIHYxsS{_oAQEpN(*i=%K(Xm1?BU7h+*|Ih@=cqsIQbomFh8#@`EK4~vGdM05 zaY!k3pMJj8J^tLg8vpnmNBQS`|5vf+{r7v{E93fVufG1}Ys2SZF}u}K@^gjB9(|YE zs&^(_!V|S4^kohnyv??z^?Bu)jJ3-GZ4S@h8PHK4r!6|;+iyqKof+PLl;xYJ9xxVB zxVgvdf7i;@k$4IBW5m$kevK7+5FA?BMN)pJo|g-U2eM3)yypYrIY&j*Qiad zSs=r6C`ctq%WuZa1-cm(dv{sv+kCZazmILkqaCj|Mm*t-VKg>;m8^60^rzzext8aP zALz}`|2iu_Kg~(x*tVQ?Jvwn8svp;ix~Z?<{mgU?Q_hL7ri&6uCe61${47~fpS~<% z{j`@+WrA+}OT7Y){x~yJP58Oc>V`9a+9Mc`dACdo5NrEwd3(>Q3!1LRA@hWDnXfDm zU63N&8X$3;SkyR>4X?zv{)n7vFZYy<-@^nIMi zc1FlwWV+=0(+#25q8FZGiD%sXe7Dz(sXMy(r^IEfn#B2XIhTY5k8$188GBnJ{$F|j zytns@4Lir;8C-=fC!N_2{*+;8mz0u_l8`F6b3mVgf#LuE8M^fh3=9lxpjc;S*e7-^ TxGd%UC6JJ(tDnm{r-UW|h-vrg literal 0 HcmV?d00001 diff --git a/.meta/scripts/generate_from_textures.js b/.meta/scripts/generate_from_textures.js new file mode 100644 index 0000000..25bd81d --- /dev/null +++ b/.meta/scripts/generate_from_textures.js @@ -0,0 +1,276 @@ +import fs from "node:fs/promises"; +import path from "node:path"; + +import { createCanvas, loadImage } from "jsr:@gfx/canvas-wasm@0.4.2"; + +const NAMESPACE = "sixsides_easter_eggs"; +const EGG_PREFIX = "easter_egg_"; +const SPAWNER_OVERLAY = await loadImage("./.meta/scripts/spawner_overlay.png"); +const SPAWNER_SUFFIX = "_spawner"; + +function capitalizeWords(str) { + return str + .split(" ") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(" "); +} + +const rabbitSpawnEggModel = { + model: { + type: "minecraft:condition", + property: "minecraft:has_component", + component: "minecraft:entity_data", + on_true: { + type: "minecraft:select", + model: "minecraft:item/rabbit_spawn_egg", + property: "minecraft:component", + component: "minecraft:custom_data", + cases: [], + fallback: { + type: "minecraft:model", + model: "minecraft:item/rabbit_spawn_egg", + }, + }, + on_false: { + type: "minecraft:model", + model: "minecraft:item/rabbit_spawn_egg", + }, + }, +}; + +const easterEggs = { + type: "minecraft:command", + pools: [], +}; + +const easterEggEntry = (id, texture, name) => { + return { + type: "minecraft:item", + name: "minecraft:rabbit_spawn_egg", + functions: [ + { + function: "minecraft:set_custom_data", + tag: { + [`${NAMESPACE}:texture`]: texture, + }, + }, + { + function: "minecraft:set_components", + components: { + "minecraft:item_name": { + type: "translatable", + translate: `${NAMESPACE}.item.easter_egg`, + fallback: `${capitalizeWords(id.replaceAll("_", " "))}`, + color: "light_purple", + italic: false, + with: [ + { + type: "translatable", + translate: `${NAMESPACE}.item.easter_egg.variant.${id.replace( + EGG_PREFIX, + "", + )}`, + fallback: name, + }, + ], + }, + "minecraft:lore": [ + { + type: "translatable", + translate: `${NAMESPACE}.item.easter_egg.lore`, + fallback: "Use this item on the floor and get a surprise!", + color: "light_purple", + italic: true, + }, + ], + "minecraft:custom_data": { + [`${NAMESPACE}:texture`]: texture, + }, + "minecraft:entity_data": { + id: "minecraft:armor_stand", + NoGravity: true, + Invulnerable: true, + CustomNameVisible: false, + Silent: true, + Tags: ["sixsides_easter_egg_loot_spawner"], + Invisible: true, + Small: true, + }, + }, + }, + ], + }; +}; + +const easterEggSpawners = { + type: "minecraft:command", + pools: [], +}; + +const easterEggSpawnerEntry = (id, texture, name) => { + const easterEgg = easterEggEntry(id, texture, name); + + return { + type: "minecraft:item", + name: "minecraft:rabbit_spawn_egg", + functions: [ + { + function: "minecraft:set_custom_data", + tag: { + [`${NAMESPACE}:texture`]: `${texture}${SPAWNER_SUFFIX}`, + }, + }, + { + function: "minecraft:set_components", + components: { + "minecraft:entity_data": { + id: "minecraft:item", + NoGravity: true, + Invulnerable: true, + Age: -32768, + Item: { + id: easterEgg.name, + components: easterEgg.functions.find( + (f) => f.function === "minecraft:set_components", + ).components, + }, + }, + "minecraft:item_name": { + type: "translatable", + translate: `${NAMESPACE}.item.easter_egg_spawner`, + fallback: `Spawner of %s`, + with: [ + easterEgg.functions.find( + (f) => f.function === "minecraft:set_components", + ).components["minecraft:item_name"], + ], + color: "aqua", + italic: true, + }, + "minecraft:lore": [ + { + type: "translatable", + translate: `${NAMESPACE}.item.easter_egg_spawner.lore`, + fallback: "Spawns an easter egg item.", + color: "aqua", + italic: true, + }, + ], + }, + }, + ], + }; +}; + +const easterEggItemModel = (id) => { + return { + parent: "minecraft:item/generated", + textures: { + layer0: `${NAMESPACE}:item/${id}`, + }, + }; +}; + +const easterEggSpawnerItemModel = (id) => { + return { + parent: "minecraft:item/generated", + textures: { + layer0: `${NAMESPACE}:item/${id}${SPAWNER_SUFFIX}`, + }, + }; +}; + +console.log("GENERATING FROM EGG TEXTURES"); + +const itemTextures = await fs.readdir(`./assets/${NAMESPACE}/textures/item`); + +for (const itemTexture of itemTextures) { + if ( + !itemTexture.startsWith(EGG_PREFIX) || + itemTexture.includes(SPAWNER_SUFFIX) + ) { + continue; + } + + const id = path.basename(itemTexture).replace(path.extname(itemTexture), ""); + + const name = capitalizeWords(id.replace(EGG_PREFIX, "").replace("_", " ")); + + const image = await loadImage( + `./assets/${NAMESPACE}/textures/item/${id}.png`, + ); + + const canvas = createCanvas(16, 16); + const ctx = canvas.getContext("2d"); + + ctx.drawImage(image, 0, 0); + ctx.drawImage(SPAWNER_OVERLAY, 0, 0); + + console.log(`Generating egg: ${id}`); + + const texture = id.toUpperCase(); + + rabbitSpawnEggModel.model.on_true.cases.push({ + when: [{ [`${NAMESPACE}:texture`]: texture }], + model: { + type: "minecraft:model", + model: `${NAMESPACE}:item/${id}`, + }, + }); + + rabbitSpawnEggModel.model.on_true.cases.push({ + when: [{ [`${NAMESPACE}:texture`]: `${texture}${SPAWNER_SUFFIX}` }], + model: { + type: "minecraft:model", + model: `${NAMESPACE}:item/${id}${SPAWNER_SUFFIX}`, + }, + }); + + easterEggs.pools.push({ + rolls: 1, + entries: [easterEggEntry(id, texture, name)], + }); + + easterEggSpawners.pools.push({ + rolls: 1, + entries: [easterEggSpawnerEntry(id, texture, name)], + }); + + console.log(`Writing model file for: ${id}`); + fs.writeFile( + `./assets/${NAMESPACE}/models/item/${id}.json`, + JSON.stringify(easterEggItemModel(id), null, 2), + ); + + console.log(`Saving spawner sprite for: ${id}`); + fs.writeFile( + `./assets/${NAMESPACE}/textures/item/${id}${SPAWNER_SUFFIX}.png`, + canvas.toBuffer("image/png"), + ); + + console.log(`Writing spawner model file for: ${id}`); + fs.writeFile( + `./assets/${NAMESPACE}/models/item/${id}${SPAWNER_SUFFIX}.json`, + JSON.stringify(easterEggSpawnerItemModel(id), null, 2), + ); +} + +console.log(`Writing rabbit spawn egg model`); +fs.writeFile( + "./assets/minecraft/items/rabbit_spawn_egg.json", + JSON.stringify(rabbitSpawnEggModel, null, 2), +); + +console.log(`Writing eggs list loot table`); +fs.writeFile( + `./data/${NAMESPACE}/loot_table/items/easter_eggs.json`, + JSON.stringify(easterEggs, null, 2), +); + +console.log(`Writing spawners loot table`); +fs.writeFile( + `./data/${NAMESPACE}/loot_table/items/easter_egg_spawners.json`, + JSON.stringify(easterEggSpawners, null, 2), +); + +console.log("FINISHED"); diff --git a/.meta/scripts/spawner_overlay.png b/.meta/scripts/spawner_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee13113a72bc52540a8bbbb3c6c374184de31b4 GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9lsJzX3_Ec}xbBr*wIw4bh#oR&QjvIa;Y`Jm6Ae22$<472 zUA+d}j#UT55+xWm?PTrvzdt#_;^X{>ek-MJFs)8byKqJ6|G5>+Q9BBZ}gvq&)8Azkb%X78il~0|LrB3pE@KNn4UN` jVeW(uZpEqi;@k$4IBW5m$kevK7+5FA?BMN)pJo|g-U2eM3)yypYrIY&j*Qiad zSs=r6C`ctq%WuZa1-cm(dv{sv+kCZazmILkqaCj|Mm*t-VKg>;m8^60^rzzext8aP zALz}`|2iu_Kg~(x*tVQ?Jvwn8svp;ix~Z?<{mgU?Q_hL7ri&6uCe61${47~fpS~<% z{j`@+WrA+}OT7Y){x~yJP58Oc>V`9a+9Mc`dACdo5NrEwd3(>Q3!1LRA@hWDnXfDm zU63N&8X$3;SkyR>4X?zv{)n7vFZYy<-@^nIMi zc1FlwWV+=0(+#25q8FZGiD%sXe7Dz(sXMy(r^IEfn#B2XIhTY5k8$188GBnJ{$F|j zytns@4Lir;8C-=fC!N_2{*+;8mz0u_l8`F6b3mVgf#LuE8M^fh3=9lxpjc;S*e7-^ TxGd%UC6JJ(tDnm{r-UW|h-vrg literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/chocolate_bar.png b/assets/sixsides_easter_eggs/textures/item/chocolate_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..e595f801f2e37bf8e78d73b693ecf7fcdf6a63fb GIT binary patch literal 517 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9hJzX3_Ec}xb7MT6uXHhV=m)Bvv+`^!2#(H8_<=fo{v!-cCH}dxEtmbp&4`WWy zyD?*nc%I$nPyPnKpS{v;Q3>mPjtq{Ba>Bj*>gR zA5fb+HH(RRL(YfP9iL~4ulew4>T8~j@68%+9-lrZ-Qx2*(HXgUr}`fWxlKs>o1R;6 zdHp;qzO-f@CdoxcE9V_FIyT|q*U9QU+Sg)JPn<1I-%<2jwb|l$zQO#$jZyFFe_E?c zsu4qn=2HH)WxVIqTAfMJ?J zLsp8_uUA?ziXJ>qdb@){dH6$hB-VZ0!^Xab>wWr$B4I_twr9K(6PBA7{!5DZ`h!pT zau5G+iS&Bw10Mp9NZvF|*miG{iUBWId%BGb&%e(KS*BK?>M=?3FbVax^6>uLm#}p~2$%O<4Ymdg1?LHK8H;4wHZNd$!S*o7y}FR$;?C`l VWEwxNXJBAp@O1TaS?83{1OOFx)64(> literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_1.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ddc79aaf33c383dc068b9930232da69c5abcbd GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9m9JzX3_Ec}xbBtA6=PUr9W`|rQ|H0#}+f~%v%a@ZP7Z!@L#EZmgtc;^5Ajgp62 z@)&%IeN86uoKUb^pqR1l(5qiJm&^T$|Nq8bLb-YG_xu0ZPd@D3a=A%T!1iUNgZ%~v z1CEB9eE-*Tq&V-`!4PBUBh2-dVOpG$WNQ+Gm&6>wQ!O*jo;Y>j!+-OZw$I<0fA&d~ zEq38O(XYAelSJ1y+aC<#yTAWZc3w4;DMr4FQQ{)|CAJK$-3xX%prC*;eH}_zy!q`M<(VTlb%~Lm4%^XWtR?9-5xOp1_lOCS3j3^ HP6k44ofy`glX=O&z`#=M zIVq;>R-t#jvPalY% zeKK3@(5ijRa!YlEpD?;-o^}zfRN32S_^x`|?D>8r?X}nR978593SRkF$+h#VQ$*+% zy`8I!dbTq;{CzNU=1wDqyEncuJ$O=Z;P7i{>A5nQlDB;$rmJKYM=Nd6TkWvs#kw8J zCs%#Ac8=?JmSf%-4waWVWoMOV6iqGhjy5yAykKGP%$HI=HVf}5zleVuy`U}mLijuz zUJtq3d*WrPKkfC;k(rvQ!#wfwo0}WT<65FQ-gnPy>a^~7K6?rGfkzc!G`r-jY_ lqMzMR&%fVp$^T?|i;s)TU+6Y|VPIfj@O1TaS?83{1OUVopN0Sc literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_2.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_2.png new file mode 100644 index 0000000000000000000000000000000000000000..954a124fdb58c1886261cdca64aad72b32a3a48d GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9yo-U3d7XHZz5}z6br}G!>5&!ExZT2QpzSU7{nhefPTlFWwxbOZyj%6Dq54F5w znvfQ{;K38!jXdTJCLGN?lPZ4pF7#QDwLdkV=Kulv2!-;R^4$lvn zDDQUQ%{WlJK>GsYD#kST2YzjqvQKJea67aaWXiZ2GAr}M2)PD|G?>UYA8QJ|k^M)H z;iTQJf;o!p860PxnFpNZbT})%?(Pu-24z{7+pqqYZ!k(XxDezX$aAUY!41#0rS1BQ sUL2e?!J#c7f>p%fdXF#f-=hrsrNhiPnI3LsU|?YIboFyt=akR{0DDSpF literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_2_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_2_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..52810d64ba4cb0ae8a9399196dbae7b24c61a3a4 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M zby?_K{dovJD^ z&)C4AW@pvxhiuHuhj~}r(Pd*}%dNC+^SHR?zXk7uUB8g^|Me}5JqL44m=kA3 zTqtc8ePwK*!FeyGLVu62&e|_0<~A~}5K?i!psL{dUq0mD|No!m@36j?d;8~qy4|y|sPDdy|eZ-B{_c|4>dH|CKc*mW)XULX|GrYE1Yy z-TASc$R`ILKXwPhoQ(~prHR2Do1`s2bQEyUox;Enpp|cT^4*(w1_lNOPgg&ebxsLQ E0P!(&+W-In literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_3_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_3_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..281c59b7717ffb9b45ce3df6905943ca9bd96395 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M zAVB10x9eY z8tWW5@}#yFu&{7(HYEh?Wq6`^Y@3-Zi@^tV-`n5!f8YNv_u=(`(t~aCr>&2g&s~)k z`_Ol}*RcqttUjZkNo(!iW|(dE3z%T!_JX;YgTe~DWM4fz`}Q7 literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_4.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_4.png new file mode 100644 index 0000000000000000000000000000000000000000..ec533c23033c19e887a095b9fcbc3d5ef07bbc5f GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9oo-U3d7XHZz5}z6br}JMCmin)J`ff}>f3R+wq{7+%_5Xg$TjiQdG~al^cF4qV z;cGU{kg&jm1|e}%`Wa^{>fG4#;C04HgU4r>+d@yCOL)0qXSHO+kE0S2arK7+`W`h+ z*wyggTc+|r*SFX`-3xcP{LyTVY*O^Pk+8$z+<{4seGgfkCzzVwNE4XBlw!Z@1JjA1 zbPG-M?#4pKLpdVMC31g~1+0^femM0^B1Ul0UoAIo5Pn+7d*V>%foCSpi}_e~&UOt4msO$hI|=fq{X+)78&q Iol`;+0CHN7RsaA1 literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_4_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_4_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..16468fb6d8510af9cf67a83fa56678d3efde34e2 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M z6-FMe{F;mBp<8QYl(W-vA!jp%S%>uV{xd`=g$!cN<5(UL4-<>6Jw z4aFJ6d#APTvHf%)r0CFw))ckMX2m@v0ZM+?`p(&ZypzE`VdqCN!KL~vf8L7QOf|Th zA=+@bL%8Ac_kVS-yAGaaxUj*Vae?&Opo}>WSGMr}coIBq?#9RiKeELdfB!O_d7#O4 z#WSk~b+=6}ueJ2}@qPxkzwnon`RAmgJq~kn&CWAA>V9BGdp!Hg|5vnwKIOXn47_!j Qfq{X+)78&qol`;+0GUg$j{pDw literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_5.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_5.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0fbd27dbbaeff59a7d381d83b065c46ae6c780 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9k>JzX3_Ec}xbBtA6=PUm0t`_KP=o#{JU1(!$h82@8FxHn9IlV$DsgCe^cEt>ge zr`5C>ESzm}czUDb!Ozl%|9`%(5R|Kb;L2Y!wzk{t25(&r8J_r*dv_=udpqACM7rf~ zlEx!vUTG266LoEt(r$+jvD{^tGJ$oc!eOCDDJcc>9huI}y>#-xh3}k#$`XkO0$4+P z+_b|S&%F5Cq5d+dn{meF&QDAyawf<-Hl{8<(Ux>|;_v+udTWxL3+*g6Y_#ME_fY;V g+wcBDhm~Qbz-q=M**~us7#J8lUHx3vIVCg!0HsfDZ~y=R literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_5_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_5_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..5a62c7d19fbb49a15dd4f4a93ccdaf1ace7630c9 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M z$p@D=TlZ={f7Ms`tdSgFjEO{rUg@|Np(${tI0A1!n#?=57NC{jX06KlsI9;ccVC z(;FQRewIG`|MPtXrd)jq5O}xU(BO_;%S$a0=4HSC{C}UvnP{B%zh&VKg*W2Pg7R56 z7D!CkIJ41l;zL&E#fsuC3%r<)Hr%+G^CQ;a@N~wbHw&b=-fb8Bz|^%iV@r}~%kAHS z-fIrBY&d#gZL%su)zI$rR2N)u}3~UiL{E5?_yMV-u#D` zNuk%k`GDSrPmJCB=TGsO!)V}~u=Cr$p^mz&6tD8SHqu)57vV_}C7n}TG3MZ+Q=zmLWd4^>y(XPqW@gu`KiO&gk44ofy`glX=O&z`#=M zB_vA@o@xmk<(c9nH` zKe(V^`dxj?x5En@CvY6v<}5DG-kL2wTZt(%+d}o$o_k{VU)Z!3tW5uT=<}ZY^7=Io z*SpW&ex+5j-nndU+w}F^!CFNoMiZrvwuD$zhp*6my@ES7t39=QRv=Gg#c=F8oyDzd1%Rel?SU)>29Jpncor8e^B7sfn2L?#<^L zwaW3UFX@CcbllcWYUX=*HhX8lgPj=@Soi}~Ur1ZJE#0E;Sa45VB(U=Wx4`yjhAo$m z7i@P(c)QU3^O_&J3+~*OxoBR*ux8Hmi>*_NS&wy!EJ~ZmvThm6Q z{pyg?euPbS+qV0RJGMHpT<4Z}X!Y$i3U`~Sc2 z;s5_k6MaLkb5+vSAD7?9AYjX$M**D=QV>H1qK2Y)?zja5rQ~ z`E7q)Il(n@zNEyzdNv^k2BQ{F#kPm}XY|>gX}H{Icw!LqAwFF>!kFg(52Lh7HP?Rb z0#?4qqV;ng9&7StdyV{NXj?NU`=YJ{-x$ zHbE+-;Stl+chNoN5?B8Hx3BJQ)U;r`TIg`LoPU+!iZ}aPCoR~pY@Kyq*8i)j-2prd jH+$AerXRQv%EZv8p2`xdu9n8Yz`)??>gTe~DWM4fRsMw- literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_7_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_7_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..6317ef480ef9d82bfa00c9637b761bf377a29646 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M z&|tO`M$>8$3_E zG@4nyw{m~xJH;r``5TlOr;BIx%Q4KjwqV!0#@~{@-`cFTzbs{Fm=wM2Yl2+IjeC#3 zbC#{t*kbbDI{mX8`xgDrx(^G!yj;w3`nt^BuP&eEs_ot}K4la3dGIKN{rU!$kaaWW vq%dqb$t$=#z^P;+)8pzJKPUY2uVsj+&g{SNpz{_30|SGntDnm{r-UW|{1uMu literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_8.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7bce1cd1625827cea29011e790328ca5e6dccaca GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=9mXJY5_^Ec}xbBtA6=F6V#p@4x%R>LVS|x^0RIXLTKFn3~r1wf;?aFc(28d9&%i>6)0RPH9=c|u}hLI;P3ylf^3SLFZLeK zJaG6+){dwYvqa_vey!Rr&*mR^Xq%E)pzzb-5+hH;WtIRQTZTd@_8<%E%>sE09ll%A flw>?(RT)-s#N7*ib;O>5fq}u()z4*}Q$iB}fJbH& literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_8_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_8_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6e6354ab553148acd91eda8b6dacc18bc168f0 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M zn#WBR9_iT_OUz35roG$qn>=pux{4Z2|JJIV>w?O~Hk*ntm zKCmBCKBzuHK)AADPeTv8&NfYjs*9ep-n=VGGr!HWzwL#VmC+-K!dTU$TdHeTyBt`W z8N{{lvzFNWvMaN&hu1yWPO^II=XrJv3=9mOu6{1-oD!M9j?(Ftb_S`YR-6lpg9EXp=P z!fdMq+X0hs{c9;RR?XtPw)n$$hGvGt;R_05CE5}sJ_I@RI4T?!TJv#HgWjDW!(;1t zq(hb($TTK3?0)(5|DvAxlAGSz8!UNh!>E03pRKHq`~AD;792fr{K2AKEJsBp^d9{A z-`9BX4uAFx(R`Fpqu_BZonhQ4O`>^Lj_@AI??`}T@%=N7wLmS*$ezrORnS0Zc^HYc_FVdQ&MBb@0KFlT(*OVf literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_9_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_9_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..404fea162c93cf92fe25e570d1fcca22cb6f1e24 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M z~Pw2V&j>MYxkA7Opqx0FuC_&>b{aA8UG8e z=e_JHSUK-}@a;^dfRA|^s@y3le$y>Ej`F!OR2T-&sMcnR1jZ!~GjXUO%2~DND*Cn$u9Q&fJlkd9k;J?GH@1N!DX-+g)C-<0j z*%a@vt&CNs9mnpd3GBPoz^r=dK>4>dS;aFfUrmgio3N}{^zDHSpLRW*Te!AX>l>&4 zF)6PlEAQnpKX}Dry58~buOrj@Ud;P@UH;|&2i!bfg;G3Lb?FQY3=E#GelF{r5}E*M C_^03i literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_chicken.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_chicken.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc2ae03daafe971b84b82b5a30c4164d6dad67b GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E7~o-U3d7XHZz3(S7-v%YxtNGRPY{D;kcvE{QjoZP6en(Zc2kje8e&TVZL`~ROP zQZUS4z~I5FEO6jS0FT9|C&q^#dy7lV^E;XRp=?|F1mg`XtE)>MS{x2raHG-vzeGx7 z)&#~j@w}6Uji#%2IhiywoKVR0BLT^pfHJDzK^>l9o9Lpf4IQn+2ADMvVT{}9LG01 z`MYiz>#vsddDL|v>BPo{N3F*yRGz1qWxk)_!;)T+G9$ZFf1I zXPJJ??voQP844d|)nIE7alQTOfB6QZ;~(@rJ~t+-OHPy9*RhEGFvASR8HEQL7D~>R d`qjfR$CI$uu22WQ%mvv4FO#nzlmuLV0 literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_chicken_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_chicken_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..4e236389388baa668ade5e2a76930296142e0d54 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M z<2&VkuKv!+%~6I|J2|8!z^&x-`f3?1dlSL z9sKa0hlhv9xU9^`X6~f+MG;o%Le6c~mNCkk6Moe1U^M7$Igs>sJ4rB>eLBdS z;8=F<;qm$Z-mmRT{7|+nJ)m@J%8#E?O6pGyCMLQ`*&kl}{Jvz$MV?frXLl<8^))s& zHacFtDs;GvS+}%pwfwz9R})MhyqsdgmY-hD#>U3B@QG0JkzxnME&{;Hx?E&)%DRzDahN+JxP5Ykwa0dee O1B0ilpUXO@geCwNfvcbZ literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon.png new file mode 100644 index 0000000000000000000000000000000000000000..a831d0563de27e7c99170a8c0ef6e98f359bac56 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9co-U3d7XHZz5?2)N=bo$=P`foz%1N)_sDhbMn`F}(HkD&cN(oKx)Hr#}%ic16 zo_gbsWXM;QgTM0PtIi!zIP&5DvE8;k3Z^{i5(mT@fA}aIHGWlgIF|FW&gVrf4-ad) z8i@T(JgT6%h+#X&5{V`3OQvxi=~#EURhnVbL*~<^2Jr{p*hw@WIG_Jt;=nd%Mh|`u zePJJlBR4D47-wX!dV1tT@B@iEtOkYxd!M2*^0S*Q+?9%^d*JlU$N udt)Y><^cnSG!C=>O1FFL9bRa1GyHR%G9h)j`XUAf1_n=8KbLh*2~7Z$Y@F%< literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon_spawner.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_ender_dragon_spawner.png new file mode 100644 index 0000000000000000000000000000000000000000..4da630b1fd1147b8ebb8ba806c0181c20274e521 GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`#=M zK0VVvT@$a1sZFdZnM~X?y=K95oFu1SU!WV z>(ImNN|z=)5UyRcP-SV=yyjkw-*-iX!&w`ec04aBpWWASqv=nSi`Gt`o704NRVA(N zF%+~$?>MB(pe8@x#o1HZe7ff1h}l85{0BZ>loSqcO+0&g!?V}~2LG$pYZi9R<76_} z|JblranrPqw-n_r=f>CyyF?~2{d{;*=-VCNwTl*QIop;iE_Zoz|L$FpW+(5ZF}_&E z$Z#vo+2UD$?qxB~&bw3I;qA%^p)8;k{dy!V&ZnMPD(@kd?CZy%3SF>3%dvEx% znESZnmH)q1DD(8ly$|3yWFWdM^6J$|51(hZd`voD`#>hedB%pF3`-ImF-~$1_lOCS3j3^P6k44ofy`glX=O&z`#=M zs{ zeO~ds+V_X*on2K;?@lT^(HrG=bWuldl;6#nAr43GS%>`FCB52D=Cz-kY4lf%Mro5Q zOV)(+AR}{QN2Sb9KQFEM>X#Q>{)yp)Xa5c*hS)&A&LxtkV(r#4K2UFGi77u&{5^U5 zh69&=6eQefIFMa6*Y0qS3bO?B-#bgqnRnhezwF0^lb^q`GAv&$y*9_3LH_dT4fX$a zH)ucdIm=v75X^RL))TQm`^Bn`Y;G^_-xFbx^mG-^fpaGmw)bCsant0k(D$A^S?_Hj z6L%zfe*EX_;$m`lQqIapUw`bB)t$6kJ6AEUru)}p`{Uwz*DGE>j{IoCz`(%Z>FVdQ I&MBb@0IlAsp8x;= literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_nether_creature.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_nether_creature.png new file mode 100644 index 0000000000000000000000000000000000000000..4b1073b982f1a94cdce1e21af125834e0e0a02fb GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9*o-U3d7XHa83PN+jjeqh7RsB7!-nJrryF}ux2RsuFJlER!zx-N9<5Qmexrr>9 zL7bJW&*bl}WZ3@d?q~4==NSo$6wdOv@$l$Z?mSS@zVU9o0Iv{p;_FlF2}>2uo?tl2 zdg2_5rqHA*4i{U_Tz~SAdAHCzrWu<{pT9}7`2LSqqB)28CeLM#Vpfm0myUlw(6)F7 zgGzx<-Lv}5M-zGOm%nhH!_Vq|TlB%X?{mL2FEsqd?R@@w`3k)T&9rr$=?}i_IB}qW zFOlKQdxf(Kg%i>y=yZuYY>T#w;k$M;XL*+a%gF_2D`hkqJCYb&o^dfBUYK0qTybk( zBkw0)hFd(Wv&9PxrW9~BUS<_zmXPqW{J-!9QxUKKY$1z;L^eszt_I$NSq|UJI}A=J zbR=3O)O|0vZQH4xb)fA4Pm<$Ct}~39`k44ofy`glX=O&z`#=M zy@iEWb&G3&GfU&P79|nKmJ5@F76o1`-FW*$&Hqb_HX7GGx8DC- z_FdqQg&w^7JN3ooy^CIVUH!7{nznr3E(VUf@!FREJKoH%V^gSoW?C~f>12b( zwZt~Xy$@4YUHH5_8c0zX|p#hUw*qnFd?qx!tc*YE_-JMg}h!6w`*e4 zx{S`avh^PM6)Q!2*Jt%IPk8Bl>f&F?BbfqiTjShy&UCIn@i9m`KxtEO^Nef7TW+1* zxvwGHh(9v;^7W24S8{gof;4=1+{h*=ozcY5D`L;EWmn_r9>&c6`V4*jYd$CDac1s3 zwCeR{&+Pu+C&EsfUFbTkd{s?-fB+s_BQK&w-BCc)2zRJmV$nOZSj*-b;qSVGvfJrga6fe*iS9}@c)YVsR?asxIaw~ RVPIfj@O1TaS?83{1OQ~)%)0;p literal 0 HcmV?d00001 diff --git a/assets/sixsides_easter_eggs/textures/item/easter_egg_warden.png b/assets/sixsides_easter_eggs/textures/item/easter_egg_warden.png new file mode 100644 index 0000000000000000000000000000000000000000..37be7daaf54e4ad876017a3bc0939168fae3a94b GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Q3`(%rg0 z3=E9Lo-U3d7XHZz3)Bqm?|*Br`1!(BgM%g;{?)Tz>p3qlL&itf!4y zS5?~Pcv6KkXWhL;kvt0N%?CQy*|kNhryHN>oZ0YGV_P$enV!~P{zFO6mL<$ilz754 z!`q?ApwwV`b24LE_2r%KdBn}P8Zpe}@8V_iiw*K!Cq?tC8J;OuGt2QQ zTz1^nxQM$gaT_!9CwmU(s|UUwxXgHBrGj_^gT|9YlYlu7Coj`#c8wH_;CaHdV*7)( z1v?ll*&Mbt=eYK9mWV4n5?mp*k44ofy`glX=O&z`#=M z-|KI9_)e{YCPD!4X&rDi9 z(eR#*{+-odvXf66=(;l;x}R=xjUk}1KGH-~(bo1%_w&bXnU->iK9VCtiu zGd72{kACzjjOyjN7{bD^USxTk-PN~R^VaV@DEv!s_?KYfuHBKF z@3rZ|l}rDxF&*fNe)(r>8SB-kuvJ^vFfeu4O9)&p`tsYcD%9t+;L(>inyyK! literal 0 HcmV?d00001 diff --git a/data/minecraft/tags/function/load.json b/data/minecraft/tags/function/load.json new file mode 100644 index 0000000..3a6378e --- /dev/null +++ b/data/minecraft/tags/function/load.json @@ -0,0 +1,4 @@ +{ + "values": ["sixsides_easter_eggs:load"] +} + diff --git a/data/minecraft/tags/function/tick.json b/data/minecraft/tags/function/tick.json new file mode 100644 index 0000000..cd5be5f --- /dev/null +++ b/data/minecraft/tags/function/tick.json @@ -0,0 +1,4 @@ +{ + "values": ["sixsides_easter_eggs:tick"] +} + diff --git a/data/sixsides_easter_eggs/function/all_items.mcfunction b/data/sixsides_easter_eggs/function/all_items.mcfunction new file mode 100644 index 0000000..44943ca --- /dev/null +++ b/data/sixsides_easter_eggs/function/all_items.mcfunction @@ -0,0 +1,4 @@ +execute as @s run loot give @s loot sixsides_easter_eggs:items/easter_egg_spawners +execute as @s run loot give @s loot sixsides_easter_eggs:items/easter_eggs +execute as @s run loot give @s loot sixsides_easter_eggs:items/chocolate_bar +execute as @s run loot give @s loot sixsides_easter_eggs:items/bunny_ears diff --git a/data/sixsides_easter_eggs/function/load.mcfunction b/data/sixsides_easter_eggs/function/load.mcfunction new file mode 100644 index 0000000..f3a5ce6 --- /dev/null +++ b/data/sixsides_easter_eggs/function/load.mcfunction @@ -0,0 +1 @@ +kill @e[type=minecraft:armor_stand,tag=sixsides_easter_egg_loot_spawner] diff --git a/data/sixsides_easter_eggs/function/tick.mcfunction b/data/sixsides_easter_eggs/function/tick.mcfunction new file mode 100644 index 0000000..0019bde --- /dev/null +++ b/data/sixsides_easter_eggs/function/tick.mcfunction @@ -0,0 +1,2 @@ +execute as @p at @e[type=minecraft:armor_stand,tag=sixsides_easter_egg_loot_spawner] run loot spawn ~ ~ ~ loot sixsides_easter_eggs:items/easter_egg_loot +kill @e[type=minecraft:armor_stand,tag=sixsides_easter_egg_loot_spawner] diff --git a/data/sixsides_easter_eggs/loot_table/items/bunny_ears.json b/data/sixsides_easter_eggs/loot_table/items/bunny_ears.json new file mode 100644 index 0000000..f29b769 --- /dev/null +++ b/data/sixsides_easter_eggs/loot_table/items/bunny_ears.json @@ -0,0 +1,48 @@ +{ + "type": "minecraft:command", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:carrot", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:model": "BUNNY_EARS" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:equippable": { + "slot": "head", + "damage_on_hurt": false, + "equip_on_interact": true + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.bunny_ears", + "fallback": "Bunny Ears", + "color": "red", + "italic": false + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.bunny_ears.lore", + "fallback": "Put it on your head!", + "color": "white", + "italic": true + } + ] + } + } + ] + } + ] + } + ] +} diff --git a/data/sixsides_easter_eggs/loot_table/items/chocolate_bar.json b/data/sixsides_easter_eggs/loot_table/items/chocolate_bar.json new file mode 100644 index 0000000..0e3adb9 --- /dev/null +++ b/data/sixsides_easter_eggs/loot_table/items/chocolate_bar.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:command", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:golden_carrot", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "CHOCOLATE_BAR" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.chocolate_bar", + "fallback": "Chocolate Bar", + "color": "red", + "italic": false + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.chocolate_bar.lore", + "fallback": "A tasty treat!", + "color": "white", + "italic": true + } + ] + } + } + ] + } + ] + } + ] +} diff --git a/data/sixsides_easter_eggs/loot_table/items/easter_egg_loot.json b/data/sixsides_easter_eggs/loot_table/items/easter_egg_loot.json new file mode 100644 index 0000000..c645e8c --- /dev/null +++ b/data/sixsides_easter_eggs/loot_table/items/easter_egg_loot.json @@ -0,0 +1,66 @@ +{ + "type": "minecraft:command", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "value": "sixsides_easter_eggs:items/chocolate_bar" + } + ] + }, + { + "rolls": 3, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:diamond", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:iron_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "minecraft:iron_nugget", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_nugget", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "minecraft:redstone", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "minecraft:book", + "weight": 2, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + } + ] + } + ] +} diff --git a/data/sixsides_easter_eggs/loot_table/items/easter_egg_spawners.json b/data/sixsides_easter_eggs/loot_table/items/easter_egg_spawners.json new file mode 100644 index 0000000..f7e8bf0 --- /dev/null +++ b/data/sixsides_easter_eggs/loot_table/items/easter_egg_spawners.json @@ -0,0 +1,1447 @@ +{ + "type": "minecraft:command", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_1_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 1", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.1", + "fallback": "1" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_1" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 1", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.1", + "fallback": "1" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_2_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 2", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.2", + "fallback": "2" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_2" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 2", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.2", + "fallback": "2" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_3_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 3", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.3", + "fallback": "3" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_3" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 3", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.3", + "fallback": "3" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_4_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 4", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.4", + "fallback": "4" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_4" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 4", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.4", + "fallback": "4" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_5_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 5", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.5", + "fallback": "5" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_5" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 5", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.5", + "fallback": "5" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_6_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 6", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.6", + "fallback": "6" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_6" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 6", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.6", + "fallback": "6" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_7_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 7", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.7", + "fallback": "7" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_7" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 7", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.7", + "fallback": "7" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_8_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 8", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.8", + "fallback": "8" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_8" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 8", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.8", + "fallback": "8" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_9_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 9", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.9", + "fallback": "9" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_9" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 9", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.9", + "fallback": "9" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_ENDER_DRAGON_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Ender Dragon", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.ender_dragon", + "fallback": "Ender Dragon" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_ENDER_DRAGON" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Ender Dragon", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.ender_dragon", + "fallback": "Ender Dragon" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_MAJORDOMO_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Majordomo", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.majordomo", + "fallback": "Majordomo" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_MAJORDOMO" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Majordomo", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.majordomo", + "fallback": "Majordomo" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_NETHER_CREATURE_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Nether Creature", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.nether_creature", + "fallback": "Nether Creature" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_NETHER_CREATURE" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Nether Creature", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.nether_creature", + "fallback": "Nether Creature" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_WARDEN_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Warden", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.warden", + "fallback": "Warden" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_WARDEN" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Warden", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.warden", + "fallback": "Warden" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_CHICKEN_spawner" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:entity_data": { + "id": "minecraft:item", + "NoGravity": true, + "Invulnerable": true, + "Age": -32768, + "Item": { + "id": "minecraft:rabbit_spawn_egg", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Chicken", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.chicken", + "fallback": "Chicken" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_CHICKEN" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + }, + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner", + "fallback": "Spawner of %s", + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Chicken", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.chicken", + "fallback": "Chicken" + } + ] + } + ], + "color": "aqua", + "italic": true + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg_spawner.lore", + "fallback": "Spawns an easter egg item.", + "color": "aqua", + "italic": true + } + ] + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/data/sixsides_easter_eggs/loot_table/items/easter_eggs.json b/data/sixsides_easter_eggs/loot_table/items/easter_eggs.json new file mode 100644 index 0000000..c9bb121 --- /dev/null +++ b/data/sixsides_easter_eggs/loot_table/items/easter_eggs.json @@ -0,0 +1,845 @@ +{ + "type": "minecraft:command", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_1" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 1", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.1", + "fallback": "1" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_1" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_2" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 2", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.2", + "fallback": "2" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_2" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_3" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 3", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.3", + "fallback": "3" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_3" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_4" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 4", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.4", + "fallback": "4" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_4" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_5" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 5", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.5", + "fallback": "5" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_5" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_6" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 6", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.6", + "fallback": "6" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_6" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_7" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 7", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.7", + "fallback": "7" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_7" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_8" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 8", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.8", + "fallback": "8" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_8" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_9" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg 9", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.9", + "fallback": "9" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_9" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_ENDER_DRAGON" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Ender Dragon", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.ender_dragon", + "fallback": "Ender Dragon" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_ENDER_DRAGON" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_MAJORDOMO" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Majordomo", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.majordomo", + "fallback": "Majordomo" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_MAJORDOMO" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_NETHER_CREATURE" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Nether Creature", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.nether_creature", + "fallback": "Nether Creature" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_NETHER_CREATURE" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_WARDEN" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Warden", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.warden", + "fallback": "Warden" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_WARDEN" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_spawn_egg", + "functions": [ + { + "function": "minecraft:set_custom_data", + "tag": { + "sixsides_easter_eggs:texture": "EASTER_EGG_CHICKEN" + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:item_name": { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg", + "fallback": "Easter Egg Chicken", + "color": "light_purple", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.variant.chicken", + "fallback": "Chicken" + } + ] + }, + "minecraft:lore": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.item.easter_egg.lore", + "fallback": "Use this item on the floor and get a surprise!", + "color": "light_purple", + "italic": true + } + ], + "minecraft:custom_data": { + "sixsides_easter_eggs:texture": "EASTER_EGG_CHICKEN" + }, + "minecraft:entity_data": { + "id": "minecraft:armor_stand", + "NoGravity": true, + "Invulnerable": true, + "CustomNameVisible": false, + "Silent": true, + "Tags": [ + "sixsides_easter_egg_loot_spawner" + ], + "Invisible": true, + "Small": true + } + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..25ce793 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..1738463 --- /dev/null +++ b/flake.nix @@ -0,0 +1,61 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + outputs = { + nixpkgs, + self, + ... + }: let + systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; + forAllSystems = f: + nixpkgs.lib.genAttrs systems (system: let + pkgs = import nixpkgs {inherit system;}; + in + f { + inherit pkgs; + inherit (pkgs) lib; + }); + in { + devShells = forAllSystems ({ + lib, + pkgs, + ... + }: { + default = pkgs.mkShell { + shellHook = '' + set -a + source .env + set +a + ''; + buildInputs = with pkgs; [ + deno + gnumake + jq + zip + ]; + }; + }); + packages = forAllSystems ({pkgs, ...}: { + sixsides-easter-eggs = pkgs.callPackage ({ + lib, + gnumake, + jq, + stdenv, + zip, + }: + stdenv.mkDerivation { + name = "sixsides-easter-eggs"; + version = builtins.readFile ./VERSION; + buildInputs = [gnumake jq zip]; + src = lib.cleanSource ./.; + dontBuild = true; + installPhase = '' + make release/src + cp "$(find -type f -name '*.zip' | head -n 1)" $out + ''; + }) {}; + default = self.packages.${pkgs.stdenv.hostPlatform.system}.sixsides-easter-eggs; + }); + }; +} diff --git a/makefile b/makefile new file mode 100644 index 0000000..a7c2c16 --- /dev/null +++ b/makefile @@ -0,0 +1,25 @@ +RELEASE_FILE:="SixSides Easter Eggs.zip" + +generate: + deno --allow-read --allow-write ./.meta/scripts/generate_from_textures.js + +release: generate + @echo "Creating release file" + $(MAKE) release/src + +release/src: clean + jq --arg version $$(cat VERSION) '.pack.description.with[0].fallback = $$version' ./pack.mcmeta > ./pack.mcmeta.tmp + mv ./pack.mcmeta.tmp ./pack.mcmeta + find ./assets ./data pack.mcmeta -type f -print | zip $(RELEASE_FILE) -@ + +sync: release + @echo "Syncing files..." + cp $(RELEASE_FILE) $(RESOURCEPACK_FOLDER) + cp $(RELEASE_FILE) $(DATAPACK_FOLDER) + +clean: + if [ -f $(RELEASE_FILE) ]; then rm $(RELEASE_FILE); fi + +dev: + while true; do $(MAKE) sync || $(MAKE); sleep 0.5; done + diff --git a/pack.mcmeta b/pack.mcmeta new file mode 100644 index 0000000..ecb9fda --- /dev/null +++ b/pack.mcmeta @@ -0,0 +1,27 @@ +{ + "pack": { + "description": { + "type": "translatable", + "translate": "sixsides_easter_eggs.mcmeta.description", + "fallback": "%s - Have an happy easter!", + "italic": false, + "with": [ + { + "type": "translatable", + "translate": "sixsides_easter_eggs.mcmeta.version", + "fallback": "v0.1.0+1.21.10", + "color": "red", + "italic": false + } + ] + }, + "min_format": [ + 69, + 0 + ], + "max_format": [ + 88, + 0 + ] + } +} diff --git a/result b/result new file mode 120000 index 0000000..b1eec02 --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/z9w7cjzpnp9d76wx8m1zdklsgbpq1gi3-sixsides-easter-eggs \ No newline at end of file