From 7f5a27234df305f01c38cb7d715cab7f89aba0cd Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Sat, 10 Jun 2017 11:15:21 +0100 Subject: [PATCH] added horseshoes with speed/jump effects when riding horse --- init.lua | 100 ++++++++++++++++++++++++++++ textures/mobs_horseshoe_bronze.png | Bin 0 -> 153 bytes textures/mobs_horseshoe_diamond.png | Bin 0 -> 153 bytes textures/mobs_horseshoe_mese.png | Bin 0 -> 153 bytes textures/mobs_horseshoe_steel.png | Bin 0 -> 153 bytes 5 files changed, 100 insertions(+) create mode 100644 textures/mobs_horseshoe_bronze.png create mode 100644 textures/mobs_horseshoe_diamond.png create mode 100644 textures/mobs_horseshoe_mese.png create mode 100644 textures/mobs_horseshoe_steel.png diff --git a/init.lua b/init.lua index bec98d2..2b5ee31 100644 --- a/init.lua +++ b/init.lua @@ -132,3 +132,103 @@ mobs:spawn({ }) mobs:register_egg("mob_horse:horse", "Horse", "wool_brown.png", 1) + + +-- horseshoe elper function +local apply_shoes = function(name, itemstack, obj, speed, jump, reverse) + + if obj.type ~= "object" then return end + + local mob = obj.ref + local ent = mob:get_luaentity() + + if ent.name and ent.name == "mob_horse:horse" then + + ent.max_speed_forward = speed + ent.jump_height = jump + ent.max_speed_reverse = reverse + ent.accel = speed + + minetest.chat_send_player(name, "Horse shoes fitted -" + .. " speed: " .. speed + .. " , jump height: " .. jump + .. " , stop speed: " .. reverse) + + itemstack:take_item() ; return itemstack + else + minetest.chat_send_player(name, "Horse shoes only work on horses!") + end +end + + +-- steel horseshoes +minetest.register_craftitem(":mobs:horseshoe_steel", { + description = "Steel HorseShoes (use on horse to apply)", + inventory_image = "mobs_horseshoe_steel.png", + on_use = function(itemstack, user, pointed_thing) + return apply_shoes(user:get_player_name(), itemstack, pointed_thing, 7, 4, 2) + end, +}) + +minetest.register_craft({ + output = "mobs:horseshoe_steel", + recipe = { + {"", "default:steelblock", ""}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + } +}) + +-- bronze horseshoes +minetest.register_craftitem(":mobs:horseshoe_bronze", { + description = "Bronze HorseShoes (use on horse to apply)", + inventory_image = "mobs_horseshoe_bronze.png", + on_use = function(itemstack, user, pointed_thing) + return apply_shoes(user:get_player_name(), itemstack, pointed_thing, 7, 4, 4) + end, +}) + +minetest.register_craft({ + output = "mobs:horseshoe_bronze", + recipe = { + {"", "default:bronzeblock", ""}, + {"default:bronze_ingot", "", "default:bronze_ingot"}, + {"default:bronze_ingot", "", "default:bronze_ingot"}, + } +}) + +-- mese horseshoes +minetest.register_craftitem(":mobs:horseshoe_mese", { + description = "Mese HorseShoes (use on horse to apply)", + inventory_image = "mobs_horseshoe_mese.png", + on_use = function(itemstack, user, pointed_thing) + return apply_shoes(user:get_player_name(), itemstack, pointed_thing, 9, 5, 8) + end, +}) + +minetest.register_craft({ + output = "mobs:horseshoe_mese", + recipe = { + {"", "default:mese", ""}, + {"default:mese_crystal_fragment", "", "default:mese_crystal_fragment"}, + {"default:mese_crystal_fragment", "", "default:mese_crystal_fragment"}, + } +}) + +-- diamond horseshoes +minetest.register_craftitem(":mobs:horseshoe_diamond", { + description = "Diamond HorseShoes (use on horse to apply)", + inventory_image = "mobs_horseshoe_diamond.png", + on_use = function(itemstack, user, pointed_thing) + return apply_shoes(user:get_player_name(), itemstack, pointed_thing, 10, 5, 6) + end, +}) + +minetest.register_craft({ + output = "mobs:horseshoe_diamond", + recipe = { + {"", "default:diamondblock", ""}, + {"default:diamond", "", "default:diamond"}, + {"default:diamond", "", "default:diamond"}, + } +}) diff --git a/textures/mobs_horseshoe_bronze.png b/textures/mobs_horseshoe_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..95ea057c64c1db9137955bb09d243a1d184f776e GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$6hm#~fO!2>zzS<2a z$XF8O7tG-B>_!@pW9RAO7{YNqIe~$Bt*ArNH6u2*Wvns0Jac$`IC)}tc(^65NJyj^ xWEdK(aY))|XyB9ZAS)q?A&~tVqnZN)!;gHPpJ}$$zCe>0JYD@<);T3K0RXp|C&mB( literal 0 HcmV?d00001 diff --git a/textures/mobs_horseshoe_diamond.png b/textures/mobs_horseshoe_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..7026f7949a8d83de980757f4a230359740d14a44 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$67Asa1UbwKI`&|`K zkg+7lFPOpM*^M+H$IjEmF@)oKasmVMT2Y6jYesBr%UEN0dFJr?aPq|P@Ni39k&s9; x$S^cmM#Ml}Zph9CJnKhtcheSs!1c)I$ztaD0e0s!!rC{_Rf literal 0 HcmV?d00001 diff --git a/textures/mobs_horseshoe_mese.png b/textures/mobs_horseshoe_mese.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3ce624b7c447b8488f6c94e60ed76c2a614ed7 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$6O?Aq9wi&NZk&glj zGL{7S1v5B2yO9Ru*m=4*hHzX@PGDeOE9#JR&4`U{8EXtL&m3MKPM#PZ9&U*%5)x?! w8HNUH9FjH~8u%nU$V!M}2xPy;sOG@H@FSn+XPRxbFVG|gPgg&ebxsLQ09d6a+W-In literal 0 HcmV?d00001 diff --git a/textures/mobs_horseshoe_steel.png b/textures/mobs_horseshoe_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..57ec7ce912b75cb13773ae949878b85bc9e09adc GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|t_%$68#ivec=2MPp_DaH zkg+7lFPOpM*^M+H$IjEmF@)oKasmVMT2Y6jYesBr%UEN0dFJr?aPq|P@Ni39k&s9; x$S^cmM#Ml}Zph9CJnKhtcheSs!1c)I$ztaD0e0sz;(C