Compare commits
50 Commits
Author | SHA1 | Date |
---|---|---|
bri cassa | e36feea1a4 | |
tenplus1 | cf4bf3df99 | |
tenplus1 | a97f7e04bb | |
tenplus1 | 83198a8531 | |
bri cassa | 1c10898fb2 | |
tenplus1 | 2d2211c51d | |
tenplus1 | 2e4cc8a90b | |
tenplus1 | 55f921d7c9 | |
bri cassa | af59d1e2b7 | |
tenplus1 | 4022ae9a02 | |
tenplus1 | f7ac229ccf | |
bri cassa | 6d4701ca5f | |
tenplus1 | 8996ad27d8 | |
bri cassa | f550d5b4a1 | |
tenplus1 | 9e0021a0f8 | |
bri cassa | d0ccec70cb | |
tenplus1 | 7650e9ba5c | |
bri cassa | 0cbaa0b223 | |
tenplus1 | aa399a6ef9 | |
tenplus1 | 23ab8bddbd | |
tenplus1 | decb1c384c | |
bri cassa | e16866479f | |
tenplus1 | 9130b43ef8 | |
tenplus1 | 22f52abc6c | |
bri cassa | 2ac1e816ed | |
tenplus1 | d7a5b88fb4 | |
bri cassa | d2c0afcff2 | |
tenplus1 | aa867c3fa0 | |
Sys Quatre | 70f40e2fb4 | |
tenplus1 | 858167c386 | |
Sys Quatre | 5f26b248b1 | |
tenplus1 | 8dfead83c6 | |
Sys Quatre | 0919faf76e | |
tenplus1 | 0ddb468645 | |
Sys Quatre | a826466332 | |
tenplus1 | 4d38b1b233 | |
tenplus1 | 98617ac075 | |
Sys Quatre | 03127ee343 | |
tenplus1 | d32cc582c6 | |
tenplus1 | e6fbb585ad | |
TenPlus1 | a49f766a5f | |
TenPlus1 | 5414d09a9b | |
TenPlus1 | 5bf8ecbbf1 | |
Sys Quatre | 2769a472cc | |
TenPlus1 | 4b6fb606a6 | |
Sys Quatre | 6e7db683ac | |
TenPlus1 | ed409a6e9a | |
Sys Quatre | 6fb7f56af4 | |
TenPlus1 | 8b206882a4 | |
TenPlus1 | 77290fdd7e |
|
@ -1,3 +0,0 @@
|
|||
mobs
|
||||
lucky_block?
|
||||
intllib?
|
277
init.lua
|
@ -1,10 +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")
|
||||
|
||||
-- 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_crystal"] = {11, 6, 9, "mobs_horseshoe_crystalo.png"}
|
||||
}
|
||||
|
||||
|
||||
-- rideable horse
|
||||
|
||||
mobs:register_mob("mob_horse:horse", {
|
||||
type = "animal",
|
||||
visual = "mesh",
|
||||
|
@ -15,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
|
||||
|
@ -31,14 +47,17 @@ mobs:register_mob("mob_horse:horse", {
|
|||
fly = false,
|
||||
walk_chance = 60,
|
||||
view_range = 5,
|
||||
follow = {"farming:wheat", "default:apple"},
|
||||
follow = {
|
||||
"farming:wheat", "default:apple", "farming:oat",
|
||||
"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}
|
||||
|
@ -53,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 = 20, 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
|
||||
|
@ -70,19 +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})
|
||||
self.saddle = nil
|
||||
end
|
||||
|
||||
-- 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)
|
||||
|
@ -102,101 +131,130 @@ self.saddle = nil
|
|||
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()
|
||||
local item = tool:get_name()
|
||||
|
||||
-- detatch player already riding horse
|
||||
if self.driver and clicker == self.driver then
|
||||
|
||||
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 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
|
||||
|
||||
-- attach player to horse
|
||||
elseif (not self.driver
|
||||
and clicker:get_wielded_item():get_name() == "mobs:saddle")
|
||||
or self.saddle then
|
||||
|
||||
self.object:set_properties({stepheight = 1.1})
|
||||
mobs.attach(self, clicker)
|
||||
self.saddle = true
|
||||
self.order = "stand"
|
||||
self.object:set_properties({stepheight = 1.2})
|
||||
|
||||
-- take saddle from inventory
|
||||
if not self.saddle then
|
||||
inv:remove_item("main", "mobs:saddle")
|
||||
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
|
||||
if item:find("mobs:horseshoe") then
|
||||
|
||||
-- drop any existing shoes
|
||||
if self.shoed then
|
||||
minetest.add_item(self.object:get_pos(), self.shoed)
|
||||
end
|
||||
|
||||
self.saddle = true
|
||||
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
|
||||
|
||||
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(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
|
||||
|
||||
-- used to capture horse with magic lasso
|
||||
mobs:capture_mob(self, clicker, 0, 0, 80, false, nil)
|
||||
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)
|
||||
|
||||
|
||||
-- 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
|
||||
minetest.register_craftitem(":mobs:horseshoe_steel", {
|
||||
description = S("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,
|
||||
"mobs:horseshoe_steel", 7, 4, 2)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -204,18 +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",
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
||||
"mobs:horseshoe_bronze", 7, 4, 4)
|
||||
end,
|
||||
inventory_image = "mobs_horseshoe_bronze.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -223,18 +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",
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
||||
"mobs:horseshoe_mese", 9, 5, 8)
|
||||
end,
|
||||
inventory_image = "mobs_horseshoe_mese.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -242,18 +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",
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
return apply_shoes(user:get_player_name(), itemstack, pointed_thing,
|
||||
"mobs:horseshoe_diamond", 10, 6, 6)
|
||||
end,
|
||||
inventory_image = "mobs_horseshoe_diamond.png"
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -261,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")
|
||||
|
|
45
intllib.lua
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
Code: MIT
|
||||
Textures: CC-BY-SA 3.0 by Mjollna
|
||||
Model: MIT by KrupnovPavel
|
|
@ -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)=
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)=钢马蹄铁(用在马匹上)
|
|
@ -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)=鋼馬蹄鐵(用在馬匹上)
|
59
locale/ms.po
|
@ -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)"
|
|
@ -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 ""
|
|
@ -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
|
10
readme.md
|
@ -5,14 +5,18 @@ There are three different horse textures (white, brown, black) which will spawn
|
|||
|
||||
---
|
||||
### 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.
|
||||
|
||||
---
|
||||
### 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 punching with the item. These can make horses run faster or jump higher 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
|
||||
|
|
After Width: | Height: | Size: 8.4 KiB |
|
@ -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
|
||||
})
|
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 1.0 KiB |