Compare commits

...

37 Commits

Author SHA1 Message Date
bri cassa e36feea1a4 Merge remote-tracking branch 'upstream/master' 2023-11-22 23:46:14 +01:00
tenplus1 cf4bf3df99 increase saddled horse stepheight to 1.2 2023-10-09 07:21:14 +01:00
tenplus1 a97f7e04bb tidy code 2023-08-13 10:45:19 +01:00
tenplus1 83198a8531 remove intllib 2023-08-08 16:43:18 +01:00
bri cassa 1c10898fb2 Merge remote-tracking branch 'upstream/master' 2023-06-07 21:48:27 +02:00
tenplus1 2d2211c51d amend loaded msg 2022-12-19 17:08:55 +00:00
tenplus1 2e4cc8a90b fix driver eye level 2022-09-29 14:47:53 +01:00
tenplus1 55f921d7c9 code tidy 2022-09-27 11:34:33 +01:00
bri cassa af59d1e2b7 Merge remote-tracking branch 'upstream/master' 2022-03-05 11:24:11 +01:00
tenplus1 4022ae9a02 horses are good swimmers, remove water damage 2022-02-15 09:21:08 +00:00
tenplus1 f7ac229ccf fix typo (thx SwissaplS) 2022-02-08 18:20:38 +00:00
bri cassa 6d4701ca5f Merge remote-tracking branch 'upstream/master' 2022-01-22 20:01:06 +01:00
tenplus1 8996ad27d8 update translation checks 2022-01-20 08:57:36 +00:00
bri cassa f550d5b4a1 Merge remote-tracking branch 'upstream/master' 2021-11-26 21:42:13 +01:00
tenplus1 9e0021a0f8 fix intllib return 2021-11-14 14:23:03 +00:00
bri cassa d0ccec70cb Merge remote-tracking branch 'upstream/master' 2021-11-01 10:30:36 +01:00
tenplus1 7650e9ba5c tidy code, add custom spawn.lua check 2021-10-18 08:32:12 +01:00
bri cassa 0cbaa0b223 Merge remote-tracking branch 'upstream/master' 2021-06-20 17:11:26 +02:00
tenplus1 aa399a6ef9 shrink driver when riding horse to fit model 2021-06-11 14:20:55 +01:00
tenplus1 23ab8bddbd set lasso capture chance 100% 2021-06-10 15:54:30 +01:00
tenplus1 decb1c384c redo saddles and add overlay 2021-06-10 15:47:34 +01:00
bri cassa e16866479f Merge remote-tracking branch 'upstream/master' 2021-05-09 21:38:19 +02:00
tenplus1 9130b43ef8 lower crystal horseshoe stats (too OP) 2021-04-19 21:13:43 +01:00
tenplus1 22f52abc6c add crystal horseshoe 2021-04-19 19:46:23 +01:00
bri cassa 2ac1e816ed Merge remote-tracking branch 'upstream/master' 2021-03-25 21:40:28 +01:00
tenplus1 d7a5b88fb4 improve stand animation set 2021-03-18 09:01:23 +00:00
bri cassa d2c0afcff2 Merge remote-tracking branch 'upstream/master' 2021-03-12 12:23:24 +01:00
tenplus1 aa867c3fa0 add license file 2021-03-02 08:01:01 +00:00
Sys Quatre 70f40e2fb4 Merge remote-tracking branch 'upstream/master' 2021-01-23 12:53:58 +01:00
tenplus1 858167c386 add mod.conf 2021-01-21 10:13:07 +00:00
Sys Quatre 5f26b248b1 Merge remote-tracking branch 'upstream/master' 2020-12-15 23:24:51 +01:00
tenplus1 8dfead83c6 add on_punch and proper version checking (thanks MoNTE48) 2020-12-11 19:15:50 +00:00
Sys Quatre 0919faf76e Merge remote-tracking branch 'upstream/master' 2020-08-29 20:30:38 +02:00
tenplus1 0ddb468645 mt5.x translations added/updated (thanks dacmot) 2020-08-29 09:36:21 +01:00
Sys Quatre a826466332 Merge remote-tracking branch 'upstream/master' 2020-08-25 20:05:23 +02:00
tenplus1 4d38b1b233 update translation detection 2020-08-25 09:54:28 +01:00
tenplus1 98617ac075 use translation from api 2020-08-25 09:44:26 +01:00
22 changed files with 273 additions and 382 deletions

View File

@ -1,3 +0,0 @@
mobs
lucky_block?
intllib?

201
init.lua
View File

@ -1,26 +1,21 @@
-- intllib
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP .. "/intllib.lua")
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname()) .. "/"
-- Translation support
local S = minetest.get_translator("mob_horse")
-- 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)
-- horse shoes (speed, jump, brake/reverse speed, 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"}
["mobs:horseshoe_diamond"] = {10, 6, 6, "mobs_horseshoe_diamondo.png"},
["mobs:horseshoe_crystal"] = {11, 6, 9, "mobs_horseshoe_crystalo.png"}
}
-- rideable horse
mobs:register_mob("mob_horse:horse", {
type = "animal",
visual = "mesh",
@ -31,11 +26,16 @@ mobs:register_mob("mob_horse:horse", {
speed_normal = 15,
speed_run = 30,
stand_start = 25,
stand_end = 75,
stand_end = 50, -- 75
stand2_start = 25,
stand2_end = 25,
stand3_start = 55,
stand3_end = 75,
stand3_loop = false,
walk_start = 75,
walk_end = 100,
run_start = 75,
run_end = 100,
run_end = 100
},
textures = {
{"mobs_horse.png"}, -- textures by Mjollna
@ -49,14 +49,15 @@ mobs:register_mob("mob_horse:horse", {
view_range = 5,
follow = {
"farming:wheat", "default:apple", "farming:oat",
"farming:barley", "farming:corn"},
"farming:barley", "farming:corn"
},
passive = true,
hp_min = 12,
hp_max = 16,
armor = 200,
lava_damage = 5,
fall_damage = 5,
water_damage = 1,
water_damage = 0,
makes_footstep_sound = true,
drops = {
{name = "mobs:leather", chance = 1, min = 0, max = 2}
@ -71,8 +72,9 @@ mobs:register_mob("mob_horse:horse", {
self.max_speed_reverse = 2
self.accel = 6
self.terrain_type = 3
self.driver_attach_at = {x = 0, y = y_off, z = -2}
self.driver_eye_offset = {x = 0, y = 3, z = 0}
self.driver_attach_at = {x = 0, y = 10, z = -2}
self.driver_eye_offset = {x = 0, y = 10 + 3, z = 0}
self.driver_scale = {x = 0.8, y = 0.8} -- shrink driver to fit model
end
-- if driver present allow control of horse
@ -88,22 +90,28 @@ mobs:register_mob("mob_horse:horse", {
on_die = function(self, pos)
-- drop saddle when horse is killed while riding
-- also detach from horse properly
-- detach player from horse properly
if self.driver then
minetest.add_item(pos, "mobs:saddle")
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
end
self.saddle = nil
-- drop saddle if found
if self.saddle then
minetest.add_item(pos, "mobs:saddle")
end
-- drop any horseshoes added
if self.shoed then
minetest.add_item(pos, self.shoed)
end
end,
do_punch = function(self, hitter)
-- don't cut the branch you're... ah, that's not about that
if hitter ~= self.driver then
return true
end
end,
on_rightclick = function(self, clicker)
@ -123,8 +131,10 @@ mobs:register_mob("mob_horse:horse", {
return
end
local player_name = clicker:get_player_name()
-- make sure tamed horse is being clicked by owner only
if self.tamed and self.owner == clicker:get_player_name() then
if self.tamed and self.owner == player_name then
local inv = clicker:get_inventory()
local tool = clicker:get_wielded_item()
@ -135,29 +145,27 @@ mobs:register_mob("mob_horse:horse", {
mobs.detach(clicker, {x = 1, y = 0, z = 1})
-- add saddle back to inventory
if inv:room_for_item("main", "mobs:saddle") then
inv:add_item("main", "mobs:saddle")
else
minetest.add_item(clicker:get_pos(), "mobs:saddle")
end
return
end
self.saddle = nil
-- attach player to horse
elseif (not self.driver and not self.child
and clicker:get_wielded_item():get_name() == "mobs:saddle")
or self.saddle then
self.object:set_properties({stepheight = 1.1})
mobs.attach(self, clicker)
-- take saddle from inventory
if not self.saddle then
inv:remove_item("main", "mobs:saddle")
end
-- attach saddle to horse
if not self.driver
and not self.child
and clicker:get_wielded_item():get_name() == "mobs:saddle"
and not self.saddle then
self.saddle = true
self.order = "stand"
self.object:set_properties({stepheight = 1.2})
-- take saddle from inventory
inv:remove_item("main", "mobs:saddle")
self.texture_mods = self.texture_mods .. "^mobs_saddle_overlay.png"
self.object:set_texture_mod(self.texture_mods)
return
end
-- apply horseshoes
@ -181,38 +189,64 @@ mobs:register_mob("mob_horse:horse", {
-- apply horseshoe overlay to current horse texture
if overlay then
self.texture_mods = "^" .. overlay
if self.saddle then
self.texture_mods = self.texture_mods
.. "^mobs_saddle_overlay.png"
end
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(),
minetest.chat_send_player(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)
tool:take_item()
clicker:set_wielded_item(tool)
return
end
end
-- used to capture horse with magic lasso
mobs:capture_mob(self, clicker, 0, 0, 80, false, nil)
end,
if mobs:capture_mob(self, clicker, nil, nil, 100, false, nil) then return end
-- ride horse if saddled
if self.saddle and self.owner == player_name then
mobs.attach(self, clicker)
end
end
})
mobs:spawn({
name = "mob_horse:horse",
nodes = {"default:dirt_with_grass", "ethereal:dry_dirt"},
min_light = 14,
interval = 60,
chance = 16000,
min_height = 10,
max_height = 31000,
day_toggle = true,
})
-- check for custom spawn.lua
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close()
input = nil
dofile(MP .. "spawn.lua")
else
mobs:spawn({
name = "mob_horse:horse",
nodes = {"default:dirt_with_grass", "ethereal:dry_dirt"},
min_light = 14,
interval = 60,
chance = 16000,
min_height = 10,
max_height = 31000,
day_toggle = true
})
end
mobs:register_egg("mob_horse:horse", S("Horse"), "wool_brown.png", 1)
@ -228,14 +262,14 @@ minetest.register_craft({
recipe = {
{"", "default:steelblock", ""},
{"default:steel_ingot", "", "default:steel_ingot"},
{"default:steel_ingot", "", "default:steel_ingot"},
{"default:steel_ingot", "", "default:steel_ingot"}
}
})
-- bronze horseshoes
minetest.register_craftitem(":mobs:horseshoe_bronze", {
description = S("Bronze HorseShoes (use on horse to apply)"),
inventory_image = "mobs_horseshoe_bronze.png",
inventory_image = "mobs_horseshoe_bronze.png"
})
minetest.register_craft({
@ -243,14 +277,14 @@ minetest.register_craft({
recipe = {
{"", "default:bronzeblock", ""},
{"default:bronze_ingot", "", "default:bronze_ingot"},
{"default:bronze_ingot", "", "default:bronze_ingot"},
{"default:bronze_ingot", "", "default:bronze_ingot"}
}
})
-- mese horseshoes
minetest.register_craftitem(":mobs:horseshoe_mese", {
description = S("Mese HorseShoes (use on horse to apply)"),
inventory_image = "mobs_horseshoe_mese.png",
inventory_image = "mobs_horseshoe_mese.png"
})
minetest.register_craft({
@ -258,14 +292,14 @@ minetest.register_craft({
recipe = {
{"", "default:mese", ""},
{"default:mese_crystal_fragment", "", "default:mese_crystal_fragment"},
{"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 = S("Diamond HorseShoes (use on horse to apply)"),
inventory_image = "mobs_horseshoe_diamond.png",
inventory_image = "mobs_horseshoe_diamond.png"
})
minetest.register_craft({
@ -273,20 +307,39 @@ minetest.register_craft({
recipe = {
{"", "default:diamondblock", ""},
{"default:diamond", "", "default:diamond"},
{"default:diamond", "", "default:diamond"},
{"default:diamond", "", "default:diamond"}
}
})
-- crystal horseshoes
if minetest.get_modpath("ethereal") then
minetest.register_craftitem(":mobs:horseshoe_crystal", {
description = S("Crystal HorseShoes (use on horse to apply)"),
inventory_image = "mobs_horseshoe_crystal.png"
})
minetest.register_craft({
output = "mobs:horseshoe_crystal",
recipe = {
{"", "ethereal:crystal_block", ""},
{"ethereal:crystal_ingot", "", "ethereal:crystal_ingot"},
{"ethereal:crystal_ingot", "", "ethereal:crystal_ingot"}
}
})
end
-- lucky blocks
if minetest.get_modpath("lucky_block") then
lucky_block:add_blocks({
{"dro", {"mobs:horseshoe_steel"}},
{"dro", {"mobs:horseshoe_bronze"}},
{"dro", {"mobs:horseshoe_mese"}},
{"dro", {"mobs:horseshoe_diamond"}},
})
lucky_block:add_blocks({
{"dro", {"mobs:horseshoe_steel"}},
{"dro", {"mobs:horseshoe_bronze"}},
{"dro", {"mobs:horseshoe_mese"}},
{"dro", {"mobs:horseshoe_diamond"}},
{"dro", {"mobs:horseshoe_crystal"}}
})
end
minetest.log("action", "[mob_horse] loaded.")
print("[MOD] Mob Horse loaded")

View File

@ -1,45 +0,0 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

3
license.txt Normal file
View File

@ -0,0 +1,3 @@
Code: MIT
Textures: CC-BY-SA 3.0 by Mjollna
Model: MIT by KrupnovPavel

View File

@ -1,59 +0,0 @@
# 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)"

10
locale/mob_horse.en.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
# , jump height: =
# , stop speed: =
# speed: =
#Bronze HorseShoes (use on horse to apply)=
#Diamond HorseShoes (use on horse to apply)=
#Horse=
#Horse shoes fitted -=
#Mese HorseShoes (use on horse to apply)=
#Steel HorseShoes (use on horse to apply)=

10
locale/mob_horse.fr.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
, jump height: = , hauteur des sauts :
, stop speed: = , décélération :
speed: = vitesse :
Bronze HorseShoes (use on horse to apply)=Fers à cheval de bronze (clic droit pour ferrer)
Diamond HorseShoes (use on horse to apply)=Fers à cheval en diamant (clic droit pour ferrer)
Horse=Cheval
Horse shoes fitted -= Ferré -
Mese HorseShoes (use on horse to apply)=Fers à cheval en mese (clic droit pour ferrer)
Steel HorseShoes (use on horse to apply)=Fers à cheval en acier (clic droit pour ferrer)

10
locale/mob_horse.it_IT.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
, jump height: = , altezza di salto:
, stop speed: = , velocità di arresto:
speed: = velocità:
Bronze HorseShoes (use on horse to apply)=Ferri di cavallo di bronzo (usarli su un cavallo per applicarli)
Diamond HorseShoes (use on horse to apply)=Ferri di cavallo di diamante (usarli su un cavallo per applicarli)
Horse=Cavallo
Horse shoes fitted -=Ferri di cavallo indossati -
Mese HorseShoes (use on horse to apply)=Ferri di cavallo di mese (usarli su un cavallo per applicarli)
Steel HorseShoes (use on horse to apply)=Ferri di cavallo d'acciaio (usarli su un cavallo per applicarli)

10
locale/mob_horse.ms.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
, jump height: = , ketinggian lompat:
, stop speed: = , kelajuan berhenti:
speed: = kelajuan:
Bronze HorseShoes (use on horse to apply)=Ladam Kuda Gangsa (guna pada kuda untuk pakaikan ia)
Diamond HorseShoes (use on horse to apply)=Ladam Kuda Intan (guna pada kuda untuk pakaikan ia)
Horse=Kuda
Horse shoes fitted -=Ladam telah dipasang pada kuda -
Mese HorseShoes (use on horse to apply)=Ladam Kuda Mese (guna pada kuda untuk pakaikan ia)
Steel HorseShoes (use on horse to apply)=Ladam Kuda Keluli (guna pada kuda untuk pakaikan ia)

10
locale/mob_horse.zh_CN.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
, jump height: =,跳跃高度:
, stop speed: =,停止速度:
speed: =速度:
Bronze HorseShoes (use on horse to apply)=青铜马蹄铁(用在马匹上)
Diamond HorseShoes (use on horse to apply)=钻石马蹄铁(用在马匹上)
Horse=马
Horse shoes fitted -=马蹄铁 -
Mese HorseShoes (use on horse to apply)=黄石马蹄铁(用在马匹上)
Steel HorseShoes (use on horse to apply)=钢马蹄铁(用在马匹上)

10
locale/mob_horse.zh_TW.tr Normal file
View File

@ -0,0 +1,10 @@
# textdomain:mob_horse
, jump height: =,跳躍高度:
, stop speed: =,停止速度:
speed: =速度:
Bronze HorseShoes (use on horse to apply)=青銅馬蹄鐵(用在馬匹上)
Diamond HorseShoes (use on horse to apply)=鑽石馬蹄鐵(用在馬匹上)
Horse=馬
Horse shoes fitted -=馬蹄鐵 -
Mese HorseShoes (use on horse to apply)=黃石馬蹄鐵(用在馬匹上)
Steel HorseShoes (use on horse to apply)=鋼馬蹄鐵(用在馬匹上)

View File

@ -1,59 +0,0 @@
# 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: 2018-02-06 00:14+0800\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.0.6\n"
"Last-Translator: MuhdNurHidayat (MNH48) <mnh48mail@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ms\n"
#: init.lua
msgid "Horse"
msgstr "Kuda"
#: init.lua
msgid "Horse shoes fitted -"
msgstr "Ladam telah dipasang pada kuda -"
#: init.lua
msgid " speed: "
msgstr " kelajuan: "
#: init.lua
msgid " , jump height: "
msgstr " , ketinggian lompat: "
#: init.lua
msgid " , stop speed: "
msgstr " , kelajuan berhenti: "
#: init.lua
msgid "Horse shoes only work on horses!"
msgstr "Ladam hanya boleh dipakaikan pada kuda!"
#: init.lua
msgid "Steel HorseShoes (use on horse to apply)"
msgstr "Ladam Kuda Keluli (guna pada kuda untuk pakaikan ia)"
#: init.lua
msgid "Bronze HorseShoes (use on horse to apply)"
msgstr "Ladam Kuda Gangsa (guna pada kuda untuk pakaikan ia)"
#: init.lua
msgid "Mese HorseShoes (use on horse to apply)"
msgstr "Ladam Kuda Mese (guna pada kuda untuk pakaikan ia)"
#: init.lua
msgid "Diamond HorseShoes (use on horse to apply)"
msgstr "Ladam Kuda Intan (guna pada kuda untuk pakaikan ia)"

View File

@ -1,58 +0,0 @@
# 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 ""

View File

@ -1,58 +0,0 @@
# 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 "钻石马蹄铁(用在马匹上)"

View File

@ -1,12 +0,0 @@
#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) = 钻石马蹄铁(用在马匹上)

View File

@ -1,12 +0,0 @@
#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
mod.conf Normal file
View File

@ -0,0 +1,5 @@
name = mob_horse
description = Adds a rideable horse into game with horse shoe upgrades.
depends = mobs
optional_depends = lucky_block
min_minetest_version = 5.0

View File

@ -7,12 +7,16 @@ There are three different horse textures (white, brown, black) which will spawn
### Taming
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.
---
### Saddle
Right clicking a horse with a saddle equips it and the horse will be ordered to stand still until you wish to ride.
---
### 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 right clicking with the item. These can make horses run faster or jump higher while riding depending on tier.
Horseshoes can be crafted using steel, bronze, mese, diamond and crystal (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
When riding a horse monsters will generally attack the horse first to get to player riding it, when horse dies the player is dismounted and it will drop any shoes or saddles in use as well as some horse meat.
#### Lucky Blocks: 4
#### Lucky Blocks: 5

72
spawn_example.lua Normal file
View File

@ -0,0 +1,72 @@
--[[ Spawn Template, defaults to values shown if line not provided
mobs:spawn({
name = "",
- Name of mob, must be provided e.g. "mymod:my_mob"
nodes = {"group:soil, "group:stone"},
- Nodes to spawn on top of.
neighbors = {"air"},
- Nodes to spawn beside.
min_light = 0,
- Minimum light level.
max_light = 15,
- Maximum light level, 15 is sunlight only.
interval = 30,
- Spawn interval in seconds.
chance = 5000,
- Spawn chance, 1 in every 5000 nodes.
active_object_count = 1,
- Active mobs of this type in area.
min_height = -31000,
- Minimum height level.
max_height = 31000,
- Maximum height level.
day_toggle = nil,
- Daytime toggle, true to spawn during day, false for night, nil for both
on_spawn = nil,
- On spawn function to run when mob spawns in world
on_map_load = nil,
- On map load, when true mob only spawns in newly generated map areas
})
]]--
-- Horse
mobs:spawn({
name = "mob_horse:horse",
nodes = {"default:dirt_with_grass", "ethereal:dry_dirt"},
min_light = 14,
interval = 60,
chance = 16000,
min_height = 10,
max_height = 31000,
day_toggle = true
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB