added a whole lotta shit
Some checks failed
build / build (17, ubuntu-22.04) (push) Failing after 28s
build / build (17, windows-2022) (push) Has been cancelled

This commit is contained in:
2025-12-25 14:28:26 +02:00
parent 68c65f4beb
commit ab37a1957a
826 changed files with 25422 additions and 3 deletions

View File

@@ -9,7 +9,7 @@ yarn_mappings=1.20.1+build.9
loader_version=0.16.10 loader_version=0.16.10
# Mod Properties # Mod Properties
mod_version=1.0.0 mod_version=1.1.0
maven_group=com.smithy maven_group=com.smithy
archives_base_name=celestium archives_base_name=celestium

View File

@@ -44,7 +44,7 @@ public class Celestium implements ModInitializer {
Path resourcePath = FabricLoader.getInstance().getModContainer("celestium").get().findPath("resourcepacks/"+packName).get(); Path resourcePath = FabricLoader.getInstance().getModContainer("celestium").get().findPath("resourcepacks/"+packName).get();
CelestiumResourcePackProvider.PACKS.add(ResourcePackProfile.create( CelestiumResourcePackProvider.PACKS.add(ResourcePackProfile.create(
"celestium/" + packName.toLowerCase(), "celestium/" + packName.toLowerCase(),
Text.translatable("pack_name.tectonic."+packName), Text.translatable("pack_name.celestium."+packName),
false, false,
string -> new DirectoryResourcePack(resourcePath.getFileName().toString(), resourcePath, false), string -> new DirectoryResourcePack(resourcePath.getFileName().toString(), resourcePath, false),
ResourceType.SERVER_DATA, ResourceType.SERVER_DATA,

View File

@@ -1,3 +1,3 @@
tellraw @a {"text":"It's rush hour!","bold":true,"color":"gold","hoverEvent":{"action":"show_text","contents":[{"text":"Things seem to be RACING, THEY'RE RACING!","italic":true,"color":"dark_purple"}]}} tellraw @a {"text":"It's rush hour!","bold":true,"color":"gold","hoverEvent":{"action":"show_text","contents":[{"text":"Things seem to be RACING, THEY'RE RACING!","italic":true,"color":"dark_purple"}]}}
gamerule randomTickSpeed 300 gamerule randomTickSpeed 300
schedule function gpack:norush 120s schedule function celestium:norush 120s

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_coral": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:brain_coral"
}
]
}
},
"has_fan": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:brain_coral_fan"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "coral_blocks:coral/brain_coral"
}
}
},
"requirements": [
[
"has_coral",
"has_fan",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"coral_blocks:brain_coral_block"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_coral": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bubble_coral"
}
]
}
},
"has_fan": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bubble_coral_fan"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "coral_blocks:coral/bubble_coral"
}
}
},
"requirements": [
[
"has_coral",
"has_fan",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"coral_blocks:bubble_coral_block"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_coral": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:fire_coral"
}
]
}
},
"has_fan": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:fire_coral_fan"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "coral_blocks:coral/fire_coral"
}
}
},
"requirements": [
[
"has_coral",
"has_fan",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"coral_blocks:fire_coral_block"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_coral": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:horn_coral"
}
]
}
},
"has_fan": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:horn_coral_fan"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "coral_blocks:coral/horn_coral"
}
}
},
"requirements": [
[
"has_coral",
"has_fan",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"coral_blocks:horn_coral_block"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_coral": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:tube_coral"
}
]
}
},
"has_fan": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:tube_coral_fan"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "coral_blocks:coral/tube_coral"
}
}
},
"requirements": [
[
"has_coral",
"has_fan",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"coral_blocks:tube_coral_block"
]
}
}

View File

@@ -0,0 +1,18 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"tag": "coral_blocks:brain_coral"
}
},
"result": {
"item": "minecraft:brain_coral_block",
"count": 1
},
"group": "coral_blocks"
}

View File

@@ -0,0 +1,18 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"tag": "coral_blocks:bubble_coral"
}
},
"result": {
"item": "minecraft:bubble_coral_block",
"count": 1
},
"group": "coral_blocks"
}

View File

@@ -0,0 +1,18 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"tag": "coral_blocks:fire_coral"
}
},
"result": {
"item": "minecraft:fire_coral_block",
"count": 1
},
"group": "coral_blocks"
}

View File

@@ -0,0 +1,18 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"tag": "coral_blocks:horn_coral"
}
},
"result": {
"item": "minecraft:horn_coral_block",
"count": 1
},
"group": "coral_blocks"
}

View File

@@ -0,0 +1,18 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"tag": "coral_blocks:tube_coral"
}
},
"result": {
"item": "minecraft:tube_coral_block",
"count": 1
},
"group": "coral_blocks"
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:brain_coral",
"minecraft:brain_coral_fan"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:bubble_coral",
"minecraft:bubble_coral_fan"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:fire_coral",
"minecraft:fire_coral_fan"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:horn_coral",
"minecraft:horn_coral_fan"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:tube_coral",
"minecraft:tube_coral_fan"
]
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_basalt": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:basalt"
}
]
}
},
"has_coal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"tag": "craftable_blackstone:coal_charcoal"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "craftable_blackstone:blackstone"
}
}
},
"requirements": [
[
"has_basalt",
"has_coal",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"craftable_blackstone:blackstone"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_polished_blackstone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_blackstone"
}
]
}
},
"has_coal": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"tag": "craftable_blackstone:coal_charcoal"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "craftable_blackstone:blackstone"
}
}
},
"requirements": [
[
"has_polished_blackstone",
"has_coal",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"craftable_blackstone:polished_blackstone"
]
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "crafting_shaped",
"pattern": [
"$#",
"#$"
],
"key": {
"#": {
"item": "minecraft:basalt"
},
"$": {
"tag": "craftable_blackstone:coal_charcoal"
}
},
"result": {
"item": "minecraft:blackstone",
"count": 4
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "crafting_shaped",
"pattern": [
"$#",
"#$"
],
"key": {
"#": {
"item": "minecraft:polished_basalt"
},
"$": {
"tag": "craftable_blackstone:coal_charcoal"
}
},
"result": {
"item": "minecraft:polished_blackstone",
"count": 4
}
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:coal",
"minecraft:charcoal"
]
}

View File

@@ -0,0 +1,36 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_leather": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:leather"
}
]
}
},
"has_string": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:string"
}
]
}
}
},
"requirements": [
[
"has_leather",
"has_string"
]
],
"rewards": {
"recipes": [
"craftable_bundles_leather:bundle_leather"
]
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "crafting_shaped",
"result": {
"item": "minecraft:bundle",
"count": 1
},
"pattern": [
"SLS",
"L L",
"LLL"
],
"key": {
"S": {
"item": "minecraft:string"
},
"L": {
"item": "minecraft:leather"
}
}
}

View File

@@ -0,0 +1,36 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_rabbit_hide": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:rabbit_hide"
}
]
}
},
"has_string": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:string"
}
]
}
}
},
"requirements": [
[
"has_rabbit_hide",
"has_string"
]
],
"rewards": {
"recipes": [
"craftable_bundles_rabbit_hide:bundle_rabbit_hide"
]
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "crafting_shaped",
"result": {
"item": "minecraft:bundle",
"count": 1
},
"pattern": [
"SRS",
"R R",
"RRR"
],
"key": {
"S": {
"item": "minecraft:string"
},
"R": {
"item": "minecraft:rabbit_hide"
}
}
}

View File

@@ -0,0 +1,47 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_iron": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:iron_ingot"
}
]
}
},
"has_string": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:string"
}
]
}
},
"has_paper": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:paper"
}
]
}
}
},
"requirements": [
[
"has_iron",
"has_string",
"has_paper"
]
],
"rewards": {
"recipes": [
"craftable_name_tags:name_tag"
]
}
}

View File

@@ -0,0 +1,23 @@
{
"type": "crafting_shaped",
"result": {
"item": "minecraft:name_tag",
"count": 1
},
"pattern": [
" IS",
" PI",
"P "
],
"key": {
"I": {
"item": "minecraft:iron_ingot"
},
"P": {
"item": "minecraft:paper"
},
"S": {
"item": "minecraft:string"
}
}
}

View File

@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
" / ",
"BBB"
],
"key": {
"/": {
"item": "minecraft:blaze_rod"
},
"B": {
"item": "minecraft:blackstone"
}
},
"result": {
"item": "minecraft:brewing_stand",
"count": 1
}
}

View File

@@ -0,0 +1,23 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"###",
"#B#",
"#R#"
],
"key": {
"#": {
"item": "minecraft:blackstone"
},
"B": {
"item": "minecraft:bow"
},
"R": {
"item": "minecraft:redstone"
}
},
"result": {
"item": "minecraft:dispenser",
"count": 1
}
}

View File

@@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"###",
"# #",
"#R#"
],
"key": {
"#": {
"item": "minecraft:blackstone"
},
"R": {
"item": "minecraft:redstone"
}
},
"result": {
"item": "minecraft:dropper",
"count": 1
}
}

View File

@@ -0,0 +1,19 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"/",
"B"
],
"key": {
"/": {
"item": "minecraft:stick"
},
"B": {
"item": "minecraft:blackstone"
}
},
"result": {
"item": "minecraft:lever",
"count": 1
}
}

View File

@@ -0,0 +1,23 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"###",
"RRQ",
"###"
],
"key": {
"#": {
"item": "minecraft:blackstone"
},
"R": {
"item": "minecraft:redstone"
},
"Q": {
"item": "minecraft:quartz"
}
},
"result": {
"item": "minecraft:observer",
"count": 1
}
}

View File

@@ -0,0 +1,26 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"###",
"BiB",
"BRB"
],
"key": {
"#": {
"tag": "minecraft:planks"
},
"B": {
"item": "minecraft:blackstone"
},
"i": {
"item": "minecraft:iron_ingot"
},
"R": {
"item": "minecraft:redstone"
}
},
"result": {
"item": "minecraft:piston",
"count": 1
}
}

View File

@@ -0,0 +1,47 @@
{
"display": {
"icon": {
"item": "minecraft:air"
},
"title": "",
"description": "",
"show_toast": false,
"announce_to_chat": false,
"hidden": true
},
"criteria": {
"player_interacted_with_entity": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"location": [
{
"condition": "minecraft:match_tool",
"predicate": {
"tag": "custom_nether_portals:ignition"
}
},
{
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:location_check",
"predicate": {
"dimension": "minecraft:overworld"
}
},
{
"condition": "minecraft:location_check",
"predicate": {
"dimension": "minecraft:the_nether"
}
}
]
}
]
}
}
},
"rewards": {
"function": "custom_nether_portals:use_ignition"
}
}

View File

@@ -0,0 +1,4 @@
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~-1 ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_x
execute if score #success cusNetPor.dummy matches 0 positioned ~-1 ~ ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_x
execute if score #success cusNetPor.dummy matches 0 positioned ~1 ~ ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_x
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~1 ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_x

View File

@@ -0,0 +1,2 @@
execute positioned ~ ~-1 ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] positioned ~ ~1 ~ run function custom_nether_portals:check_x_sides
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~1 ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] positioned ~ ~-1 ~ run function custom_nether_portals:check_x_sides

View File

@@ -0,0 +1,2 @@
execute positioned ~-1 ~ ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run scoreboard players set #success cusNetPor.dummy -1
execute positioned ~1 ~ ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run scoreboard players set #success cusNetPor.dummy -1

View File

@@ -0,0 +1,4 @@
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~-1 ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_z
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~ ~-1 unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_z
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~ ~1 unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_z
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~1 ~ unless entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run function custom_nether_portals:try_to_iterate_z

View File

@@ -0,0 +1,2 @@
execute positioned ~ ~-1 ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] positioned ~ ~1 ~ run function custom_nether_portals:check_z_sides
execute if score #success cusNetPor.dummy matches 0 positioned ~ ~1 ~ if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] positioned ~ ~-1 ~ run function custom_nether_portals:check_z_sides

View File

@@ -0,0 +1,2 @@
execute positioned ~ ~ ~-1 if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run scoreboard players set #success cusNetPor.dummy -1
execute positioned ~ ~ ~1 if block ~ ~ ~ #custom_nether_portals:air if entity @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker,distance=..0.1] run scoreboard players set #success cusNetPor.dummy -1

View File

@@ -0,0 +1,12 @@
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
tellraw @s [" Custom Nether Portals",{"text":" / ","color":"gray"},"Global Settings "]
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
execute if score #nonRectangular cusNetPor.config matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","clickEvent":{"action":"run_command","value":"/function custom_nether_portals:config/disable_non_rectangular"},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to disable ","color":"red"},"Non-Rectangular Frames",{"text":".","color":"red"},{"text":"\nWhen enabled, nether portal frames can have non-rectangular shapes.","color":"gray"},{"text":"\nDefault: Enabled","color":"dark_gray"}]}}," Non-Rectangular Frames"]
execute unless score #nonRectangular cusNetPor.config matches 1 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","clickEvent":{"action":"run_command","value":"/function custom_nether_portals:config/enable_non_rectangular"},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to enable ","color":"green"},"Non-Rectangular Frames",{"text":".","color":"green"},{"text":"\nWhen enabled, nether portal frames can have non-rectangular shapes.","color":"gray"},{"text":"\nDefault: Enabled","color":"dark_gray"}]}}," Non-Rectangular Frames"]
execute if score #cryingObsidian cusNetPor.config matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","clickEvent":{"action":"run_command","value":"/function custom_nether_portals:config/disable_crying_obsidian"},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to disable ","color":"red"},"Crying Obsidian",{"text":".","color":"red"},{"text":"\nWhen enabled, nether portal frames can use crying obsidian.","color":"gray"},{"text":"\nDefault: Enabled","color":"dark_gray"}]}}," Crying Obsidian"]
execute unless score #cryingObsidian cusNetPor.config matches 1 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","clickEvent":{"action":"run_command","value":"/function custom_nether_portals:config/enable_crying_obsidian"},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to enable ","color":"green"},"Crying Obsidian",{"text":".","color":"green"},{"text":"\nWhen enabled, nether portal frames can use crying obsidian.","color":"gray"},{"text":"\nDefault: Enabled","color":"dark_gray"}]}}," Crying Obsidian"]
tellraw @s ["",{"text":"[ ✎ ]","color":"gray","clickEvent":{"action":"suggest_command","value":"/scoreboard players set #minSize cusNetPor.config "},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to enter the minimum number of obsidian blocks a nether portal frame can have.","color":"gray"},{"text":"\nAccepts: whole numbers 4-10\nDefault: 10","color":"dark_gray"}]}}," Min Frame Size ",{"text":"(Current: ","color":"gray"},{"score":{"name":"#minSize","objective":"cusNetPor.config"},"color":"gray"},{"text":")","color":"gray"}]
tellraw @s ["",{"text":"[ ✎ ]","color":"gray","clickEvent":{"action":"suggest_command","value":"/scoreboard players set #maxSize cusNetPor.config "},"hoverEvent":{"action":"show_text","contents":["",{"text":"Click to enter the maximum number of obsidian blocks a nether portal frame can have.","color":"gray"},{"text":"\nIncreasing this may lead to large portals not being broken properly.","color":"red"},{"text":"\nAccepts: whole numbers 84+\nDefault: 84","color":"dark_gray"}]}}," Max Frame Size ",{"text":"(Current: ","color":"gray"},{"score":{"name":"#maxSize","objective":"cusNetPor.config"},"color":"gray"},{"text":")","color":"gray"}]
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
execute store result score #sendCommandFeedback cusNetPor.config run gamerule sendCommandFeedback
execute if score #sendCommandFeedback cusNetPor.config matches 1 run function custom_nether_portals:hide_command_feedback

View File

@@ -0,0 +1,2 @@
scoreboard players set #cryingObsidian cusNetPor.config 0
function custom_nether_portals:config

View File

@@ -0,0 +1,2 @@
scoreboard players set #nonRectangular cusNetPor.config 0
function custom_nether_portals:config

View File

@@ -0,0 +1,2 @@
scoreboard players set #cryingObsidian cusNetPor.config 1
function custom_nether_portals:config

View File

@@ -0,0 +1,2 @@
scoreboard players set #nonRectangular cusNetPor.config 1
function custom_nether_portals:config

View File

@@ -0,0 +1,2 @@
execute unless block ~ ~ ~ #custom_nether_portals:air run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 run function custom_nether_portals:check_x

View File

@@ -0,0 +1,2 @@
execute unless block ~ ~ ~ #custom_nether_portals:air run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 run function custom_nether_portals:check_z

View File

@@ -0,0 +1,2 @@
execute at @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker] if block ~ ~ ~ #custom_nether_portals:air run setblock ~ ~ ~ minecraft:nether_portal[axis=x]
scoreboard players set #success cusNetPor.dummy 1

View File

@@ -0,0 +1,2 @@
schedule function custom_nether_portals:enable_trigger 1s
scoreboard players enable @a cusNetPor

View File

@@ -0,0 +1,2 @@
gamerule sendCommandFeedback false
schedule function custom_nether_portals:restore_command_feedback 1t replace

View File

@@ -0,0 +1,9 @@
scoreboard players set #ignited cusNetPor.dummy 1
scoreboard players set #success cusNetPor.dummy 0
scoreboard players set #size cusNetPor.dummy 0
function custom_nether_portals:try_to_iterate_x
execute if score #size cusNetPor.dummy < #minSize cusNetPor.config run scoreboard players set #success cusNetPor.dummy -1
execute unless score #nonRectangular cusNetPor.config matches 1 if score #success cusNetPor.dummy matches 0 at @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker] if block ~ ~ ~ #custom_nether_portals:obsidian run function custom_nether_portals:check_x_diagonal
execute if score #success cusNetPor.dummy matches 0 run function custom_nether_portals:create_portal_x
kill @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker]
execute unless score #success cusNetPor.dummy matches 1 run function custom_nether_portals:try_z

View File

@@ -0,0 +1,5 @@
summon minecraft:area_effect_cloud ~ ~ ~ {Tags:["cusNetPor.marker"]}
execute if score #cryingObsidian cusNetPor.config matches 0 if block ~ ~ ~ minecraft:crying_obsidian run scoreboard players set #success cusNetPor.dummy -1
execute if block ~ ~ ~ #custom_nether_portals:obsidian run scoreboard players add #size cusNetPor.dummy 1
execute if score #size cusNetPor.dummy > #maxSize cusNetPor.config run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 unless block ~ ~ ~ #custom_nether_portals:obsidian run function custom_nether_portals:continue_x

View File

@@ -0,0 +1,5 @@
summon minecraft:area_effect_cloud ~ ~ ~ {Tags:["cusNetPor.marker"]}
execute if score #cryingObsidian cusNetPor.config matches 0 if block ~ ~ ~ minecraft:crying_obsidian run scoreboard players set #success cusNetPor.dummy -1
execute if block ~ ~ ~ #custom_nether_portals:obsidian run scoreboard players add #size cusNetPor.dummy 1
execute if score #size cusNetPor.dummy > #maxSize cusNetPor.config run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 unless block ~ ~ ~ #custom_nether_portals:obsidian run function custom_nether_portals:continue_z

View File

@@ -0,0 +1,8 @@
scoreboard objectives add cusNetPor trigger "Custom Nether Portals"
scoreboard objectives add cusNetPor.config dummy "Custom Nether Portals Config"
scoreboard objectives add cusNetPor.dummy dummy
execute unless score #nonRectangular cusNetPor.config matches 0..1 run scoreboard players set #nonRectangular cusNetPor.config 1
execute unless score #cryingObsidian cusNetPor.config matches 0..1 run scoreboard players set #cryingObsidian cusNetPor.config 1
execute unless score #minSize cusNetPor.config matches 0.. run scoreboard players set #minSize cusNetPor.config 10
execute unless score #maxSize cusNetPor.config matches 0.. run scoreboard players set #maxSize cusNetPor.config 84
advancement revoke @a only custom_nether_portals:use_ignition

View File

@@ -0,0 +1,4 @@
scoreboard players remove #steps cusNetPor.dummy 1
execute if score #ignited cusNetPor.dummy matches 0 if block ~ ~ ~ #minecraft:fire unless block ^ ^ ^0.1 #custom_nether_portals:air align xyz run function custom_nether_portals:ignite
execute unless score #ignited cusNetPor.dummy matches 0 unless block ~ ~ ~ #minecraft:fire run scoreboard players set #ignited cusNetPor.dummy 0
execute unless score #steps cusNetPor.dummy matches 0 positioned ^ ^ ^0.1 run function custom_nether_portals:raycast

View File

@@ -0,0 +1,11 @@
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
tellraw @s [" Custom Nether Portals",{"text":" / ","color":"gray"},"Info "]
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
tellraw @s ["",{"text":">> ","color":"gray"},"Nether portal frames must use at least ",{"score":{"name":"#minSize","objective":"cusNetPor.config"}}," and at most ",{"score":{"name":"#maxSize","objective":"cusNetPor.config"}}," obsidian blocks."]
execute if score #nonRectangular cusNetPor.config matches 1 run tellraw @s ["",{"text":">> ","color":"gray"},"Nether portal frames ",{"text":"can","color":"green"}," have non-rectangular shapes."]
execute unless score #nonRectangular cusNetPor.config matches 1 run tellraw @s ["",{"text":">> ","color":"gray"},"Nether portal frames ",{"text":"cannot","color":"red"}," have non-rectangular shapes."]
execute if score #cryingObsidian cusNetPor.config matches 1 run tellraw @s ["",{"text":">> ","color":"gray"},"Nether portal frames ",{"text":"can","color":"green"}," use crying obsidian."]
execute unless score #cryingObsidian cusNetPor.config matches 1 run tellraw @s ["",{"text":">> ","color":"gray"},"Nether portal frames ",{"text":"cannot","color":"red"}," use crying obsidian."]
tellraw @s {"text":" ","color":"dark_gray","strikethrough":true}
scoreboard players set @s cusNetPor 0
scoreboard players enable @s cusNetPor

View File

@@ -0,0 +1,2 @@
execute unless predicate custom_nether_portals:valid run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 run function custom_nether_portals:iterate_x

View File

@@ -0,0 +1,2 @@
execute unless predicate custom_nether_portals:valid run scoreboard players set #success cusNetPor.dummy -1
execute if score #success cusNetPor.dummy matches 0 run function custom_nether_portals:iterate_z

View File

@@ -0,0 +1,2 @@
schedule function custom_nether_portals:try_to_trigger 5t
execute as @a[scores={cusNetPor=1}] run function custom_nether_portals:trigger

View File

@@ -0,0 +1,7 @@
scoreboard players set #success cusNetPor.dummy 0
scoreboard players set #size cusNetPor.dummy 0
function custom_nether_portals:try_to_iterate_z
execute if score #size cusNetPor.dummy < #minSize cusNetPor.config run scoreboard players set #success cusNetPor.dummy -1
execute unless score #nonRectangular cusNetPor.config matches 1 if score #success cusNetPor.dummy matches 0 as @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker] at @s if block ~ ~ ~ #custom_nether_portals:obsidian run function custom_nether_portals:check_z_diagonal
execute if score #success cusNetPor.dummy matches 0 at @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker] if block ~ ~ ~ #custom_nether_portals:air run setblock ~ ~ ~ minecraft:nether_portal[axis=z]
kill @e[type=minecraft:area_effect_cloud,tag=cusNetPor.marker]

View File

@@ -0,0 +1,5 @@
schedule clear custom_nether_portals:try_to_trigger
schedule clear custom_nether_portals:enable_trigger
scoreboard objectives remove cusNetPor
scoreboard objectives remove cusNetPor.config
scoreboard objectives remove cusNetPor.dummy

View File

@@ -0,0 +1,4 @@
advancement revoke @s only custom_nether_portals:use_ignition
scoreboard players set #ignited cusNetPor.dummy 0
scoreboard players set #steps cusNetPor.dummy 50
execute anchored eyes positioned ^ ^ ^ run function custom_nether_portals:raycast

View File

@@ -0,0 +1,11 @@
{
"condition": "minecraft:location_check",
"predicate": {
"light": {
"light": {
"min": 0,
"max": 15
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"values": [
"minecraft:air",
"minecraft:cave_air",
"minecraft:void_air",
"#minecraft:fire"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:obsidian",
"minecraft:crying_obsidian"
]
}

View File

@@ -0,0 +1,6 @@
{
"values": [
"minecraft:flint_and_steel",
"minecraft:fire_charge"
]
}

View File

@@ -0,0 +1,36 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_bow": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bow"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:dropper"
}
]
}
}
},
"requirements": [
[
"has_block",
"has_bow"
]
],
"rewards": {
"recipes": [
"dropper_to_dispenser:dispenser"
]
}
}

View File

@@ -0,0 +1,47 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_string": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:string"
}
]
}
},
"has_stick": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:stick"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:dropper"
}
]
}
}
},
"requirements": [
[
"has_block",
"has_string",
"has_stick"
]
],
"rewards": {
"recipes": [
"dropper_to_dispenser:dispenser"
]
}
}

View File

@@ -0,0 +1,24 @@
{
"type": "crafting_shaped",
"result": {
"item": "minecraft:dispenser",
"count": 1
},
"pattern": [
" S/",
"S#/",
" S/"
],
"key": {
"/": {
"item": "minecraft:string"
},
"S": {
"item": "minecraft:stick"
},
"#": {
"item": "minecraft:dropper"
}
},
"group": "dispenser"
}

View File

@@ -0,0 +1,16 @@
{
"type": "crafting_shapeless",
"result": {
"item": "minecraft:dispenser",
"count": 1
},
"ingredients": [
{
"item": "minecraft:dropper"
},
{
"item": "minecraft:bow"
}
],
"group": "dispenser"
}

View File

@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"flint_to_gravel:gravel"
]
},
"criteria": {
"has_flint": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:flint"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "flint_to_gravel:gravel"
}
}
},
"requirements": [
[
"has_flint",
"has_the_recipe"
]
]
}

View File

@@ -0,0 +1,16 @@
{
"type": "crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"item": "minecraft:flint"
}
},
"result": {
"item": "minecraft:gravel",
"count": 1
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:andesite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:andesite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/andesite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/andesite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bamboo_mosaic_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bamboo_mosaic"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/bamboo_mosaic_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/bamboo_mosaic_slab"
]
}
}

View File

@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:wheat"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:straight_to_shapeless/bread"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:straight_to_shapeless/bread"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:cobblestone_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/cobblestone_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/cobblestone_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:cut_red_sandstone_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:dark_oak_planks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/cut_red_sandstone_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/cut_red_sandstone_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:cut_sandstone_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:dark_prismarine"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/cut_sandstone_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/cut_sandstone_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:dark_prismarine_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:cut_red_sandstone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/dark_prismarine_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/dark_prismarine_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:diorite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:diorite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/diorite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/diorite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:end_stone_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:end_stone_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/end_stone_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/end_stone_brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:granite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:granite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/granite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/granite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mossy_cobblestone_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mossy_cobblestone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/mossy_cobblestone_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/mossy_cobblestone_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mossy_stone_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mossy_stone_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/mossy_stone_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/mossy_stone_brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mud_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:mud_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/mud_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/mud_brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:nether_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:nether_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/nether_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/nether_brick_slab"
]
}
}

View File

@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:sugar_cane"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:straight_to_shapeless/paper"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:straight_to_shapeless/paper"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_andesite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_andesite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/polished_andesite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/polished_andesite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_diorite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_diorite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/polished_diorite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/polished_diorite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_granite_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:polished_granite"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/polished_granite_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/polished_granite_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:prismarine_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:prismarine_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/prismarine_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/prismarine_brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:prismarine_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:prismarine"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/prismarine_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/prismarine_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:purpur_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:purpur_block"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/purpur_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/purpur_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:quartz_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:quartz_block"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/quartz_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/quartz_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:red_nether_brick_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:red_nether_bricks"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/red_nether_brick_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/red_nether_brick_slab"
]
}
}

View File

@@ -0,0 +1,43 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_slab": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:red_sandstone_slab"
}
]
}
},
"has_block": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:red_sandstone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:slabs/red_sandstone_slab"
}
}
},
"requirements": [
[
"has_slab",
"has_block",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"minecraft:slabs/red_sandstone_slab"
]
}
}

Some files were not shown because too many files have changed in this diff Show More