Compare commits
No commits in common. "main" and "2.2.1-1.21.5" have entirely different histories.
main
...
2.2.1-1.21
@ -1,26 +0,0 @@
|
|||||||
name: Draft Release
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy-prod:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Check out repository code
|
|
||||||
uses: https://git.lzstealth.com/actions/checkout@v4
|
|
||||||
- name: Zip Repository
|
|
||||||
run: zip -r "${{ gitea.workspace }}/${{ vars.FILE_NAME }} ${{ gitea.ref_name }}.zip" ./*
|
|
||||||
- name: Create Release
|
|
||||||
id: create_release
|
|
||||||
uses: https://git.lzstealth.com/actions/gitea-release-action@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
tag_name: ${{ gitea.ref_name }}
|
|
||||||
name: Release ${{ gitea.ref_name }}
|
|
||||||
draft: true
|
|
||||||
prerelease: false
|
|
||||||
files: |-
|
|
||||||
${{ gitea.workspace }}/${{ vars.FILE_NAME }} ${{ gitea.ref_name }}.zip
|
|
@ -3,7 +3,6 @@
|
|||||||
## Tools
|
## Tools
|
||||||
- Wrench - Rotates blocks
|
- Wrench - Rotates blocks
|
||||||
- Trowels - Places random blocks from the hotbar
|
- Trowels - Places random blocks from the hotbar
|
||||||
- Hammer - Break a 3x3 area
|
|
||||||
|
|
||||||
Additionally, you can change the Wrench's mode by right clicking in your offhand.
|
Additionally, you can change the Wrench's mode by right clicking in your offhand.
|
||||||
Information on how the different wrench modes work is available [here](WrenchModes.md).
|
Information on how the different wrench modes work is available [here](WrenchModes.md).
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:item/handheld",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "lzstools:item/chisel/diamond"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:item/handheld",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "lzstools:item/chisel/iron"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:item/handheld",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "lzstools:item/hammer/hammer"
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 364 B |
Binary file not shown.
Before Width: | Height: | Size: 378 B |
Binary file not shown.
Before Width: | Height: | Size: 449 B |
@ -1,75 +1,19 @@
|
|||||||
{
|
{
|
||||||
"model": {
|
"model": {
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"property": "custom_model_data",
|
"property": "custom_model_data",
|
||||||
"fallback": {
|
"fallback": {
|
||||||
"type": "minecraft:model",
|
"type": "minecraft:model",
|
||||||
"model": "minecraft:item/carrot_on_a_stick"
|
"model": "minecraft:item/carrot_on_a_stick"
|
||||||
},
|
},
|
||||||
"cases": [
|
"cases": [
|
||||||
{
|
{ "when": "lzstools:wrench_default", "model": { "type": "model", "model": "lzstools:items/wrench/default" } },
|
||||||
"when": "lzstools:wrench_default",
|
{ "when": "lzstools:wrench_flip", "model": { "type": "model", "model": "lzstools:items/wrench/flip" } },
|
||||||
"model": {
|
{ "when": "lzstools:wrench_face_player", "model": { "type": "model", "model": "lzstools:items/wrench/face_player" } },
|
||||||
"type": "model",
|
{ "when": "lzstools:wrench_face_click", "model": { "type": "model", "model": "lzstools:items/wrench/face_click" } },
|
||||||
"model": "lzstools:items/wrench/default"
|
{ "when": "lzstools:wrench_terracotta", "model": { "type": "model", "model": "lzstools:items/wrench/terracotta" } },
|
||||||
}
|
{ "when": "lzstools:trowel_iron", "model": { "type": "model", "model": "lzstools:items/trowel/iron" } },
|
||||||
},
|
{ "when": "lzstools:trowel_diamond", "model": { "type": "model", "model": "lzstools:items/trowel/diamond" } }
|
||||||
{
|
]
|
||||||
"when": "lzstools:wrench_flip",
|
}
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/wrench/flip"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:wrench_face_player",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/wrench/face_player"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:wrench_face_click",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/wrench/face_click"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:wrench_terracotta",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/wrench/terracotta"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:trowel_iron",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/trowel/iron"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:trowel_diamond",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/trowel/diamond"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:chisel_iron",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/chisel/iron"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"when": "lzstools:chisel_diamond",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/chisel/diamond"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "select",
|
|
||||||
"property": "custom_model_data",
|
|
||||||
"fallback": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "minecraft:item/iron_pickaxe"
|
|
||||||
},
|
|
||||||
"cases": [
|
|
||||||
{
|
|
||||||
"when": "lzstools:hammer",
|
|
||||||
"model": {
|
|
||||||
"type": "model",
|
|
||||||
"model": "lzstools:items/hammer/hammer"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"display": {
|
|
||||||
"icon": {
|
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
|
||||||
"components": {
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:chisel_diamond"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"text": "As flawless as Michelangelo"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"text": "Craft a Diamond Chisel"
|
|
||||||
},
|
|
||||||
"show_toast": true,
|
|
||||||
"announce_to_chat": false,
|
|
||||||
"hidden": false
|
|
||||||
},
|
|
||||||
"parent": "lzstools:visible/chisel_iron",
|
|
||||||
"criteria": {
|
|
||||||
"": {
|
|
||||||
"trigger": "minecraft:recipe_crafted",
|
|
||||||
"conditions": {
|
|
||||||
"recipe_id": "lzstools_chisel:diamond"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"display": {
|
|
||||||
"icon": {
|
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
|
||||||
"components": {
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:chisel_iron"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"text": "Just take a stab at it"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"text": "Craft a Chisel"
|
|
||||||
},
|
|
||||||
"show_toast": true,
|
|
||||||
"announce_to_chat": false,
|
|
||||||
"hidden": false
|
|
||||||
},
|
|
||||||
"parent": "lzstools:visible/root",
|
|
||||||
"criteria": {
|
|
||||||
"": {
|
|
||||||
"trigger": "minecraft:recipe_crafted",
|
|
||||||
"conditions": {
|
|
||||||
"recipe_id": "lzstools_chisel:iron"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"display": {
|
|
||||||
"icon": {
|
|
||||||
"id": "minecraft:iron_pickaxe",
|
|
||||||
"components": {
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:hammer"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"text": "Hammering out the details"
|
|
||||||
},
|
|
||||||
"description": {
|
|
||||||
"text": "Craft a Hammer"
|
|
||||||
},
|
|
||||||
"show_toast": true,
|
|
||||||
"announce_to_chat": false,
|
|
||||||
"hidden": false
|
|
||||||
},
|
|
||||||
"parent": "lzstools:visible/root",
|
|
||||||
"criteria": {
|
|
||||||
"": {
|
|
||||||
"trigger": "minecraft:recipe_crafted",
|
|
||||||
"conditions": {
|
|
||||||
"recipe_id": "lzstools_hammer:hammer"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
scoreboard players set @s lzt_hammer_check 0
|
|
||||||
|
|
||||||
# Hammer
|
|
||||||
execute if predicate lzstools:hammer/mainhand run function lzstools_hammer:mainhand
|
|
@ -1 +0,0 @@
|
|||||||
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Diamond Chisel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:chisel_diamond"]},minecraft:custom_data={"lzstools":["chisel","chisel_diamond"]},minecraft:max_damage=2100]
|
|
@ -1 +0,0 @@
|
|||||||
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Iron Chisel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:chisel_iron"]},minecraft:custom_data={"lzstools":["chisel","chisel_iron"]},minecraft:max_damage=350]
|
|
@ -1 +0,0 @@
|
|||||||
give @s minecraft:iron_pickaxe[minecraft:item_name={"text":"Hammer","color":"light_purple"},minecraft:custom_model_data={strings:["lzstools:hammer"]},minecraft:custom_data={"lzstools":["hammer"]},minecraft:max_damage=2400]
|
|
@ -1 +1 @@
|
|||||||
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Diamond Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_diamond"]},minecraft:custom_data={"lzstools":["trowel","trowel_diamond"]},minecraft:max_damage=4500]
|
give @s minecraft:carrot_on_a_stick[minecraft:custom_name={"text":"Diamond Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_diamond"]},minecraft:custom_data={"lzstools":["trowel","trowel_diamond"]}]
|
@ -1 +1 @@
|
|||||||
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Iron Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_iron"]},minecraft:custom_data={"lzstools":["trowel","trowel_iron"]},minecraft:max_damage=750]
|
give @s minecraft:carrot_on_a_stick[minecraft:custom_name={"text":"Iron Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_iron"]},minecraft:custom_data={"lzstools":["trowel","trowel_iron"]}]
|
@ -1 +1 @@
|
|||||||
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=["Default"],minecraft:custom_model_data={strings:["lzstools:wrench_default"]},minecraft:custom_data={"lzstools":["wrench"]},minecraft:unbreakable={},minecraft:enchantment_glint_override=false,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}]
|
give @s minecraft:carrot_on_a_stick[minecraft:custom_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=["Default"],minecraft:custom_model_data={strings:["lzstools:wrench_default"]},minecraft:custom_data={"lzstools":["wrench"]},minecraft:unbreakable={},minecraft:enchantment_glint_override=false,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}]
|
@ -9,32 +9,9 @@ scoreboard objectives add lzt_wrench_raycast dummy
|
|||||||
scoreboard objectives add lzt_trowel_success dummy
|
scoreboard objectives add lzt_trowel_success dummy
|
||||||
scoreboard objectives add lzt_trowel_raycast dummy
|
scoreboard objectives add lzt_trowel_raycast dummy
|
||||||
scoreboard objectives add lzt_trowel_raycast_hit dummy
|
scoreboard objectives add lzt_trowel_raycast_hit dummy
|
||||||
scoreboard objectives add lzt_trowel_block_check dummy
|
|
||||||
scoreboard objectives add lzt_trowel_block_length dummy
|
scoreboard objectives add lzt_trowel_block_length dummy
|
||||||
|
scoreboard objectives add lzt_chosen_block_check dummy
|
||||||
scoreboard objectives add lzt_trowel_unbreaking_check dummy
|
scoreboard objectives add lzt_trowel_unbreaking_check dummy
|
||||||
scoreboard objectives add lzt_trowel_unbreaking_chance dummy
|
scoreboard objectives add lzt_trowel_unbreaking_chance dummy
|
||||||
scoreboard objectives add lzt_trowel_damage dummy
|
scoreboard objectives add lzt_trowel_damage dummy
|
||||||
scoreboard objectives add lzt_trowel_max_damage dummy
|
scoreboard objectives add lzt_trowel_max_damage dummy
|
||||||
|
|
||||||
# Chisel
|
|
||||||
scoreboard objectives add lzt_chisel_success dummy
|
|
||||||
scoreboard objectives add lzt_chisel_raycast dummy
|
|
||||||
scoreboard objectives add lzt_chisel_raycast_hit dummy
|
|
||||||
scoreboard objectives add lzt_chisel_block_check dummy
|
|
||||||
scoreboard objectives add lzt_chisel_slot dummy
|
|
||||||
scoreboard objectives add lzt_chisel_unbreaking_check dummy
|
|
||||||
scoreboard objectives add lzt_chisel_unbreaking_chance dummy
|
|
||||||
scoreboard objectives add lzt_chisel_damage dummy
|
|
||||||
scoreboard objectives add lzt_chisel_max_damage dummy
|
|
||||||
|
|
||||||
# Hammer
|
|
||||||
scoreboard objectives add lzt_hammer_check minecraft.used:minecraft.iron_pickaxe
|
|
||||||
scoreboard objectives add lzt_hammer_success dummy
|
|
||||||
scoreboard objectives add lzt_hammer_raycast dummy
|
|
||||||
scoreboard objectives add lzt_hammer_raycast_hit dummy
|
|
||||||
scoreboard objectives add lzt_hammer_side_raycast dummy
|
|
||||||
scoreboard objectives add lzt_hammer_side_raycast_hit dummy
|
|
||||||
scoreboard objectives add lzt_hammer_unbreaking_check dummy
|
|
||||||
scoreboard objectives add lzt_hammer_unbreaking_chance dummy
|
|
||||||
scoreboard objectives add lzt_hammer_damage dummy
|
|
||||||
scoreboard objectives add lzt_hammer_max_damage dummy
|
|
@ -1,5 +1,6 @@
|
|||||||
scoreboard players set @s lzt_click_check 0
|
scoreboard players set @s lzt_click_check 0
|
||||||
|
|
||||||
|
|
||||||
# Wrench
|
# Wrench
|
||||||
execute if predicate lzstools:wrench/mainhand run function lzstools_wrench:wrench/rotate
|
execute if predicate lzstools:wrench/mainhand run function lzstools_wrench:wrench/rotate
|
||||||
execute if predicate lzstools:wrench/offhand run function lzstools_wrench:wrench/offhand
|
execute if predicate lzstools:wrench/offhand run function lzstools_wrench:wrench/offhand
|
||||||
@ -7,6 +8,3 @@ execute if predicate lzstools:wrench/offhand run function lzstools_wrench:wrench
|
|||||||
# Trowel
|
# Trowel
|
||||||
execute if predicate lzstools:trowel/mainhand run function lzstools_trowel:mainhand
|
execute if predicate lzstools:trowel/mainhand run function lzstools_trowel:mainhand
|
||||||
execute if predicate lzstools:trowel/offhand run function lzstools_trowel:offhand
|
execute if predicate lzstools:trowel/offhand run function lzstools_trowel:offhand
|
||||||
|
|
||||||
# Chisel
|
|
||||||
execute if predicate lzstools:chisel/mainhand run function lzstools_chisel:mainhand
|
|
@ -1,6 +1,3 @@
|
|||||||
recipe give @s lzstools_wrench:wrench
|
recipe give @s lzstools_wrench:wrench
|
||||||
recipe give @s lzstools_trowel:iron
|
recipe give @s lzstools_trowel:iron
|
||||||
recipe give @s lzstools_trowel:diamond
|
recipe give @s lzstools_trowel:diamond
|
||||||
recipe give @s lzstools_chisel:iron
|
|
||||||
recipe give @s lzstools_chisel:diamond
|
|
||||||
recipe give @s lzstools_hammer:hammer
|
|
@ -1,5 +1,2 @@
|
|||||||
# Click Check
|
# Click Check
|
||||||
execute as @a if score @s lzt_click_check matches 1.. run function lzstools:check_click
|
execute as @a if score @s lzt_click_check matches 1.. run function lzstools:player
|
||||||
|
|
||||||
# Hammer Click Check
|
|
||||||
execute as @a if score @s lzt_hammer_check matches 1.. run function lzstools:check_hammer
|
|
@ -1,42 +1,4 @@
|
|||||||
# Uninstall
|
# Uninstall
|
||||||
|
|
||||||
# Click Check
|
|
||||||
scoreboard objectives remove lzt_click_check
|
scoreboard objectives remove lzt_click_check
|
||||||
|
|
||||||
# Wrench
|
|
||||||
scoreboard objectives remove lzt_wrench_success
|
scoreboard objectives remove lzt_wrench_success
|
||||||
scoreboard objectives remove lzt_wrench_raycast
|
scoreboard objectives remove lzt_wrench_raycast
|
||||||
|
|
||||||
# Trowel
|
|
||||||
scoreboard objectives remove lzt_trowel_success
|
|
||||||
scoreboard objectives remove lzt_trowel_raycast
|
|
||||||
scoreboard objectives remove lzt_trowel_raycast_hit
|
|
||||||
scoreboard objectives remove lzt_trowel_block_check
|
|
||||||
scoreboard objectives remove lzt_trowel_block_length
|
|
||||||
scoreboard objectives remove lzt_trowel_unbreaking_check
|
|
||||||
scoreboard objectives remove lzt_trowel_unbreaking_chance
|
|
||||||
scoreboard objectives remove lzt_trowel_damage
|
|
||||||
scoreboard objectives remove lzt_trowel_max_damage
|
|
||||||
|
|
||||||
# Chisel
|
|
||||||
scoreboard objectives remove lzt_chisel_success
|
|
||||||
scoreboard objectives remove lzt_chisel_raycast
|
|
||||||
scoreboard objectives remove lzt_chisel_raycast_hit
|
|
||||||
scoreboard objectives remove lzt_chisel_block_check
|
|
||||||
scoreboard objectives remove lzt_chisel_slot
|
|
||||||
scoreboard objectives remove lzt_chisel_unbreaking_check
|
|
||||||
scoreboard objectives remove lzt_chisel_unbreaking_chance
|
|
||||||
scoreboard objectives remove lzt_chisel_damage
|
|
||||||
scoreboard objectives remove lzt_chisel_max_damage
|
|
||||||
|
|
||||||
# Hammer
|
|
||||||
scoreboard objectives remove lzt_hammer_check
|
|
||||||
scoreboard objectives remove lzt_hammer_success
|
|
||||||
scoreboard objectives remove lzt_hammer_raycast
|
|
||||||
scoreboard objectives remove lzt_hammer_raycast_hit
|
|
||||||
scoreboard objectives remove lzt_hammer_side_raycast
|
|
||||||
scoreboard objectives remove lzt_hammer_side_raycast_hit
|
|
||||||
scoreboard objectives remove lzt_hammer_unbreaking_check
|
|
||||||
scoreboard objectives remove lzt_hammer_unbreaking_chance
|
|
||||||
scoreboard objectives remove lzt_hammer_damage
|
|
||||||
scoreboard objectives remove lzt_hammer_max_damage
|
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"predicates": {
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"chisel"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"predicates": {
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"hammer"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 1
|
"levels": 1
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 2
|
"levels": 2
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 3
|
"levels": 3
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": {
|
"levels": {
|
||||||
"min": 1,
|
"min": 1,
|
||||||
"max": 3
|
"max": 3
|
||||||
}
|
}
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 1
|
"levels": 1
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 2
|
"levels": 2
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": 3
|
"levels": 3
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,21 +1,21 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:enchantments": [
|
"minecraft:enchantments": [
|
||||||
{
|
{
|
||||||
"enchantment": "minecraft:unbreaking",
|
"enchantment": "minecraft:unbreaking",
|
||||||
"levels": {
|
"levels": {
|
||||||
"min": 1,
|
"min": 1,
|
||||||
"max": 3
|
"max": 3
|
||||||
}
|
}
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"wrench"
|
"wrench"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"wrench"
|
"wrench"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"minecraft:player_head",
|
|
||||||
"minecraft:zombie_head",
|
|
||||||
"minecraft:creeper_head",
|
|
||||||
"minecraft:skeleton_skull",
|
|
||||||
"minecraft:wither_skeleton_skull",
|
|
||||||
"minecraft:dragon_head"
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"minecraft:bedrock",
|
|
||||||
"minecraft:structure_block",
|
|
||||||
"minecraft:structure_void",
|
|
||||||
"minecraft:jigsaw",
|
|
||||||
"minecraft:command_block",
|
|
||||||
"minecraft:chain_command_block",
|
|
||||||
"minecraft:repeating_command_block",
|
|
||||||
"minecraft:test_instance_block",
|
|
||||||
"minecraft:test_block",
|
|
||||||
"minecraft:light",
|
|
||||||
"minecraft:end_portal",
|
|
||||||
"minecraft:end_portal_frame",
|
|
||||||
"minecraft:nether_portal",
|
|
||||||
"minecraft:reinforced_deepslate",
|
|
||||||
"minecraft:water",
|
|
||||||
"minecraft:lava"
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
scoreboard players set @s lzt_chisel_success 0
|
|
||||||
|
|
||||||
# Don't place if same block
|
|
||||||
$execute if block ~ ~ ~ $(chosen_block) run return fail
|
|
||||||
|
|
||||||
execute if score @s lzt_chisel_success matches 0 run function lzstools_chisel:block/place_normal with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 1 run function lzstools_chisel:block/remove_item with storage lzstools:chisel
|
|
@ -1,2 +0,0 @@
|
|||||||
# Place Leaves
|
|
||||||
$execute as @s store result score @s lzt_chisel_success setblock ~ ~ ~ $(chosen_block)[persistent=true] destroy
|
|
@ -1,5 +0,0 @@
|
|||||||
# Place NESW
|
|
||||||
$execute as @s[y_rotation=-45..45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=north] destroy
|
|
||||||
$execute as @s[y_rotation=45..135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=east] destroy
|
|
||||||
$execute as @s[y_rotation=135..-135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=south] destroy
|
|
||||||
$execute as @s[y_rotation=-135..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=west] destroy
|
|
@ -1,7 +0,0 @@
|
|||||||
# Place NESWUD
|
|
||||||
$execute as @s[x_rotation=45..90] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=up] destroy
|
|
||||||
$execute as @s[x_rotation=-90..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=down] destroy
|
|
||||||
$execute as @s[x_rotation=-45..45, y_rotation=-45..45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=north] destroy
|
|
||||||
$execute as @s[x_rotation=-45..45, y_rotation=45..135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=east] destroy
|
|
||||||
$execute as @s[x_rotation=-45..45, y_rotation=135..-135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=south] destroy
|
|
||||||
$execute as @s[x_rotation=-45..45, y_rotation=-135..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=west] destroy
|
|
@ -1,3 +0,0 @@
|
|||||||
# Place Slabs
|
|
||||||
$execute as @s if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[type=top] destroy
|
|
||||||
$execute as @s if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[type=bottom] destroy
|
|
@ -1,9 +0,0 @@
|
|||||||
# Place Stairs
|
|
||||||
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=south] destroy
|
|
||||||
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=west] destroy
|
|
||||||
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=north] destroy
|
|
||||||
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=east] destroy
|
|
||||||
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=south] destroy
|
|
||||||
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=west] destroy
|
|
||||||
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=north] destroy
|
|
||||||
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=east] destroy
|
|
@ -1,10 +0,0 @@
|
|||||||
# Place Trapdoors
|
|
||||||
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=north] destroy
|
|
||||||
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=east] destroy
|
|
||||||
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=south] destroy
|
|
||||||
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=west] destroy
|
|
||||||
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=north] destroy
|
|
||||||
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=east] destroy
|
|
||||||
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=south] destroy
|
|
||||||
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=west] destroy
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
# Place XYZ
|
|
||||||
$execute as @s if score py lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=y] destroy
|
|
||||||
$execute as @s if score py lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=y] destroy
|
|
||||||
$execute as @s if score px lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=x] destroy
|
|
||||||
$execute as @s if score px lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=x] destroy
|
|
||||||
$execute as @s if score pz lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=z] destroy
|
|
||||||
$execute as @s if score pz lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=z] destroy
|
|
@ -1,16 +0,0 @@
|
|||||||
# Get Raycast Target Coords
|
|
||||||
function lzstools_chisel:block/target_coords
|
|
||||||
|
|
||||||
$setblock ~ -64 ~ $(chosen_block)
|
|
||||||
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:xyz run function lzstools_chisel:block/place/xyz with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:neswud run function lzstools_chisel:block/place/neswud with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:nesw run function lzstools_chisel:block/place/nesw with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:glazed_terracotta run function lzstools_chisel:block/place/nesw with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:leaves run function lzstools_chisel:block/place/leaves with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:trapdoors run function lzstools_chisel:block/place/trapdoors with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:stairs run function lzstools_chisel:block/place/stairs with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:slabs run function lzstools_chisel:block/place/slabs with storage lzstools:chisel
|
|
||||||
$execute if score @s lzt_chisel_success matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block) destroy
|
|
||||||
|
|
||||||
setblock ~ -64 ~ bedrock
|
|
@ -1 +0,0 @@
|
|||||||
$execute if entity @s[gamemode=!creative] run clear @s $(chosen_block) 1
|
|
@ -1,22 +0,0 @@
|
|||||||
## Get Raycast Target Coords
|
|
||||||
|
|
||||||
# Stored Value for Calc
|
|
||||||
scoreboard players set c16 lzt_chisel_raycast 16
|
|
||||||
# Summon Invisible Entity
|
|
||||||
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]}
|
|
||||||
|
|
||||||
# Pixel Calculations
|
|
||||||
execute store result score px lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16
|
|
||||||
scoreboard players operation px lzt_chisel_raycast %= c16 lzt_chisel_raycast
|
|
||||||
execute if score px lzt_chisel_raycast matches ..-1 run scoreboard players add px lzt_chisel_raycast 16
|
|
||||||
|
|
||||||
execute store result score py lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16
|
|
||||||
scoreboard players operation py lzt_chisel_raycast %= c16 lzt_chisel_raycast
|
|
||||||
execute if score py lzt_chisel_raycast matches ..-1 run scoreboard players add py lzt_chisel_raycast 16
|
|
||||||
|
|
||||||
execute store result score pz lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16
|
|
||||||
scoreboard players operation pz lzt_chisel_raycast %= c16 lzt_chisel_raycast
|
|
||||||
execute if score pz lzt_chisel_raycast matches ..-1 run scoreboard players add pz lzt_chisel_raycast 16
|
|
||||||
|
|
||||||
# Remove Entity
|
|
||||||
kill @e[tag=RaycastMark,sort=nearest,limit=1]
|
|
@ -1 +0,0 @@
|
|||||||
$item modify entity @s weapon.mainhand {"function":"minecraft:set_components","components":{"minecraft:damage":$(damage)}}
|
|
@ -1,4 +0,0 @@
|
|||||||
execute if entity @s[predicate=lzstools_chisel:mainhand/iron] at @s anchored eyes run particle minecraft:item{item:"minecraft:iron_sword"} ^ ^-0.35 ^0.65 0.1 0.1 0.1 0.06 10 force
|
|
||||||
execute if entity @s[predicate=lzstools_chisel:mainhand/diamond] at @s anchored eyes run particle minecraft:item{item:"minecraft:diamond_sword"} ^ ^-0.35 ^0.65 0.1 0.1 0.1 0.06 10 force
|
|
||||||
item replace entity @s weapon.mainhand with minecraft:air
|
|
||||||
playsound minecraft:entity.item.break master @a ~ ~ ~ 1 1
|
|
@ -1,13 +0,0 @@
|
|||||||
scoreboard players reset @s lzt_chisel_unbreaking_check
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/all] run function lzstools_chisel:durability/mainhand/unbreaking
|
|
||||||
execute if score @s lzt_chisel_unbreaking_check matches 1 run return fail
|
|
||||||
|
|
||||||
# Handle Damage
|
|
||||||
data modify storage lzstools:chisel components set from entity @s SelectedItem.components
|
|
||||||
execute store result score @s lzt_chisel_damage run data get storage lzstools:chisel components."minecraft:damage"
|
|
||||||
execute store result score @s lzt_chisel_max_damage run data get storage lzstools:chisel components."minecraft:max_damage"
|
|
||||||
scoreboard players add @s lzt_chisel_damage 1
|
|
||||||
execute store result storage lzstools:chisel damage int 1 run scoreboard players get @s lzt_chisel_damage
|
|
||||||
|
|
||||||
function lzstools_chisel:durability/mainhand/apply with storage lzstools:chisel
|
|
||||||
execute if score @s lzt_chisel_damage >= @s lzt_chisel_max_damage run function lzstools_chisel:durability/mainhand/break
|
|
@ -1,4 +0,0 @@
|
|||||||
execute store result score @s lzt_chisel_unbreaking_chance run random value 1..100
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/3] if score @s lzt_chisel_unbreaking_chance matches ..75 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/2] if score @s lzt_chisel_unbreaking_chance matches ..66 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/1] if score @s lzt_chisel_unbreaking_chance matches ..50 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
|
|
@ -1,3 +0,0 @@
|
|||||||
tag @s add lzstools_chisel_mainhand
|
|
||||||
# Raycast from player's position
|
|
||||||
function lzstools_chisel:raycast/start
|
|
@ -1,16 +0,0 @@
|
|||||||
# Get Slot and block
|
|
||||||
function lzstools_chisel:select/start
|
|
||||||
|
|
||||||
# No block, don't place and end
|
|
||||||
execute store result score @s lzt_chisel_block_check run data get storage lzstools:chisel chosen_block
|
|
||||||
execute if score @s lzt_chisel_block_check matches 0 run return fail
|
|
||||||
|
|
||||||
# Place block
|
|
||||||
function lzstools_chisel:block/place with storage lzstools:chisel
|
|
||||||
|
|
||||||
execute if score @s lzt_chisel_success matches 0 run return fail
|
|
||||||
execute at @s run playsound minecraft:block.azalea_leaves.place master @a ~ ~ ~ 0.3 1
|
|
||||||
|
|
||||||
# Durability
|
|
||||||
execute if entity @s[tag=lzstools_chisel_mainhand,gamemode=!creative] run function lzstools_chisel:durability/mainhand/handle
|
|
||||||
execute if entity @s[tag=lzstools_chisel_offhand,gamemode=!creative] run function lzstools_chisel:durability/offhand/handle
|
|
@ -1,15 +0,0 @@
|
|||||||
## Raycast
|
|
||||||
|
|
||||||
# Set block data
|
|
||||||
execute as @s store result score @s lzt_chisel_raycast_hit run loot spawn ~ -65 ~ mine ~ ~ ~ minecraft:netherite_pickaxe[minecraft:enchantments={"minecraft:silk_touch":1}]
|
|
||||||
execute as @s run kill @n[type=minecraft:item,distance=..0.5,y=-65]
|
|
||||||
|
|
||||||
execute as @s if score @s lzt_chisel_raycast_hit matches 1 run function lzstools_chisel:raycast/hit
|
|
||||||
execute if score @s lzt_chisel_raycast_hit matches 1 run tag @s remove lzstools_chisel_mainhand
|
|
||||||
|
|
||||||
# Do nothing is unbreakable block
|
|
||||||
execute if block ~ ~ ~ #lzstools:unbreakable run return fail
|
|
||||||
|
|
||||||
# Advance forward and if nothing found
|
|
||||||
scoreboard players add #distance lzt_chisel_raycast 1
|
|
||||||
execute if score @s lzt_chisel_raycast_hit matches 0 if score #distance lzt_chisel_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_chisel:raycast/loop
|
|
@ -1,14 +0,0 @@
|
|||||||
#Setting up the raycasting data.
|
|
||||||
scoreboard players set #distance lzt_chisel_raycast 0
|
|
||||||
|
|
||||||
#Activating the raycast. This function will call itself until it is done.
|
|
||||||
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_chisel:raycast/loop
|
|
||||||
|
|
||||||
# Clean Data
|
|
||||||
data remove storage lzstools:chisel inventory
|
|
||||||
data remove storage lzstools:chisel damage
|
|
||||||
data remove storage lzstools:chisel components
|
|
||||||
data remove storage lzstools:chisel chosen_block
|
|
||||||
data remove storage lzstools:chisel chosen_slot
|
|
||||||
scoreboard players set @s lzt_chisel_damage 0
|
|
||||||
scoreboard players set @s lzt_chisel_max_damage 1
|
|
@ -1,6 +0,0 @@
|
|||||||
# No Shulkers
|
|
||||||
$execute if items entity @s hotbar.$(chosen_slot) #minecraft:shulker_boxes run return fail
|
|
||||||
|
|
||||||
$setblock ~ -64 ~ $(temp_id)
|
|
||||||
setblock ~ -64 ~ bedrock
|
|
||||||
$data modify storage lzstools:chisel chosen_block set value "$(temp_id)"
|
|
@ -1,2 +0,0 @@
|
|||||||
function lzstools_chisel:select/block_macro with storage lzstools:chisel
|
|
||||||
data remove storage lzstools:chisel temp_id
|
|
@ -1,4 +0,0 @@
|
|||||||
$data modify storage lzstools:chisel temp_id set from entity @s Inventory[{Slot:$(chosen_slot)b}].id
|
|
||||||
|
|
||||||
function lzstools_chisel:select/check_block with storage lzstools:chisel
|
|
||||||
setblock ~ -64 ~ bedrock
|
|
@ -1,7 +0,0 @@
|
|||||||
execute store result score @s lzt_chisel_slot run data get entity @s SelectedItemSlot
|
|
||||||
scoreboard players add @s lzt_chisel_slot 1
|
|
||||||
execute if score @s lzt_chisel_slot matches 9.. run return fail
|
|
||||||
execute store result storage lzstools:chisel chosen_slot int 1 run scoreboard players get @s lzt_chisel_slot
|
|
||||||
|
|
||||||
# Check Valid Block
|
|
||||||
function lzstools_chisel:select/get_block with storage lzstools:chisel
|
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"predicates": {
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"chisel_diamond"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"predicates": {
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"chisel_iron"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"category": "equipment",
|
|
||||||
"pattern": [
|
|
||||||
"d ",
|
|
||||||
"s "
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"s": "minecraft:stick",
|
|
||||||
"d": "minecraft:diamond"
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
|
||||||
"count": 1,
|
|
||||||
"components": {
|
|
||||||
"minecraft:max_damage": 2100,
|
|
||||||
"minecraft:item_name": {
|
|
||||||
"text": "Diamond Chisel",
|
|
||||||
"color": "aqua",
|
|
||||||
"italic": false
|
|
||||||
},
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:chisel_diamond"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"chisel",
|
|
||||||
"chisel_diamond"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"category": "equipment",
|
|
||||||
"pattern": [
|
|
||||||
"i ",
|
|
||||||
"s "
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"s": "minecraft:stick",
|
|
||||||
"i": "minecraft:iron_ingot"
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
|
||||||
"count": 1,
|
|
||||||
"components": {
|
|
||||||
"minecraft:max_damage": 350,
|
|
||||||
"minecraft:item_name": {
|
|
||||||
"text": "Iron Chisel",
|
|
||||||
"color": "aqua",
|
|
||||||
"italic": false
|
|
||||||
},
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:chisel_iron"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"chisel",
|
|
||||||
"chisel_iron"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
# Don't run if
|
|
||||||
execute if block ~ ~ ~ #lzstools:unbreakable run return fail
|
|
||||||
execute if block ~ ~ ~ #minecraft:air run return fail
|
|
||||||
execute if score @s lzt_hammer_damage >= @s lzt_hammer_max_damage run return fail
|
|
||||||
|
|
||||||
# Spawn item
|
|
||||||
loot spawn ~ ~ ~ mine ~ ~ ~ mainhand
|
|
||||||
|
|
||||||
|
|
||||||
# Break to update neighbors
|
|
||||||
clone ~ ~ ~ ~ ~ ~ ~ -64 ~ replace
|
|
||||||
setblock ~ ~ ~ minecraft:air replace
|
|
||||||
|
|
||||||
# Break
|
|
||||||
gamerule doTileDrops false
|
|
||||||
clone ~ -64 ~ ~ -64 ~ ~ ~ ~ replace
|
|
||||||
setblock ~ -64 ~ minecraft:bedrock replace
|
|
||||||
setblock ~ ~ ~ minecraft:air destroy
|
|
||||||
gamerule doTileDrops true
|
|
||||||
|
|
||||||
# Durability
|
|
||||||
function lzstools_hammer:durability/handle
|
|
@ -1,8 +0,0 @@
|
|||||||
execute positioned ~ ~1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~1 ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~1 ~-1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~ ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~ ~-1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~-1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~-1 ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~-1 ~-1 run function lzstools_hammer:break/break
|
|
@ -1,8 +0,0 @@
|
|||||||
execute positioned ~ ~1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~1 ~1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~1 ~ ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~ ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~-1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~1 ~-1 ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~-1 ~ run function lzstools_hammer:break/break
|
|
@ -1,8 +0,0 @@
|
|||||||
execute positioned ~1 ~ ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~1 ~ ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~1 ~ ~-1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~ ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~ ~ run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~-1 ~ ~-1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~ ~1 run function lzstools_hammer:break/break
|
|
||||||
execute positioned ~ ~ ~-1 run function lzstools_hammer:break/break
|
|
@ -1 +0,0 @@
|
|||||||
$item modify entity @s weapon.mainhand {"function":"minecraft:set_components","components":{"minecraft:damage":$(damage)}}
|
|
@ -1,3 +0,0 @@
|
|||||||
execute if entity @s[predicate=lzstools_hammer:hammer] at @s anchored eyes run particle minecraft:item{item:"minecraft:iron_pickaxe"} ^ ^-0.35 ^0.65 0.1 0.1 0.1 0.06 10 force
|
|
||||||
item replace entity @s weapon.mainhand with minecraft:air
|
|
||||||
playsound minecraft:entity.item.break master @a ~ ~ ~ 1 1
|
|
@ -1,13 +0,0 @@
|
|||||||
scoreboard players reset @s lzt_hammer_unbreaking_check
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/all] run function lzstools_hammer:durability/unbreaking
|
|
||||||
execute if score @s lzt_hammer_unbreaking_check matches 1 run return fail
|
|
||||||
|
|
||||||
# Handle Damage
|
|
||||||
data modify storage lzstools:hammer components set from entity @s SelectedItem.components
|
|
||||||
execute store result score @s lzt_hammer_damage run data get storage lzstools:hammer components."minecraft:damage"
|
|
||||||
execute store result score @s lzt_hammer_max_damage run data get storage lzstools:hammer components."minecraft:max_damage"
|
|
||||||
scoreboard players add @s lzt_hammer_damage 1
|
|
||||||
execute store result storage lzstools:hammer damage int 1 run scoreboard players get @s lzt_hammer_damage
|
|
||||||
|
|
||||||
function lzstools_hammer:durability/apply with storage lzstools:hammer
|
|
||||||
execute if score @s lzt_hammer_damage >= @s lzt_hammer_max_damage run function lzstools_hammer:durability/break
|
|
@ -1,4 +0,0 @@
|
|||||||
execute store result score @s lzt_hammer_unbreaking_chance run random value 1..100
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/3] if score @s lzt_hammer_unbreaking_chance matches ..75 run return run scoreboard players set @s lzt_hammer_unbreaking_check 1
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/2] if score @s lzt_hammer_unbreaking_chance matches ..66 run return run scoreboard players set @s lzt_hammer_unbreaking_check 1
|
|
||||||
execute if entity @s[predicate=lzstools:unbreaking/mainhand/1] if score @s lzt_hammer_unbreaking_chance matches ..50 run return run scoreboard players set @s lzt_hammer_unbreaking_check 1
|
|
@ -1,2 +0,0 @@
|
|||||||
scoreboard players set @s lzt_hammer_check 0
|
|
||||||
function lzstools_hammer:raycast/start
|
|
@ -1,15 +0,0 @@
|
|||||||
## Raycast Hit
|
|
||||||
|
|
||||||
scoreboard players set @s lzt_hammer_raycast_hit 1
|
|
||||||
|
|
||||||
setblock ~ ~ ~ minecraft:barrier replace
|
|
||||||
# Get Raycast Target Coords
|
|
||||||
function lzstools_hammer:raycast_side/start
|
|
||||||
setblock ~ ~ ~ minecraft:air replace
|
|
||||||
|
|
||||||
execute if score px lzt_hammer_side_raycast matches 0 run return run function lzstools_hammer:break/eastwest
|
|
||||||
execute if score px lzt_hammer_side_raycast matches 15 run return run function lzstools_hammer:break/eastwest
|
|
||||||
execute if score pz lzt_hammer_side_raycast matches 0 run return run function lzstools_hammer:break/northsouth
|
|
||||||
execute if score pz lzt_hammer_side_raycast matches 15 run return run function lzstools_hammer:break/northsouth
|
|
||||||
execute if score py lzt_hammer_side_raycast matches 0 run return run function lzstools_hammer:break/updown
|
|
||||||
execute if score py lzt_hammer_side_raycast matches 15 run return run function lzstools_hammer:break/updown
|
|
@ -1,7 +0,0 @@
|
|||||||
## Raycast Loop
|
|
||||||
|
|
||||||
execute as @s at @n[type=item,nbt={Age:0s},distance=..0.8] run function lzstools_hammer:raycast/hit
|
|
||||||
|
|
||||||
# Advance forward and if nothing found
|
|
||||||
scoreboard players add #distance lzt_hammer_raycast 1
|
|
||||||
execute if score @s lzt_hammer_raycast_hit matches 0 if score #distance lzt_hammer_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_hammer:raycast/loop
|
|
@ -1,13 +0,0 @@
|
|||||||
## Raycast Start
|
|
||||||
scoreboard players set #distance lzt_hammer_raycast 0
|
|
||||||
scoreboard players set @s lzt_hammer_raycast_hit 0
|
|
||||||
|
|
||||||
|
|
||||||
# Raycast
|
|
||||||
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_hammer:raycast/loop
|
|
||||||
|
|
||||||
# Clean Data
|
|
||||||
data remove storage lzstools:hammer damage
|
|
||||||
data remove storage lzstools:hammer components
|
|
||||||
scoreboard players set @s lzt_hammer_damage 0
|
|
||||||
scoreboard players set @s lzt_hammer_max_damage 1
|
|
@ -1,9 +0,0 @@
|
|||||||
## Raycast Loop
|
|
||||||
|
|
||||||
execute if block ~ ~ ~ minecraft:barrier run scoreboard players set @s lzt_hammer_side_raycast_hit 1
|
|
||||||
|
|
||||||
execute if score @s lzt_hammer_side_raycast_hit matches 1 run function lzstools_hammer:raycast_side/target_coords
|
|
||||||
|
|
||||||
# Advance forward and if nothing found
|
|
||||||
scoreboard players add #distance lzt_hammer_side_raycast 1
|
|
||||||
execute if score @s lzt_hammer_side_raycast_hit matches 0 if score #distance lzt_hammer_side_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_hammer:raycast_side/loop
|
|
@ -1,8 +0,0 @@
|
|||||||
## Raycast Start
|
|
||||||
scoreboard players set #distance lzt_hammer_side_raycast 0
|
|
||||||
scoreboard players set @s lzt_hammer_side_raycast_hit 0
|
|
||||||
|
|
||||||
# Raycast
|
|
||||||
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_hammer:raycast_side/loop
|
|
||||||
|
|
||||||
# Clean Data
|
|
@ -1,22 +0,0 @@
|
|||||||
## Get Raycast Target Coords
|
|
||||||
|
|
||||||
# Stored Value for Calc
|
|
||||||
scoreboard players set c16 lzt_hammer_side_raycast 16
|
|
||||||
# Summon Invisible Entity
|
|
||||||
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]}
|
|
||||||
|
|
||||||
# Pixel Calculations
|
|
||||||
execute store result score px lzt_hammer_side_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16
|
|
||||||
scoreboard players operation px lzt_hammer_side_raycast %= c16 lzt_hammer_side_raycast
|
|
||||||
execute if score px lzt_hammer_side_raycast matches ..-1 run scoreboard players add px lzt_hammer_side_raycast 16
|
|
||||||
|
|
||||||
execute store result score py lzt_hammer_side_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16
|
|
||||||
scoreboard players operation py lzt_hammer_side_raycast %= c16 lzt_hammer_side_raycast
|
|
||||||
execute if score py lzt_hammer_side_raycast matches ..-1 run scoreboard players add py lzt_hammer_side_raycast 16
|
|
||||||
|
|
||||||
execute store result score pz lzt_hammer_side_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16
|
|
||||||
scoreboard players operation pz lzt_hammer_side_raycast %= c16 lzt_hammer_side_raycast
|
|
||||||
execute if score pz lzt_hammer_side_raycast matches ..-1 run scoreboard players add pz lzt_hammer_side_raycast 16
|
|
||||||
|
|
||||||
# Remove Entity
|
|
||||||
kill @e[tag=RaycastMark,sort=nearest,limit=1]
|
|
@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"predicates": {
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"hammer"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"category": "equipment",
|
|
||||||
"pattern": [
|
|
||||||
"h ",
|
|
||||||
"s ",
|
|
||||||
"l "
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"h": "minecraft:heavy_core",
|
|
||||||
"s": "minecraft:stick",
|
|
||||||
"l": "minecraft:lightning_rod"
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"id": "minecraft:iron_pickaxe",
|
|
||||||
"count": 1,
|
|
||||||
"components": {
|
|
||||||
"minecraft:max_damage": 2400,
|
|
||||||
"minecraft:item_name": {
|
|
||||||
"text": "Hammer",
|
|
||||||
"color": "light_purple",
|
|
||||||
"italic": false
|
|
||||||
},
|
|
||||||
"minecraft:custom_model_data": {
|
|
||||||
"strings": [
|
|
||||||
"lzstools:hammer"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"minecraft:custom_data": {
|
|
||||||
"lzstools": [
|
|
||||||
"hammer"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,8 +5,8 @@ execute if entity @n[distance=..1] run return fail
|
|||||||
function lzstools_trowel:random/start
|
function lzstools_trowel:random/start
|
||||||
|
|
||||||
# No block, don't place and end
|
# No block, don't place and end
|
||||||
execute store result score @s lzt_trowel_block_check run data get storage lzstools:trowel chosen_block
|
execute store result score @s lzt_chosen_block_check run data get storage lzstools:trowel chosen_block
|
||||||
execute if score @s lzt_trowel_block_check matches 0 run return fail
|
execute if score @s lzt_chosen_block_check matches 0 run return fail
|
||||||
|
|
||||||
execute at @s run playsound minecraft:block.stone.place master @a ~ ~ ~ 1 1.2
|
execute at @s run playsound minecraft:block.stone.place master @a ~ ~ ~ 1 1.2
|
||||||
execute at @s run playsound minecraft:block.azalea_leaves.place master @a ~ ~ ~ 0.3 1
|
execute at @s run playsound minecraft:block.azalea_leaves.place master @a ~ ~ ~ 0.3 1
|
||||||
|
@ -11,4 +11,4 @@ execute if score @s lzt_trowel_raycast_hit matches 1 run tag @s remove lzstools_
|
|||||||
|
|
||||||
# Advance forward and if nothing found
|
# Advance forward and if nothing found
|
||||||
scoreboard players add #distance lzt_trowel_raycast 1
|
scoreboard players add #distance lzt_trowel_raycast 1
|
||||||
execute if score @s lzt_trowel_raycast_hit matches 0 if score #distance lzt_trowel_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_trowel:raycast/loop
|
execute if score @s lzt_trowel_raycast_hit matches 0 if score #distance lzt_trowel_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_trowel:raycast/rayloop
|
@ -2,7 +2,7 @@
|
|||||||
scoreboard players set #distance lzt_trowel_raycast 0
|
scoreboard players set #distance lzt_trowel_raycast 0
|
||||||
|
|
||||||
#Activating the raycast. This function will call itself until it is done.
|
#Activating the raycast. This function will call itself until it is done.
|
||||||
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_trowel:raycast/loop
|
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_trowel:raycast/rayloop
|
||||||
|
|
||||||
# Clean Data
|
# Clean Data
|
||||||
data remove storage lzstools:trowel inventory
|
data remove storage lzstools:trowel inventory
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel_diamond"
|
"trowel_diamond"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"mainhand": {
|
"mainhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel_iron"
|
"trowel_iron"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel_diamond"
|
"trowel_diamond"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"condition": "minecraft:entity_properties",
|
"condition": "minecraft:entity_properties",
|
||||||
"entity": "this",
|
"entity": "this",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"offhand": {
|
"offhand": {
|
||||||
"predicates": {
|
"predicates": {
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel_iron"
|
"trowel_iron"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,36 +1,36 @@
|
|||||||
{
|
{
|
||||||
"type": "minecraft:crafting_shaped",
|
"type": "minecraft:crafting_shaped",
|
||||||
"category": "equipment",
|
"category": "equipment",
|
||||||
"pattern": [
|
"pattern": [
|
||||||
" ",
|
" ",
|
||||||
"s ",
|
"s ",
|
||||||
" dd"
|
" dd"
|
||||||
],
|
],
|
||||||
"key": {
|
"key": {
|
||||||
"s": "minecraft:stick",
|
"s": "minecraft:stick",
|
||||||
"d": "minecraft:diamond"
|
"d": "minecraft:diamond"
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
"id": "minecraft:carrot_on_a_stick",
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"components": {
|
"components": {
|
||||||
"minecraft:max_damage": 4500,
|
"minecraft:max_damage": 4500,
|
||||||
"minecraft:item_name": {
|
"minecraft:custom_name": {
|
||||||
"text": "Diamond Trowel",
|
"text": "Diamond Trowel",
|
||||||
"color": "aqua",
|
"color": "aqua",
|
||||||
"italic": false
|
"italic": false
|
||||||
},
|
},
|
||||||
"minecraft:custom_model_data": {
|
"minecraft:custom_model_data": {
|
||||||
"strings": [
|
"strings": [
|
||||||
"lzstools:trowel_diamond"
|
"lzstools:trowel_diamond"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel",
|
"trowel",
|
||||||
"trowel_diamond"
|
"trowel_diamond"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,36 +1,36 @@
|
|||||||
{
|
{
|
||||||
"type": "minecraft:crafting_shaped",
|
"type": "minecraft:crafting_shaped",
|
||||||
"category": "equipment",
|
"category": "equipment",
|
||||||
"pattern": [
|
"pattern": [
|
||||||
" ",
|
" ",
|
||||||
"s ",
|
"s ",
|
||||||
" ii"
|
" ii"
|
||||||
],
|
],
|
||||||
"key": {
|
"key": {
|
||||||
"s": "minecraft:stick",
|
"s": "minecraft:stick",
|
||||||
"i": "minecraft:iron_ingot"
|
"i": "minecraft:iron_ingot"
|
||||||
},
|
},
|
||||||
"result": {
|
"result": {
|
||||||
"id": "minecraft:carrot_on_a_stick",
|
"id": "minecraft:carrot_on_a_stick",
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"components": {
|
"components": {
|
||||||
"minecraft:max_damage": 750,
|
"minecraft:max_damage": 750,
|
||||||
"minecraft:item_name": {
|
"minecraft:custom_name": {
|
||||||
"text": "Iron Trowel",
|
"text": "Iron Trowel",
|
||||||
"color": "aqua",
|
"color": "aqua",
|
||||||
"italic": false
|
"italic": false
|
||||||
},
|
},
|
||||||
"minecraft:custom_model_data": {
|
"minecraft:custom_model_data": {
|
||||||
"strings": [
|
"strings": [
|
||||||
"lzstools:trowel_iron"
|
"lzstools:trowel_iron"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"minecraft:custom_data": {
|
"minecraft:custom_data": {
|
||||||
"lzstools": [
|
"lzstools": [
|
||||||
"trowel",
|
"trowel",
|
||||||
"trowel_iron"
|
"trowel_iron"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -5,7 +5,6 @@ function lzstools_wrench:raycast/target_coords
|
|||||||
|
|
||||||
# Partial Boxes
|
# Partial Boxes
|
||||||
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox/banners
|
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox/banners
|
||||||
execute if block ~ ~ ~ #lzstools:skulls run function lzstools_wrench:raycast/partialbox/skulls
|
|
||||||
execute if block ~ ~ ~ #minecraft:rails run function lzstools_wrench:raycast/partialbox/rails
|
execute if block ~ ~ ~ #minecraft:rails run function lzstools_wrench:raycast/partialbox/rails
|
||||||
execute if block ~ ~ ~ #minecraft:trapdoors run function lzstools_wrench:raycast/partialbox/trapdoors
|
execute if block ~ ~ ~ #minecraft:trapdoors run function lzstools_wrench:raycast/partialbox/trapdoors
|
||||||
execute if block ~ ~ ~ #minecraft:slabs run function lzstools_wrench:raycast/partialbox/slabs
|
execute if block ~ ~ ~ #minecraft:slabs run function lzstools_wrench:raycast/partialbox/slabs
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
# Banners
|
# Banners
|
||||||
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 run function lzstools_wrench:rotate/banners/rotate
|
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:rotate/banners/rotate
|
@ -1,2 +1,2 @@
|
|||||||
# Decorated Pot
|
# Decorated Pot
|
||||||
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 run function lzstools_wrench:rotate/nesw/rotate
|
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if block ~ ~ ~ minecraft:decorated_pot run function lzstools_wrench:rotate/nesw/rotate
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
# Ender Chest
|
# Ender Chest
|
||||||
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches ..14 run function lzstools_wrench:rotate/nesw/rotate
|
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches ..14 if block ~ ~ ~ minecraft:ender_chest run function lzstools_wrench:rotate/nesw/rotate
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
# Skulls
|
|
||||||
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/skulls/rotate
|
|
@ -8,7 +8,6 @@ execute as @s run execute as @s run kill @n[type=minecraft:item,distance=..0.5,y
|
|||||||
# Partial Blocks
|
# Partial Blocks
|
||||||
execute if block ~ ~ ~ #lzstools:partialbox run function lzstools_wrench:raycast/partialbox
|
execute if block ~ ~ ~ #lzstools:partialbox run function lzstools_wrench:raycast/partialbox
|
||||||
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox
|
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox
|
||||||
execute if block ~ ~ ~ #lzstools:skulls run function lzstools_wrench:raycast/partialbox
|
|
||||||
|
|
||||||
# Remaining Blocks
|
# Remaining Blocks
|
||||||
execute unless block ~ ~ ~ #lzstools:partialbox if block ~ ~ ~ #lzstools:neswud run function lzstools_wrench:rotate/neswud/rotate
|
execute unless block ~ ~ ~ #lzstools:partialbox if block ~ ~ ~ #lzstools:neswud run function lzstools_wrench:rotate/neswud/rotate
|
||||||
@ -24,4 +23,4 @@ execute as @s[scores={lzt_wrench_success=1..}] run playsound minecraft:entity.it
|
|||||||
|
|
||||||
# Advance forward and if nothing found
|
# Advance forward and if nothing found
|
||||||
scoreboard players add #distance lzt_wrench_raycast 1
|
scoreboard players add #distance lzt_wrench_raycast 1
|
||||||
execute if score @s lzt_wrench_success matches 0 if score #distance lzt_wrench_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_wrench:raycast/loop
|
execute if score @s lzt_wrench_success matches 0 if score #distance lzt_wrench_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_wrench:raycast/rayloop
|
@ -2,7 +2,7 @@
|
|||||||
scoreboard players set #distance lzt_wrench_raycast 0
|
scoreboard players set #distance lzt_wrench_raycast 0
|
||||||
|
|
||||||
#Activating the raycast. This function will call itself until it is done.
|
#Activating the raycast. This function will call itself until it is done.
|
||||||
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_wrench:raycast/loop
|
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_wrench:raycast/rayloop
|
||||||
|
|
||||||
# Clean Data
|
# Clean Data
|
||||||
data remove storage lzstools:wrench block
|
data remove storage lzstools:wrench block
|
@ -1,13 +0,0 @@
|
|||||||
## Face Click Heads and Skulls
|
|
||||||
|
|
||||||
# Get Raycast Target Coords
|
|
||||||
function lzstools_wrench:raycast/target_coords
|
|
||||||
|
|
||||||
# Heads and skulls don't have full hitboxes, nothing else uses numeric rotation
|
|
||||||
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 4 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=0] replace
|
|
||||||
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 11 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=4] replace
|
|
||||||
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 11 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=8] replace
|
|
||||||
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 4 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=12] replace
|
|
||||||
|
|
||||||
# Otherwise, Flip
|
|
||||||
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/skulls/flip with storage lzstools:wrench
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user