forked from mtcontrib/mob_horse
Compare commits
13 Commits
nalc-1.0
...
nalc-1.2.0
Author | SHA1 | Date | |
---|---|---|---|
03127ee343 | |||
d32cc582c6 | |||
e6fbb585ad | |||
a49f766a5f | |||
5414d09a9b | |||
5bf8ecbbf1 | |||
2769a472cc | |||
4b6fb606a6 | |||
6e7db683ac | |||
ed409a6e9a | |||
6fb7f56af4 | |||
8b206882a4 | |||
77290fdd7e |
122
init.lua
122
init.lua
@ -3,6 +3,22 @@
|
|||||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||||
local S, NS = dofile(MP .. "/intllib.lua")
|
local S, NS = dofile(MP .. "/intllib.lua")
|
||||||
|
|
||||||
|
|
||||||
|
-- 0.4.17 or 5.0 check
|
||||||
|
local y_off = 20
|
||||||
|
if minetest.registered_nodes["default:permafrost"] then
|
||||||
|
y_off = 10
|
||||||
|
end
|
||||||
|
|
||||||
|
-- horse shoes (speed, jump, break, overlay texture)
|
||||||
|
local shoes = {
|
||||||
|
["mobs:horseshoe_steel"] = {7, 4, 2, "mobs_horseshoe_steelo.png"},
|
||||||
|
["mobs:horseshoe_bronze"] = {7, 4, 4, "mobs_horseshoe_bronzeo.png"},
|
||||||
|
["mobs:horseshoe_mese"] = {9, 5, 8, "mobs_horseshoe_meseo.png"},
|
||||||
|
["mobs:horseshoe_diamond"] = {10, 6, 6, "mobs_horseshoe_diamondo.png"}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
-- rideable horse
|
-- rideable horse
|
||||||
|
|
||||||
mobs:register_mob("mob_horse:horse", {
|
mobs:register_mob("mob_horse:horse", {
|
||||||
@ -31,7 +47,9 @@ mobs:register_mob("mob_horse:horse", {
|
|||||||
fly = false,
|
fly = false,
|
||||||
walk_chance = 60,
|
walk_chance = 60,
|
||||||
view_range = 5,
|
view_range = 5,
|
||||||
follow = {"farming:wheat", "default:apple"},
|
follow = {
|
||||||
|
"farming:wheat", "default:apple", "farming:oat",
|
||||||
|
"farming:barley", "farming:corn"},
|
||||||
passive = true,
|
passive = true,
|
||||||
hp_min = 12,
|
hp_min = 12,
|
||||||
hp_max = 16,
|
hp_max = 16,
|
||||||
@ -53,7 +71,7 @@ mobs:register_mob("mob_horse:horse", {
|
|||||||
self.max_speed_reverse = 2
|
self.max_speed_reverse = 2
|
||||||
self.accel = 6
|
self.accel = 6
|
||||||
self.terrain_type = 3
|
self.terrain_type = 3
|
||||||
self.driver_attach_at = {x = 0, y = 20, z = -2}
|
self.driver_attach_at = {x = 0, y = y_off, z = -2}
|
||||||
self.driver_eye_offset = {x = 0, y = 3, z = 0}
|
self.driver_eye_offset = {x = 0, y = 3, z = 0}
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -73,9 +91,12 @@ mobs:register_mob("mob_horse:horse", {
|
|||||||
-- drop saddle when horse is killed while riding
|
-- drop saddle when horse is killed while riding
|
||||||
-- also detach from horse properly
|
-- also detach from horse properly
|
||||||
if self.driver then
|
if self.driver then
|
||||||
|
|
||||||
minetest.add_item(pos, "mobs:saddle")
|
minetest.add_item(pos, "mobs:saddle")
|
||||||
|
|
||||||
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
|
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
|
||||||
self.saddle = nil
|
|
||||||
|
self.saddle = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
-- drop any horseshoes added
|
-- drop any horseshoes added
|
||||||
@ -106,6 +127,8 @@ self.saddle = nil
|
|||||||
if self.tamed and self.owner == clicker:get_player_name() then
|
if self.tamed and self.owner == clicker:get_player_name() then
|
||||||
|
|
||||||
local inv = clicker:get_inventory()
|
local inv = clicker:get_inventory()
|
||||||
|
local tool = clicker:get_wielded_item()
|
||||||
|
local item = tool:get_name()
|
||||||
|
|
||||||
-- detatch player already riding horse
|
-- detatch player already riding horse
|
||||||
if self.driver and clicker == self.driver then
|
if self.driver and clicker == self.driver then
|
||||||
@ -119,10 +142,10 @@ self.saddle = nil
|
|||||||
minetest.add_item(clicker:get_pos(), "mobs:saddle")
|
minetest.add_item(clicker:get_pos(), "mobs:saddle")
|
||||||
end
|
end
|
||||||
|
|
||||||
self.saddle = nil
|
self.saddle = nil
|
||||||
|
|
||||||
-- attach player to horse
|
-- attach player to horse
|
||||||
elseif (not self.driver
|
elseif (not self.driver and not self.child
|
||||||
and clicker:get_wielded_item():get_name() == "mobs:saddle")
|
and clicker:get_wielded_item():get_name() == "mobs:saddle")
|
||||||
or self.saddle then
|
or self.saddle then
|
||||||
|
|
||||||
@ -134,13 +157,50 @@ self.saddle = nil
|
|||||||
inv:remove_item("main", "mobs:saddle")
|
inv:remove_item("main", "mobs:saddle")
|
||||||
end
|
end
|
||||||
|
|
||||||
self.saddle = true
|
self.saddle = true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- apply horseshoes
|
||||||
|
if item:find("mobs:horseshoe") then
|
||||||
|
|
||||||
|
-- drop any existing shoes
|
||||||
|
if self.shoed then
|
||||||
|
minetest.add_item(self.object:get_pos(), self.shoed)
|
||||||
|
end
|
||||||
|
|
||||||
|
local speed = shoes[item][1]
|
||||||
|
local jump = shoes[item][2]
|
||||||
|
local reverse = shoes[item][3]
|
||||||
|
local overlay = shoes[item][4]
|
||||||
|
|
||||||
|
self.max_speed_forward = speed
|
||||||
|
self.jump_height = jump
|
||||||
|
self.max_speed_reverse = reverse
|
||||||
|
self.accel = speed
|
||||||
|
self.shoed = item
|
||||||
|
|
||||||
|
-- apply horseshoe overlay to current horse texture
|
||||||
|
if overlay then
|
||||||
|
self.texture_mods = "^" .. overlay
|
||||||
|
self.object:set_texture_mod(self.texture_mods)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- show horse speed and jump stats with shoes fitted
|
||||||
|
minetest.chat_send_player(clicker:get_player_name(),
|
||||||
|
S("Horse shoes fitted -")
|
||||||
|
.. S(" speed: ") .. speed
|
||||||
|
.. S(" , jump height: ") .. jump
|
||||||
|
.. S(" , stop speed: ") .. reverse)
|
||||||
|
|
||||||
|
tool:take_item() ; clicker:set_wielded_item(tool)
|
||||||
|
|
||||||
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- used to capture horse with magic lasso
|
-- used to capture horse with magic lasso
|
||||||
mobs:capture_mob(self, clicker, 0, 0, 80, false, nil)
|
mobs:capture_mob(self, clicker, 0, 0, 80, false, nil)
|
||||||
end
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
mobs:spawn({
|
mobs:spawn({
|
||||||
@ -157,46 +217,10 @@ mobs:spawn({
|
|||||||
mobs:register_egg("mob_horse:horse", S("Horse"), "wool_brown.png", 1)
|
mobs:register_egg("mob_horse:horse", S("Horse"), "wool_brown.png", 1)
|
||||||
|
|
||||||
|
|
||||||
-- horseshoe helper function
|
|
||||||
local apply_shoes = function(name, itemstack, obj, shoes, speed, jump, reverse)
|
|
||||||
|
|
||||||
if obj.type ~= "object" then return end
|
|
||||||
|
|
||||||
local mob = obj.ref
|
|
||||||
local ent = mob:get_luaentity()
|
|
||||||
|
|
||||||
if ent and ent.name and ent.name == "mob_horse:horse" then
|
|
||||||
|
|
||||||
if ent.shoed then
|
|
||||||
minetest.add_item(mob:get_pos(), ent.shoed)
|
|
||||||
end
|
|
||||||
|
|
||||||
ent.max_speed_forward = speed
|
|
||||||
ent.jump_height = jump
|
|
||||||
ent.max_speed_reverse = reverse
|
|
||||||
ent.accel = speed
|
|
||||||
ent.shoed = shoes
|
|
||||||
|
|
||||||
minetest.chat_send_player(name, S("Horse shoes fitted -")
|
|
||||||
.. S(" speed: ") .. speed
|
|
||||||
.. S(" , jump height: ") .. jump
|
|
||||||
.. S(" , stop speed: ") .. reverse)
|
|
||||||
|
|
||||||
itemstack:take_item() ; return itemstack
|
|
||||||
else
|
|
||||||
minetest.chat_send_player(name, S("Horse shoes only work on horses!"))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- steel horseshoes
|
-- steel horseshoes
|
||||||
minetest.register_craftitem(":mobs:horseshoe_steel", {
|
minetest.register_craftitem(":mobs:horseshoe_steel", {
|
||||||
description = S("Steel HorseShoes (use on horse to apply)"),
|
description = S("Steel HorseShoes (use on horse to apply)"),
|
||||||
inventory_image = "mobs_horseshoe_steel.png",
|
inventory_image = "mobs_horseshoe_steel.png",
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
|
||||||
"mobs:horseshoe_steel", 7, 4, 2)
|
|
||||||
end,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -212,10 +236,6 @@ minetest.register_craft({
|
|||||||
minetest.register_craftitem(":mobs:horseshoe_bronze", {
|
minetest.register_craftitem(":mobs:horseshoe_bronze", {
|
||||||
description = S("Bronze HorseShoes (use on horse to apply)"),
|
description = S("Bronze HorseShoes (use on horse to apply)"),
|
||||||
inventory_image = "mobs_horseshoe_bronze.png",
|
inventory_image = "mobs_horseshoe_bronze.png",
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
|
||||||
"mobs:horseshoe_bronze", 7, 4, 4)
|
|
||||||
end,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -231,10 +251,6 @@ minetest.register_craft({
|
|||||||
minetest.register_craftitem(":mobs:horseshoe_mese", {
|
minetest.register_craftitem(":mobs:horseshoe_mese", {
|
||||||
description = S("Mese HorseShoes (use on horse to apply)"),
|
description = S("Mese HorseShoes (use on horse to apply)"),
|
||||||
inventory_image = "mobs_horseshoe_mese.png",
|
inventory_image = "mobs_horseshoe_mese.png",
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
|
||||||
"mobs:horseshoe_mese", 9, 5, 8)
|
|
||||||
end,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
@ -250,10 +266,6 @@ minetest.register_craft({
|
|||||||
minetest.register_craftitem(":mobs:horseshoe_diamond", {
|
minetest.register_craftitem(":mobs:horseshoe_diamond", {
|
||||||
description = S("Diamond HorseShoes (use on horse to apply)"),
|
description = S("Diamond HorseShoes (use on horse to apply)"),
|
||||||
inventory_image = "mobs_horseshoe_diamond.png",
|
inventory_image = "mobs_horseshoe_diamond.png",
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
|
||||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
|
||||||
"mobs:horseshoe_diamond", 10, 6, 6)
|
|
||||||
end,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
59
locale/it_IT.po
Normal file
59
locale/it_IT.po
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: \n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-02-06 00:07+0800\n"
|
||||||
|
"PO-Revision-Date: 2020-05-11 13:43+0200\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 2.2.1\n"
|
||||||
|
"Last-Translator: Hamlet <hamlatgitlab@riseup.net>\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"Language: it_IT\n"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse"
|
||||||
|
msgstr "Cavallo"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse shoes fitted -"
|
||||||
|
msgstr "Ferri di cavallo indossati -"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " speed: "
|
||||||
|
msgstr " velocità: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " , jump height: "
|
||||||
|
msgstr " , altezza di salto: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " , stop speed: "
|
||||||
|
msgstr " , velocità di arresto: "
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse shoes only work on horses!"
|
||||||
|
msgstr "I ferri di cavallo funzionano solo sui cavalli!"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Steel HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "Ferri di cavallo d'acciaio (usarli su un cavallo per applicarli)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Bronze HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "Ferri di cavallo di bronzo (usarli su un cavallo per applicarli)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Mese HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "Ferri di cavallo di mese (usarli su un cavallo per applicarli)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Diamond HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "Ferri di cavallo di diamante (usarli su un cavallo per applicarli)"
|
58
locale/zh_CN.pot
Normal file
58
locale/zh_CN.pot
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-02-06 00:07+0800\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse"
|
||||||
|
msgstr "马"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse shoes fitted -"
|
||||||
|
msgstr "马蹄铁 -"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " speed: "
|
||||||
|
msgstr "速度:"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " , jump height: "
|
||||||
|
msgstr ",跳跃高度"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid " , stop speed: "
|
||||||
|
msgstr ",停止速度:"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Horse shoes only work on horses!"
|
||||||
|
msgstr "马蹄铁只对马有效!"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Steel HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "钢马蹄铁(用在马匹上)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Bronze HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "青铜马蹄铁(用在马匹上)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Mese HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "黄石马蹄铁(用在马匹上)"
|
||||||
|
|
||||||
|
#: init.lua
|
||||||
|
msgid "Diamond HorseShoes (use on horse to apply)"
|
||||||
|
msgstr "钻石马蹄铁(用在马匹上)"
|
12
locale/zh_CN.txt
Normal file
12
locale/zh_CN.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#Mod: mob_horse
|
||||||
|
|
||||||
|
Horse = 马
|
||||||
|
Horse shoes fitted - = 马蹄铁 -
|
||||||
|
speed: = 速度:
|
||||||
|
, jump height: = ,跳跃高度:
|
||||||
|
, stop speed: = ,停止速度:
|
||||||
|
Horse shoes only work on horses! = 马蹄铁只对马有效!
|
||||||
|
Steel HorseShoes (use on horse to apply) = 钢马蹄铁(用在马匹上)
|
||||||
|
Bronze HorseShoes (use on horse to apply) = 青铜马蹄铁(用在马匹上)
|
||||||
|
Mese HorseShoes (use on horse to apply) = 黄石马蹄铁(用在马匹上)
|
||||||
|
Diamond HorseShoes (use on horse to apply) = 钻石马蹄铁(用在马匹上)
|
12
locale/zh_TW.txt
Normal file
12
locale/zh_TW.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#Mod: mob_horse
|
||||||
|
|
||||||
|
Horse = 馬
|
||||||
|
Horse shoes fitted - = 馬蹄鐵 -
|
||||||
|
speed: = 速度:
|
||||||
|
, jump height: = ,跳躍高度:
|
||||||
|
, stop speed: = ,停止速度:
|
||||||
|
Horse shoes only work on horses! = 馬蹄鐵只對馬有效!
|
||||||
|
Steel HorseShoes (use on horse to apply) = 鋼馬蹄鐵(用在馬匹上)
|
||||||
|
Bronze HorseShoes (use on horse to apply) = 青銅馬蹄鐵(用在馬匹上)
|
||||||
|
Mese HorseShoes (use on horse to apply) = 黃石馬蹄鐵(用在馬匹上)
|
||||||
|
Diamond HorseShoes (use on horse to apply) = 鑽石馬蹄鐵(用在馬匹上)
|
@ -5,11 +5,11 @@ There are three different horse textures (white, brown, black) which will spawn
|
|||||||
|
|
||||||
---
|
---
|
||||||
### Taming
|
### Taming
|
||||||
Horses can be tamed with 10x wheat or apples which then allows the player to pick up the horse using a lasso and ride by right-clicking with a saddle.
|
Horses can be tamed with 10x wheat, apple, barley, oats of corn which then allows the player to pick up the horse using a lasso and ride by right-clicking with a saddle.
|
||||||
|
|
||||||
---
|
---
|
||||||
### Horseshoes
|
### Horseshoes
|
||||||
Horseshoes can be crafted using steel, bronze, mese and diamond (4x ingots - 2 down either side with 1x block top middle) and placed on a horse by punching with the item. These can make horses run faster or jump higher depending on tier.
|
Horseshoes can be crafted using steel, bronze, mese and diamond (4x ingots - 2 down either side with 1x block top middle) and placed on a horse by right clicking with the item. These can make horses run faster or jump higher while riding depending on tier.
|
||||||
|
|
||||||
---
|
---
|
||||||
### Dead Horse
|
### Dead Horse
|
||||||
|
BIN
screenshot.png
Normal file
BIN
screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.4 KiB |
BIN
textures/mobs_horseshoe_bronzeo.png
Normal file
BIN
textures/mobs_horseshoe_bronzeo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 106 B |
BIN
textures/mobs_horseshoe_diamondo.png
Normal file
BIN
textures/mobs_horseshoe_diamondo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 106 B |
BIN
textures/mobs_horseshoe_meseo.png
Normal file
BIN
textures/mobs_horseshoe_meseo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 106 B |
BIN
textures/mobs_horseshoe_steelo.png
Normal file
BIN
textures/mobs_horseshoe_steelo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 106 B |
Reference in New Issue
Block a user