diff --git a/src/main/resources/assets/portalcubed/lang/en_us.json b/src/main/resources/assets/portalcubed/lang/en_us.json index 1f93c428..c416ed27 100644 --- a/src/main/resources/assets/portalcubed/lang/en_us.json +++ b/src/main/resources/assets/portalcubed/lang/en_us.json @@ -5,14 +5,17 @@ "subtitles.portalcubed.gel_bounce": "Something bounces on propulsion gel", "subtitles.portalcubed.gel_run": "Something slides on propulsion gel", + "subtitles.portalcubed.gel_blob_splash": "Gel blob splashes", - "subtitles.portalcubed.portal_gun_secondary_fire": "Portal gun secondary fire", - "subtitles.portalcubed.portal_gun_primary_fire": "Portal gun primary fire", - "subtitles.portalcubed.portal_invalid_surface": "Portal gun failed", + "subtitles.portalcubed.portal_gun_secondary_fire": "Portal gun shoots secondary portal", + "subtitles.portalcubed.portal_gun_primary_fire": "Portal gun shoots primary portal", + "subtitles.portalcubed.portal_invalid_surface": "Portal gun shot fails", "subtitles.portalcubed.portal_open": "Portal opens", "subtitles.portalcubed.portal_close": "Portal closes", "subtitles.portalcubed.portal_fizzle": "Portal fizzles", + "subtitles.portalcubed.portal_enter": "Something enters a portal", + "subtitles.portalcubed.portal_exit": "Something exits a portal", "subtitles.portalcubed.material_emancipation": "Something disintegrates", @@ -30,6 +33,7 @@ "subtitles.portalcubed.rocket.fire": "Rocket launches", "subtitles.portalcubed.rocket.locked": "Rocket turret fires", "subtitles.portalcubed.rocket.locking": "Rocket turret locks on", + "subtitles.portalcubed.rocket.explosion": "Rocket explodes", "subtitles.portalcubed.pellet.bounce": "Energy pellet bounces", "subtitles.portalcubed.pellet.explode": "Energy pellet explodes", @@ -40,6 +44,68 @@ "subtitles.portalcubed.faith_plate": "Faith plate activates", + "advancement.portalcubed.root.title": "Portal Cubed", + "advancement.portalcubed.root.description": "Welcome to Aperture Science! You're here because we want the best, and you are it.", + + "advancement.portalcubed.hammer_time.title": "Stop - Hammer Time!", + "advancement.portalcubed.hammer_time.description": "Use a Hammer to configure a test element", + + "advancement.portalcubed.radio.title": "Tunes to Test to", + "advancement.portalcubed.radio.description": "Obtain a Radio", + "advancement.portalcubed.cubes.title": "Cubes to Keep You Company", + "advancement.portalcubed.cubes.description": "Obtain one of every cube variant", + "advancement.portalcubed.hoopy.title": "The Next Big Thing", + "advancement.portalcubed.hoopy.description": "Hold Hoopy the Hoop", + "advancement.portalcubed.rattmann.title": "I am Rattmann", + "advancement.portalcubed.rattmann.description": "Obtain every prop that can be found in a Rattmann den", + + "advancement.portalcubed.boots.title": "Good Work, Boots", + "advancement.portalcubed.boots.description": "Prevent fall damage using the Long Fall Boots", + "advancement.portalcubed.falling_with_style.title": "Falling With Style", + "advancement.portalcubed.falling_with_style.description": "Trim a pair of Long Fall Boots", + "advancement.portalcubed.feather_falling_boots.title": "But Why?!", + "advancement.portalcubed.feather_falling_boots.description": "Enchant a pair of Long Fall Boots with Feather Falling", + + "advancement.portalcubed.autoportal.title": "That Portal Was Framed", + "advancement.portalcubed.autoportal.description": "Place an Autoportal", + "advancement.portalcubed.rainbow_autoportals.title": "Pretty Painted Portal Producers", + "advancement.portalcubed.rainbow_autoportals.description": "Use Red, Orange, Yellow, Green, Blue, and Purple dyes on Autoportals. Any shade of each color works.", + + "advancement.portalcubed.pellet.title": "Handle With Care", + "advancement.portalcubed.pellet.description": "Obtain a High Energy Pellet", + "advancement.portalcubed.pellet_bounce.title": "Volleyball World Champion", + "advancement.portalcubed.pellet_bounce.description": "Bounce a High Energy Pellet 35 times before it explodes", + + "advancement.portalcubed.laser.title": "It Burns, Ah!", + "advancement.portalcubed.laser.description": "Touch a Thermal Discouragement Beam and become thermally discouraged", + + "advancement.portalcubed.goo.title": "The Floor is Failure", + "advancement.portalcubed.goo.description": "Submerse yourself in a pool of Toxic Goo and receive an unsatisfactory mark to your record", + + "advancement.portalcubed.faith_plate.title": "Soaring Through the Air...", + "advancement.portalcubed.faith_plate.description": "Launch yourself from an Aerial Faith Plate", + + "advancement.portalcubed.light_bridge.title": "Walking on Sunshine", + "advancement.portalcubed.light_bridge.description": "Step onto a Hard Light Bridge", + + "advancement.portalcubed.funnel.title": "Look Cave, No Hands!", + "advancement.portalcubed.funnel.description": "Take a ride in an Excursion Funnel", + "advancement.portalcubed.crouch_fly.title": "Sneaky Aviation", + "advancement.portalcubed.crouch_fly.description": "Activate the Crouch Fly Glitch", + + "advancement.portalcubed.space_core.title": "Spaaaaaaaaaaaaaaaace!", + "advancement.portalcubed.space_core.description": "Take Space Core to y:500 or higher", + + "advancement.portalcubed.repulsion_gel.title": "It's a Lively One", + "advancement.portalcubed.repulsion_gel.description": "Bounce off Repulsion Gel for the first time", + "advancement.portalcubed.propulsion_gel.title": "Gotta Go Fast!", + "advancement.portalcubed.propulsion_gel.description": "Slide on Propulsion Gel for the first time", + "advancement.portalcubed.conversion_gel.title": "Portal Here, There, Anywhere!", + "advancement.portalcubed.conversion_gel.description": "Shoot a portal on Conversion Gel for the first time", + "advancement.portalcubed.adhesion_gel.title": "Nice Try, Gravity", + "advancement.portalcubed.adhesion_gel.description": "Stand on the ceiling with Adhesion Gel", + + "tooltip.portalcubed.hammer_interaction": "Interact with Hammer:", "tooltip.portalcubed.dye_interaction": "Interact with Dye:", "tooltip.portalcubed.name_tag_interaction": "Interact with Name Tag:", @@ -47,8 +113,9 @@ "tooltip.portalcubed.empty": "", "tooltip.portalcubed.hammer.1": "Used to configure various Test Elements.", - "tooltip.portalcubed.hammer.2": "Required to turn cubes and other props", - "tooltip.portalcubed.hammer.3": "back into items in Survival Mode.", + "tooltip.portalcubed.hammer.2": "Any item tagged as c:wrenches also works as a hammer.", + "tooltip.portalcubed.hammer.3": "Required to turn cubes and other props", + "tooltip.portalcubed.hammer.4": "back into items in Survival Mode.", "tooltip.portalcubed.schrodinger_cube.1": " Links Two Schrödinger Cubes", "tooltip.portalcubed.schrodinger_cube.2": "Schrodinger Cubes linked by name", diff --git a/src/main/resources/assets/portalcubed/sounds.json b/src/main/resources/assets/portalcubed/sounds.json index e500c327..924a7129 100644 --- a/src/main/resources/assets/portalcubed/sounds.json +++ b/src/main/resources/assets/portalcubed/sounds.json @@ -20,6 +20,7 @@ ] }, "gel_splat": { + "subtitle": "subtitles.portalcubed.gel_blob_splash", "sounds": [ "portalcubed:paint_blob_splat_01", "portalcubed:paint_blob_splat_02", @@ -208,6 +209,7 @@ "subtitle": "subtitles.portalcubed.rocket.locking" }, "rocket/explode": { + "subtitle": "subtitles.portalcubed.rocket.explosion", "sounds": [ "portalcubed:rocket/blast1" ] diff --git a/src/main/resources/assets/portalcubed/textures/item/auto_portal.png b/src/main/resources/assets/portalcubed/textures/item/auto_portal.png index 00a2c2bd..470584b3 100644 Binary files a/src/main/resources/assets/portalcubed/textures/item/auto_portal.png and b/src/main/resources/assets/portalcubed/textures/item/auto_portal.png differ diff --git a/src/main/resources/assets/portalcubed/textures/item/conversion_gel_blob.png b/src/main/resources/assets/portalcubed/textures/item/conversion_gel_blob.png index ef3b76de..90035abd 100644 Binary files a/src/main/resources/assets/portalcubed/textures/item/conversion_gel_blob.png and b/src/main/resources/assets/portalcubed/textures/item/conversion_gel_blob.png differ diff --git a/src/main/resources/assets/portalcubed/textures/item/hammer.png b/src/main/resources/assets/portalcubed/textures/item/hammer.png index e6b16a85..49ac63ba 100644 Binary files a/src/main/resources/assets/portalcubed/textures/item/hammer.png and b/src/main/resources/assets/portalcubed/textures/item/hammer.png differ diff --git a/src/main/resources/assets/portalcubed/textures/item/portal_1_fizzler_icon.png b/src/main/resources/assets/portalcubed/textures/item/portal_1_fizzler_icon.png index e279e9ad..d538765d 100644 Binary files a/src/main/resources/assets/portalcubed/textures/item/portal_1_fizzler_icon.png and b/src/main/resources/assets/portalcubed/textures/item/portal_1_fizzler_icon.png differ diff --git a/src/main/resources/data/portalcubed/advancements/achievements/adhesion_gel.json b/src/main/resources/data/portalcubed/advancements/achievements/adhesion_gel.json new file mode 100644 index 00000000..08c2b6ed --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/adhesion_gel.json @@ -0,0 +1,32 @@ +{ + "display": { + "icon": { + "item": "portalcubed:adhesion_gel" + }, + "title": { + "translate": "advancement.portalcubed.adhesion_gel.title" + }, + "description": { + "translate": "advancement.portalcubed.adhesion_gel.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/conversion_gel", + "criteria": { + "run": { + "trigger": "minecraft:enter_block", + "conditions": { + "block": "portalcubed:adhesion_gel", + "state": { + "up": "true" + } + } + } + }, + "rewards": { + "experience": 50 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/auto_portal.json b/src/main/resources/data/portalcubed/advancements/achievements/auto_portal.json new file mode 100644 index 00000000..a3e9e866 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/auto_portal.json @@ -0,0 +1,32 @@ +{ + "display": { + "icon": { + "item": "portalcubed:auto_portal" + }, + "title": { + "translate": "advancement.portalcubed.autoportal.title" + }, + "description": { + "translate": "advancement.portalcubed.autoportal.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/root", + "criteria": { + "auto_portal": { + "trigger": "minecraft:placed_block", + "conditions": { + "location": [ + { + "condition": "minecraft:block_state_property", + "block": "portalcubed:auto_portal", + "properties": {} + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/boots.json b/src/main/resources/data/portalcubed/advancements/achievements/boots.json new file mode 100644 index 00000000..2d2d6d91 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/boots.json @@ -0,0 +1,45 @@ +{ + "display": { + "icon": { + "item": "portalcubed:long_fall_boots" + }, + "title": { + "translate": "advancement.portalcubed.boots.title" + }, + "description": { + "translate": "advancement.portalcubed.boots.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/root", + "criteria": { + "boots": { + "trigger": "minecraft:fall_from_height", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "feet": { + "items": [ + "portalcubed:long_fall_boots" + ] + } + } + } + } + ], + "distance": { + "y": { + "min": 4 + } + } + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/conversion_gel.json b/src/main/resources/data/portalcubed/advancements/achievements/conversion_gel.json new file mode 100644 index 00000000..15f98dd7 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/conversion_gel.json @@ -0,0 +1,51 @@ +{ + "display": { + "icon": { + "item": "portalcubed:conversion_gel" + }, + "title": { + "translate": "advancement.portalcubed.conversion_gel.title" + }, + "description": { + "translate": "advancement.portalcubed.conversion_gel.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/propulsion_gel", + "criteria": { + "conversion_gel": { + "trigger": "minecraft:tick", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:player", + "type_specific": { + "type": "player", + "looking_at": { + "type": "portalcubed:portal", + "location": { + "block": { + "blocks": [ + "portalcubed:conversion_gel" + ] + } + } + } + }, + "nbt": "{SelectedItem:{id: \"portalcubed:portal_gun\"}}", + "equipment": { + "mainhand": {} + } + } + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/crouch_fly.json b/src/main/resources/data/portalcubed/advancements/achievements/crouch_fly.json new file mode 100644 index 00000000..1fd38305 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/crouch_fly.json @@ -0,0 +1,35 @@ +{ + "display": { + "icon": { + "item": "portalcubed:excursion_funnel_emitter" + }, + "title": { + "translate": "advancement.portalcubed.crouch_fly.title" + }, + "description": { + "translate": "advancement.portalcubed.crouch_fly.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/funnel", + "criteria": { + "funnel": { + "trigger": "minecraft:tick", + "conditions": { + "player": [ + { + "condition": "portalcubed:funnel", + "in_funnel": false, + "in_cfg": true + } + ] + } + } + }, + "rewards": { + "experience": 50 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/cubes.json b/src/main/resources/data/portalcubed/advancements/achievements/cubes.json new file mode 100644 index 00000000..98d259ff --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/cubes.json @@ -0,0 +1,65 @@ +{ + "display": { + "icon": { + "item": "portalcubed:companion_cube" + }, + "title": { + "translate": "advancement.portalcubed.cubes.title" + }, + "description": { + "translate": "advancement.portalcubed.cubes.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "portalcubed:achievements/radio", + "criteria": { + "cubes": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:portal_1_storage_cube" + ] + }, + { + "items": [ + "portalcubed:portal_1_companion_cube" + ] + }, + { + "items": [ + "portalcubed:storage_cube" + ] + }, + { + "items": [ + "portalcubed:companion_cube" + ] + }, + { + "items": [ + "portalcubed:redirection_cube" + ] + }, + { + "items": [ + "portalcubed:schrodinger_cube" + ] + }, + { + "items": [ + "portalcubed:old_ap_cube" + ] + } + ] + } + } + }, + "rewards": { + "experience": 25 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/faith_plate.json b/src/main/resources/data/portalcubed/advancements/achievements/faith_plate.json new file mode 100644 index 00000000..3d7e803d --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/faith_plate.json @@ -0,0 +1,36 @@ +{ + "display": { + "icon": { + "item": "portalcubed:faith_plate" + }, + "title": { + "translate": "advancement.portalcubed.faith_plate.title" + }, + "description": { + "translate": "advancement.portalcubed.faith_plate.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/laser", + "criteria": { + "launch": { + "trigger": "portalcubed:fling", + "conditions": { + "force": { + "x": { + "min": 0 + }, + "y": { + "min": 0 + }, + "z": { + "min": 0 + } + } + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/falling_with_style.json b/src/main/resources/data/portalcubed/advancements/achievements/falling_with_style.json new file mode 100644 index 00000000..6edf0fad --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/falling_with_style.json @@ -0,0 +1,252 @@ +{ + "display": { + "icon": { + "item": "portalcubed:long_fall_boots", + "nbt": "{Trim:{pattern:tide,material:lapis}}" + }, + "title": { + "translate": "advancement.portalcubed.falling_with_style.title" + }, + "description": { + "translate": "advancement.portalcubed.falling_with_style.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/boots", + "criteria": { + "armor_trimmed_minecraft:coast_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:coast_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:dune_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:dune_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:eye_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:eye_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:host_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:host_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:raiser_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:raiser_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:rib_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:rib_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:sentry_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:sentry_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:shaper_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:shaper_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:silence_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:silence_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:snout_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:snout_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:spire_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:spire_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:tide_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:tide_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:vex_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:vex_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:ward_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:ward_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:wayfinder_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:wayfinder_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + }, + "armor_trimmed_minecraft:wild_armor_trim_smithing_template_smithing_trim": { + "trigger": "minecraft:recipe_crafted", + "conditions": { + "recipe_id": "minecraft:wild_armor_trim_smithing_template_smithing_trim", + "ingredients": [ + { + "items": [ + "portalcubed:long_fall_boots" + ] + } + ] + } + } + }, + "requirements": [ + [ + "armor_trimmed_minecraft:snout_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:raiser_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:dune_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:tide_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:silence_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:eye_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:spire_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:vex_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:shaper_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:wayfinder_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:coast_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:rib_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:host_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:ward_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:sentry_armor_trim_smithing_template_smithing_trim", + "armor_trimmed_minecraft:wild_armor_trim_smithing_template_smithing_trim" + ] + ], + "rewards": { + "experience": 100 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/feather_falling_boots.json b/src/main/resources/data/portalcubed/advancements/achievements/feather_falling_boots.json new file mode 100644 index 00000000..26b99a2f --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/feather_falling_boots.json @@ -0,0 +1,45 @@ +{ + "display": { + "icon": { + "item": "portalcubed:long_fall_boots", + "nbt": "{Enchantments:[{id:feather_falling,lvl:4}]}" + }, + "title": { + "translate": "advancement.portalcubed.feather_falling_boots.title" + }, + "description": { + "translate": "advancement.portalcubed.feather_falling_boots.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/boots", + "criteria": { + "feather_falling": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:long_fall_boots" + ], + "enchantments": [ + { + "enchantment": "minecraft:feather_falling", + "levels": { + "min": 1, + "max": 4 + } + } + ] + } + ] + } + } + }, + "rewards": { + "experience": 25 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/funnel.json b/src/main/resources/data/portalcubed/advancements/achievements/funnel.json new file mode 100644 index 00000000..91def56f --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/funnel.json @@ -0,0 +1,31 @@ +{ + "display": { + "icon": { + "item": "portalcubed:excursion_funnel_emitter" + }, + "title": { + "translate": "advancement.portalcubed.funnel.title" + }, + "description": { + "translate": "advancement.portalcubed.funnel.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/light_bridge", + "criteria": { + "funnel": { + "trigger": "minecraft:tick", + "conditions": { + "player": [ + { + "condition": "portalcubed:funnel", + "in_funnel": true + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/portalcubed/advancements/achievements/goo.json b/src/main/resources/data/portalcubed/advancements/achievements/goo.json new file mode 100644 index 00000000..3935403e --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/goo.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "portalcubed:toxic_goo_bucket" + }, + "title": { + "translate": "advancement.portalcubed.goo.title" + }, + "description": { + "translate": "advancement.portalcubed.goo.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "portalcubed:achievements/laser", + "criteria": { + "goo": { + "trigger": "minecraft:enter_block", + "conditions": { + "block": "portalcubed:toxic_goo" + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/hammer_time.json b/src/main/resources/data/portalcubed/advancements/achievements/hammer_time.json new file mode 100644 index 00000000..3cc8d1f3 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/hammer_time.json @@ -0,0 +1,41 @@ +{ + "display": { + "icon": { + "item": "portalcubed:hammer" + }, + "title": { + "translate": "advancement.portalcubed.hammer_time.title" + }, + "description": { + "translate": "advancement.portalcubed.hammer_time.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "portalcubed:achievements/root", + "criteria": { + "charge_respawn_anchor": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "tag": "portalcubed:configurable_elements" + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "c:wrenches" + } + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/hoopy.json b/src/main/resources/data/portalcubed/advancements/achievements/hoopy.json new file mode 100644 index 00000000..7464edd3 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/hoopy.json @@ -0,0 +1,32 @@ +{ + "display": { + "icon": { + "item": "portalcubed:hoopy" + }, + "title": { + "translate": "advancement.portalcubed.hoopy.title" + }, + "description": { + "translate": "advancement.portalcubed.hoopy.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/radio", + "criteria": { + "crafting_table": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:hoopy" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/laser.json b/src/main/resources/data/portalcubed/advancements/achievements/laser.json new file mode 100644 index 00000000..a067cf68 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/laser.json @@ -0,0 +1,35 @@ +{ + "display": { + "icon": { + "item": "portalcubed:laser_emitter" + }, + "title": { + "translate": "advancement.portalcubed.laser.title" + }, + "description": { + "translate": "advancement.portalcubed.laser.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/pellet", + "criteria": { + "laser_damage": { + "trigger": "minecraft:entity_hurt_player", + "conditions": { + "damage": { + "type": { + "tags": [ + { + "id": "portalcubed:laser", + "expected": true + } + ] + } + } + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/light_bridge.json b/src/main/resources/data/portalcubed/advancements/achievements/light_bridge.json new file mode 100644 index 00000000..c7d56982 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/light_bridge.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "portalcubed:light_bridge_emitter" + }, + "title": { + "translate": "advancement.portalcubed.light_bridge.title" + }, + "description": { + "translate": "advancement.portalcubed.light_bridge.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/faith_plate", + "criteria": { + "light_bridge": { + "trigger": "minecraft:enter_block", + "conditions": { + "block": "portalcubed:light_bridge" + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/pellet.json b/src/main/resources/data/portalcubed/advancements/achievements/pellet.json new file mode 100644 index 00000000..6b4145a7 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/pellet.json @@ -0,0 +1,32 @@ +{ + "display": { + "icon": { + "item": "portalcubed:energy_pellet" + }, + "title": { + "translate": "advancement.portalcubed.pellet.title" + }, + "description": { + "translate": "advancement.portalcubed.pellet.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/auto_portal", + "criteria": { + "pellet": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:energy_pellet" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/pellet_bounce.json b/src/main/resources/data/portalcubed/advancements/achievements/pellet_bounce.json new file mode 100644 index 00000000..f5d8b41d --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/pellet_bounce.json @@ -0,0 +1,37 @@ +{ + "display": { + "icon": { + "item": "portalcubed:super_pellet" + }, + "title": { + "translate": "advancement.portalcubed.pellet_bounce.title" + }, + "description": { + "translate": "advancement.portalcubed.pellet_bounce.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/pellet", + "criteria": { + "requirement": { + "trigger": "portalcubed:bounce", + "conditions": { + "pellet": { + "type_specific": { + "type": "portalcubed:energy_pellet", + "bounces": 35, + "starting_life": { + "min": 0 + } + } + } + } + } + }, + "rewards": { + "experience": 100 + } +} \ No newline at end of file diff --git a/src/main/resources/data/portalcubed/advancements/achievements/propulsion_gel.json b/src/main/resources/data/portalcubed/advancements/achievements/propulsion_gel.json new file mode 100644 index 00000000..29dc1323 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/propulsion_gel.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "portalcubed:propulsion_gel" + }, + "title": { + "translate": "advancement.portalcubed.propulsion_gel.title" + }, + "description": { + "translate": "advancement.portalcubed.propulsion_gel.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/repulsion_gel", + "criteria": { + "run": { + "trigger": "minecraft:enter_block", + "conditions": { + "block": "portalcubed:propulsion_gel" + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/radio.json b/src/main/resources/data/portalcubed/advancements/achievements/radio.json new file mode 100644 index 00000000..e8bb9eb4 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/radio.json @@ -0,0 +1,31 @@ +{ + "display": { + "icon": { + "item": "portalcubed:radio" + }, + "title": { + "translate": "advancement.portalcubed.radio.title" + }, + "description": { + "translate": "advancement.portalcubed.radio.description" + }, + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/root", + "criteria": { + "requirement": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:radio" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/rainbow_autoportal.json b/src/main/resources/data/portalcubed/advancements/achievements/rainbow_autoportal.json new file mode 100644 index 00000000..c466abeb --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/rainbow_autoportal.json @@ -0,0 +1,179 @@ +{ + "display": { + "icon": { + "item": "portalcubed:auto_portal", + "nbt": "{Enchantments:[{id:infinity,lvl:1}]}" + }, + "title": { + "translate": "advancement.portalcubed.rainbow_autoportals.title" + }, + "description": { + "translate": "advancement.portalcubed.rainbow_autoportals.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/auto_portal", + "criteria": { + "red_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:red_dye", + "minecraft:pink_dye" + ] + } + } + ] + } + }, + "orange_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:orange_dye" + ] + } + } + ] + } + }, + "yellow_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:yellow_dye" + ] + } + } + ] + } + }, + "green_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:lime_dye", + "minecraft:green_dye" + ] + } + } + ] + } + }, + "blue_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:blue_dye", + "minecraft:cyan_dye", + "minecraft:light_blue_dye" + ] + } + } + ] + } + }, + "purple_autoportal": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "condition": "minecraft:location_check", + "predicate": { + "block": { + "blocks": [ + "portalcubed:auto_portal" + ] + } + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "items": [ + "minecraft:purple_dye", + "minecraft:magenta_dye" + ] + } + } + ] + } + } + }, + "rewards": { + "experience": 100 + } +} \ No newline at end of file diff --git a/src/main/resources/data/portalcubed/advancements/achievements/rattmann.json b/src/main/resources/data/portalcubed/advancements/achievements/rattmann.json new file mode 100644 index 00000000..83576127 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/rattmann.json @@ -0,0 +1,65 @@ +{ + "display": { + "icon": { + "item": "portalcubed:beans" + }, + "title": { + "translate": "advancement.portalcubed.rattmann.title" + }, + "description": { + "translate": "advancement.portalcubed.rattmann.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/hoopy", + "criteria": { + "rattmann": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:beans" + ] + }, + { + "items": [ + "portalcubed:chair" + ] + }, + { + "items": [ + "portalcubed:computer" + ] + }, + { + "items": [ + "portalcubed:mug" + ] + }, + { + "items": [ + "portalcubed:jug" + ] + }, + { + "items": [ + "portalcubed:radio" + ] + }, + { + "items": [ + "portalcubed:hoopy" + ] + } + ] + } + } + }, + "rewards": { + "experience": 50 + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/repulsion_gel.json b/src/main/resources/data/portalcubed/advancements/achievements/repulsion_gel.json new file mode 100644 index 00000000..5de9a5ba --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/repulsion_gel.json @@ -0,0 +1,45 @@ +{ + "display": { + "icon": { + "item": "portalcubed:repulsion_gel" + }, + "title": { + "translate": "advancement.portalcubed.repulsion_gel.title" + }, + "description": { + "translate": "advancement.portalcubed.repulsion_gel.description" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "parent": "portalcubed:achievements/root", + "criteria": { + "gel": { + "trigger": "minecraft:fall_from_height", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "location": { + "block": { + "blocks": [ + "portalcubed:repulsion_gel" + ] + } + } + } + } + ], + "distance": { + "y": { + "min": 1 + } + } + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/root.json b/src/main/resources/data/portalcubed/advancements/achievements/root.json new file mode 100644 index 00000000..071d2f40 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/root.json @@ -0,0 +1,32 @@ +{ + "display": { + "icon": { + "item": "portalcubed:portal_gun" + }, + "title": { + "translate": "advancement.portalcubed.root.title" + }, + "description": { + "translate": "advancement.portalcubed.root.description" + }, + "background": "portalcubed:textures/block/white_half_panel.png", + "frame": "task", + "show_toast": true, + "announce_to_chat": false, + "hidden": false + }, + "criteria": { + "portal_gun": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "portalcubed:portal_gun" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/portalcubed/advancements/achievements/space_core.json b/src/main/resources/data/portalcubed/advancements/achievements/space_core.json new file mode 100644 index 00000000..41ea4d65 --- /dev/null +++ b/src/main/resources/data/portalcubed/advancements/achievements/space_core.json @@ -0,0 +1,57 @@ +{ + "display": { + "icon": { + "item": "portalcubed:space_core" + }, + "title": { + "translate": "advancement.portalcubed.space_core.title" + }, + "description": { + "translate": "advancement.portalcubed.space_core.description" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": true + }, + "parent": "portalcubed:achievements/hoopy", + "criteria": { + "requirement": { + "trigger": "minecraft:location", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type": "minecraft:player", + "type_specific": { + "type": "player", + "looking_at": { + "type": "portalcubed:space_core", + "location": { + "position": { + "y": { + "min": 500 + } + } + } + } + }, + "location": { + "position": { + "y": { + "min": 500 + } + } + } + } + } + ] + } + } + }, + "rewards": { + "experience": 100 + } +} diff --git a/src/main/resources/data/portalcubed/recipes/redirection_cube_crafting.json b/src/main/resources/data/portalcubed/recipes/redirection_cube_crafting.json index deb83f75..0585edee 100644 --- a/src/main/resources/data/portalcubed/recipes/redirection_cube_crafting.json +++ b/src/main/resources/data/portalcubed/recipes/redirection_cube_crafting.json @@ -2,7 +2,7 @@ "type": "minecraft:crafting_shaped", "pattern": [ "YXY", - "XXX", + "ZXX", "YXY" ], "key": { @@ -11,6 +11,9 @@ }, "X": { "tag": "c:glass_blocks" + }, + "Z": { + "tag": "c:glass_panes" } }, "result": { diff --git a/src/main/resources/data/portalcubed/tags/blocks/configurable_elements.json b/src/main/resources/data/portalcubed/tags/blocks/configurable_elements.json new file mode 100644 index 00000000..609e7131 --- /dev/null +++ b/src/main/resources/data/portalcubed/tags/blocks/configurable_elements.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values" : [ + "portalcubed:excursion_funnel_emitter", + "portalcubed:faith_plate", + "portalcubed:beta_faith_plate", + "portalcubed:light_bridge_emitter", + "portalcubed:laser_emitter", + "portalcubed:laser_catcher", + "portalcubed:laser_relay", + "portalcubed:pedestal_button", + "portalcubed:old_ap_pedestal_button", + "portalcubed:auto_portal" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/portalcubed/tags/damage_type/laser.json b/src/main/resources/data/portalcubed/tags/damage_type/laser.json new file mode 100644 index 00000000..54f120c3 --- /dev/null +++ b/src/main/resources/data/portalcubed/tags/damage_type/laser.json @@ -0,0 +1,5 @@ +{ + "values": [ + "portalcubed:laser" + ] +} \ No newline at end of file diff --git a/src/main/resources/tooltips.json b/src/main/resources/tooltips.json index d59829d9..68487379 100644 --- a/src/main/resources/tooltips.json +++ b/src/main/resources/tooltips.json @@ -27,16 +27,20 @@ "color": "gray" }, { - "translate": "tooltip.portalcubed.empty", + "translate": "tooltip.portalcubed.hammer.2", "color": "gray" }, { - "translate": "tooltip.portalcubed.hammer.2", + "translate": "tooltip.portalcubed.empty", "color": "gray" }, { "translate": "tooltip.portalcubed.hammer.3", "color": "gray" + }, + { + "translate": "tooltip.portalcubed.hammer.4", + "color": "gray" } ], "schrodinger_cube": [