diff --git a/res/content/base/content.json b/res/content/base/content.json index 71b5d16d..ef2f084b 100644 --- a/res/content/base/content.json +++ b/res/content/base/content.json @@ -1,27 +1,30 @@ { - "blocks": [ - "dirt", - "grass_block", - "lamp", - "glass", - "planks", - "wood", - "leaves", - "stone", - "water", - "sand", - "bazalt", - "grass", - "flower", - "brick", - "metal", - "rust", - "red_lamp", - "green_lamp", - "blue_lamp", - "pane", - "pipe", - "lightbulb", - "torch" - ] -} + "items": [ + "bazalt_breaker" + ], + "blocks": [ + "dirt", + "grass_block", + "lamp", + "glass", + "planks", + "wood", + "leaves", + "stone", + "water", + "sand", + "bazalt", + "grass", + "flower", + "brick", + "metal", + "rust", + "red_lamp", + "green_lamp", + "blue_lamp", + "pane", + "pipe", + "lightbulb", + "torch" + ] +} \ No newline at end of file diff --git a/res/content/base/items/bazalt_breaker.json b/res/content/base/items/bazalt_breaker.json new file mode 100644 index 00000000..59aeabdb --- /dev/null +++ b/res/content/base/items/bazalt_breaker.json @@ -0,0 +1,4 @@ +{ + "icon-type": "sprite", + "icon": "items:bazalt_breaker" +} diff --git a/res/content/base/scripts/bazalt_breaker.lua b/res/content/base/scripts/bazalt_breaker.lua new file mode 100644 index 00000000..41cba031 --- /dev/null +++ b/res/content/base/scripts/bazalt_breaker.lua @@ -0,0 +1,3 @@ +function on_block_break_by(x, y, z, p) + set_block(x, y, z, 0, 0) +end diff --git a/res/content/base/textures/items/bazalt_breaker.png b/res/content/base/textures/items/bazalt_breaker.png new file mode 100644 index 00000000..2e15563f Binary files /dev/null and b/res/content/base/textures/items/bazalt_breaker.png differ diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index 8c410042..4b53bef7 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -260,7 +260,7 @@ void PlayerController::updateInteraction(){ } if (lclick) { - if (!input.shift && item->rt.funcsset.on_use_on_block) { + if (!input.shift && item->rt.funcsset.on_block_break_by) { if (scripting::on_item_break_block(player, item, x, y, z)) return; }