Tweak missing crafts and items
9
mods/ambience/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
Ambience Lite mod for Minetest
|
||||
|
||||
Based on Immersive Sounds .36 mod by Neuromancer and optimized to run on servers with new fire sounds added when Fire Redo mod is detected...
|
||||
|
||||
0.1 - Initial release
|
||||
0.2 - Code change and new water sounds added
|
||||
0.3 - Works with Fire Redo mod to provide fire sounds
|
||||
0.4 - Code optimized
|
||||
0.5 - Changed to kilbiths smaller sound files and removed canadianloon1, adjusted timings
|
4
mods/ambience/depends.txt
Normal file
@ -0,0 +1,4 @@
|
||||
default
|
||||
fire?
|
||||
bakedclay?
|
||||
ethereal?
|
272
mods/ambience/init.lua
Normal file
@ -0,0 +1,272 @@
|
||||
|
||||
--= Ambience lite by TenPlus1 (16th April 2015)
|
||||
|
||||
local max_frequency_all = 1000 -- larger number means more frequent sounds (100-2000)
|
||||
local SOUNDVOLUME = 1
|
||||
local volume = 0.3
|
||||
local ambiences
|
||||
local played_on_start = false
|
||||
local tempy = {}
|
||||
|
||||
-- sound sets
|
||||
local night = {
|
||||
handler = {}, frequency = 40,
|
||||
{name="hornedowl", length=2},
|
||||
{name="wolves", length=4},
|
||||
{name="cricket", length=6},
|
||||
{name="deer", length=7},
|
||||
{name="frog", length=1},
|
||||
}
|
||||
|
||||
local day = {
|
||||
handler = {}, frequency = 40,
|
||||
{name="cardinal", length=3},
|
||||
{name="bluejay", length=6},
|
||||
{name="craw", length=3},
|
||||
{name="canadianloon2", length=14},
|
||||
{name="robin", length=4},
|
||||
{name="bird1", length=11},
|
||||
{name="bird2", length=6},
|
||||
{name="crestedlark", length=6},
|
||||
{name="peacock", length=2}
|
||||
}
|
||||
|
||||
local high_up = {
|
||||
handler = {}, frequency = 40,
|
||||
{name="craw", length=3},
|
||||
{name="wind", length=9.5},
|
||||
}
|
||||
|
||||
local cave = {
|
||||
handler = {}, frequency = 60,
|
||||
{name="drippingwater1", length=1.5},
|
||||
{name="drippingwater2", length=1.5}
|
||||
}
|
||||
|
||||
local beach = {
|
||||
handler = {}, frequency = 40,
|
||||
{name="seagull", length=4.5},
|
||||
{name="beach", length=13},
|
||||
{name="gull", length=1}
|
||||
}
|
||||
|
||||
local desert = {
|
||||
handler = {}, frequency = 20,
|
||||
{name="coyote", length=2.5},
|
||||
{name="desertwind", length=8}
|
||||
}
|
||||
|
||||
local flowing_water = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="waterfall", length=6}
|
||||
}
|
||||
|
||||
local underwater = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="scuba", length=8}
|
||||
}
|
||||
|
||||
local splash = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="swim_splashing", length=3},
|
||||
}
|
||||
|
||||
local lava = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="lava", length=7}
|
||||
}
|
||||
|
||||
local smallfire = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="fire_small", length=6}
|
||||
}
|
||||
|
||||
local largefire = {
|
||||
handler = {}, frequency = 1000,
|
||||
{name="fire_large", length=8}
|
||||
}
|
||||
|
||||
-- check where player is and which sounds are played
|
||||
local get_ambience = function(player)
|
||||
|
||||
-- where am I?
|
||||
local pos = player:getpos()
|
||||
|
||||
-- what is around me?
|
||||
pos.y = pos.y + 1.4 -- head level
|
||||
local nod_head = minetest.get_node(pos).name
|
||||
|
||||
pos.y = pos.y - 1.2 -- feet level
|
||||
local nod_feet = minetest.get_node(pos).name
|
||||
|
||||
pos.y = pos.y - 0.2 -- reset pos
|
||||
|
||||
--= START Ambiance
|
||||
|
||||
if nod_head == "default:water_source"
|
||||
or nod_head == "default:water_flowing" then
|
||||
return {underwater=underwater}
|
||||
end
|
||||
|
||||
if nod_feet == "default:water_source"
|
||||
or nod_feet == "default:water_flowing" then
|
||||
return {splash=splash}
|
||||
end
|
||||
|
||||
local num_fire, num_lava, num_water_source, num_water_flowing, num_desert = 0,0,0,0,0
|
||||
|
||||
-- get block of nodes we need to check
|
||||
tempy = minetest.find_nodes_in_area({x=pos.x-6,y=pos.y-2, z=pos.z-6},
|
||||
{x=pos.x+6,y=pos.y+2, z=pos.z+6},
|
||||
{"fire:basic_flame", "bakedclay:safe_fire", "default:lava_flowing", "default:lava_source",
|
||||
"default:water_flowing", "default:water_source", "default:desert_sand", "default:desert_stone",})
|
||||
|
||||
-- count separate instances in block
|
||||
for _, npos in ipairs(tempy) do
|
||||
local node = minetest.get_node(npos).name
|
||||
if node == "fire:basic_flame" or node == "bakedclay:safe_fire" then num_fire = num_fire + 1 end
|
||||
if node == "default:lava_flowing" or node == "default:lava_source" then num_lava = num_lava + 1 end
|
||||
if node == "default:water_flowing" then num_water_flowing = num_water_flowing + 1 end
|
||||
if node == "default:water_source" then num_water_source = num_water_source + 1 end
|
||||
if node == "default:desert_sand" or node == "default:desert_stone" then num_desert = num_desert + 1 end
|
||||
end ; --print (num_fire, num_lava, num_water_flowing, num_water_source, num_desert)
|
||||
|
||||
-- is fire redo mod active?
|
||||
if fire and fire.mod and fire.mod == "redo" then
|
||||
if num_fire > 8 then
|
||||
return {largefire=largefire}
|
||||
elseif num_fire > 0 then
|
||||
return {smallfire=smallfire}
|
||||
end
|
||||
end
|
||||
|
||||
if num_lava > 5 then
|
||||
return {lava=lava}
|
||||
end
|
||||
|
||||
if num_water_flowing > 30 then
|
||||
return {flowing_water=flowing_water}
|
||||
end
|
||||
|
||||
if pos.y < 7 and pos.y > 0 and num_water_source > 100 then
|
||||
return {beach=beach}
|
||||
end
|
||||
|
||||
if num_desert > 150 then
|
||||
return {desert=desert}
|
||||
end
|
||||
|
||||
if pos.y > 60 then
|
||||
return {high_up=high_up}
|
||||
end
|
||||
|
||||
if pos.y < -10 then
|
||||
return {cave=cave}
|
||||
end
|
||||
|
||||
if minetest.get_timeofday() > 0.2 and minetest.get_timeofday() < 0.8 then
|
||||
return {day=day}
|
||||
else
|
||||
return {night=night}
|
||||
end
|
||||
|
||||
-- END Ambiance
|
||||
|
||||
end
|
||||
|
||||
-- play sound, set handler then delete handler when sound finished
|
||||
local play_sound = function(player, list, number)
|
||||
|
||||
local player_name = player:get_player_name()
|
||||
|
||||
if list.handler[player_name] == nil then
|
||||
|
||||
local gain = volume * SOUNDVOLUME
|
||||
local handler = minetest.sound_play(list[number].name, {to_player=player_name, gain=gain})
|
||||
|
||||
if handler then
|
||||
list.handler[player_name] = handler
|
||||
|
||||
minetest.after(list[number].length, function(args)
|
||||
local list = args[1]
|
||||
local player_name = args[2]
|
||||
|
||||
if list.handler[player_name] then
|
||||
minetest.sound_stop(list.handler[player_name])
|
||||
list.handler[player_name] = nil
|
||||
end
|
||||
end, {list, player_name})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- stop sound in still_playing
|
||||
local stop_sound = function (list, player)
|
||||
|
||||
local player_name = player:get_player_name()
|
||||
|
||||
if list.handler[player_name] then
|
||||
if list.on_stop then
|
||||
minetest.sound_play(list.on_stop, {to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
||||
end
|
||||
minetest.sound_stop(list.handler[player_name])
|
||||
list.handler[player_name] = nil
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- check sounds that are not in still_playing
|
||||
local still_playing = function(still_playing, player)
|
||||
if not still_playing.cave then stop_sound(cave, player) end
|
||||
if not still_playing.high_up then stop_sound(high_up, player) end
|
||||
if not still_playing.beach then stop_sound(beach, player) end
|
||||
if not still_playing.desert then stop_sound(desert, player) end
|
||||
if not still_playing.night then stop_sound(night, player) end
|
||||
if not still_playing.day then stop_sound(day, player) end
|
||||
if not still_playing.flowing_water then stop_sound(flowing_water, player) end
|
||||
if not still_playing.splash then stop_sound(splash, player) end
|
||||
if not still_playing.underwater then stop_sound(underwater, player) end
|
||||
if not still_playing.lava then stop_sound(lava, player) end
|
||||
if not still_playing.smallfire then stop_sound(smallfire, player) end
|
||||
if not still_playing.largefire then stop_sound(largefire, player) end
|
||||
end
|
||||
|
||||
-- player routine
|
||||
local timer = 0
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime
|
||||
|
||||
-- every 1 second
|
||||
if timer < 1 then return end
|
||||
timer = 0
|
||||
|
||||
for _,player in ipairs(minetest.get_connected_players()) do
|
||||
--local t1 = os.clock()
|
||||
ambiences = get_ambience(player)
|
||||
--print ("[AMBIENCE] "..math.ceil((os.clock() - t1) * 1000).." ms")
|
||||
|
||||
still_playing(ambiences, player)
|
||||
|
||||
for _,ambience in pairs(ambiences) do
|
||||
if math.random(1, 1000) <= ambience.frequency then
|
||||
if ambience.on_start and played_on_start == false then
|
||||
played_on_start = true
|
||||
minetest.sound_play(ambience.on_start,
|
||||
{to_player=player:get_player_name(),gain=SOUNDVOLUME})
|
||||
end
|
||||
play_sound(player, ambience, math.random(1, #ambience))
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- set volume command
|
||||
minetest.register_chatcommand("svol", {
|
||||
params = "<svol>",
|
||||
description = "set sound volume (0.1 to 1.0)",
|
||||
privs = {server=true},
|
||||
func = function(name, param)
|
||||
SOUNDVOLUME = param
|
||||
minetest.chat_send_player(name, "Sound volume set.")
|
||||
end,
|
||||
})
|
118
mods/ambience/sounds/SoundLicenses.txt
Normal file
@ -0,0 +1,118 @@
|
||||
--------------Music Lic:
|
||||
Amethystium:
|
||||
--Avalon
|
||||
--Ethereal
|
||||
--Faraway
|
||||
--Strangely Beautiful
|
||||
|
||||
"I can't give you a formal license (legal paperwork) for it, but as long as it's non-commercial I can give you my personal blessing and guarantee that you won't get in trouble for using it :) If that's enough just feel free to use any of my tracks. Please credit the music properly though, and include a link to www.amethystium.com and www.am.mu (it's the same site right now, but the latter will be a label/music store site soon).
|
||||
Best regards,
|
||||
Øystein Ramfjord"
|
||||
|
||||
Jordach:
|
||||
--dark_ambiance
|
||||
--eastern_feeling
|
||||
These sounds are used for the Mod for Minetest; Ambiance.
|
||||
The included sounds are http://creativecommons.org/licenses/by-nc-sa/3.0/
|
||||
Not Used:--mtest
|
||||
|
||||
-----------Sound Lic:
|
||||
--Nightime Sound, Recorded by Mike Koenig, License: Attribution 3.0 http://soundbible.com/951-Nightime.html
|
||||
--Crickets At Night Sound, License: Attribution 3.0 | Recorded by Mike Koenig |http://soundbible.com/365-Crickets-At-Night.html
|
||||
|
||||
--Medium Pack Of Wolves Howling, License: Public Domain | Recorded by fws.gov, http://soundbible.com/277-Medium-Pack-Of-Wolves-Howling.html
|
||||
|
||||
--Horned Owl Sound, License: Attribution 3.0 | Recorded by Mike Koenig , http://soundbible.com/1851-Horned-Owl.html
|
||||
--Bats In Cave Sound, License: Attr-Noncommercial 3.0 | Recorded by Mike Koenig , http://soundbible.com/1939-Bats-In-Cave.html
|
||||
|
||||
--Spooky Water Drops Sound, License: Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/380-Spooky-Water-Drops.html
|
||||
|
||||
|
||||
-- Single Water Droplet Sound, License: Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/384-Single-Water-Droplet.html
|
||||
|
||||
--HollowWind, Black Boe, Creative Commons 0 License, http://www.freesound.org/people/Black%20Boe/sounds/22331/
|
||||
|
||||
--drippingwater*.ogg sounds: CC0, Dripping Water Mod, by kddekadenz, http://minetest.net/forum/viewtopic.php?id=1688
|
||||
|
||||
--best cardinal bird: License: Attribution 3.0 | Recorded by PsychoBird, http://soundbible.com/1515-Best-Cardinal-Bird.html
|
||||
|
||||
--birdsongnl: the Attribution License, HerbertBoland, http://www.freesound.org/people/HerbertBoland/sounds/28312/ (end)
|
||||
|
||||
--robin2: Attribution License, reinsamba, http://www.freesound.org/people/reinsamba/sounds/32479/ (end)
|
||||
|
||||
--Craw.WAV, Attribution License, inchadney, http://www.freesound.org/people/inchadney/sounds/52450/
|
||||
|
||||
--bluejay.wav, Creative Commons 0 License, UncleSigmund, http://www.freesound.org/people/UncleSigmund/sounds/42382/
|
||||
|
||||
--scuba1*.ogg- digifishmusic, Attribution License, http://www.freesound.org/people/digifishmusic/sounds/45521/
|
||||
|
||||
--Underwater Pool - Attribution 3.0 | Recorded by Mike Koenig, http://soundbible.com/1660-Underwater-Pool.html
|
||||
|
||||
--dolphin_screaming - Creative Commons 0 License, felix.blume, http://www.freesound.org/people/felix.blume/sounds/161691/
|
||||
|
||||
--dolphins - Attribution Noncommercial License, acclivity, http://www.freesound.org/people/acclivity/sounds/13691/
|
||||
|
||||
ComboWind uses:
|
||||
--wind-in-the-trees -Attribution License, laurent, http://www.freesound.org/people/laurent/sounds/16995/
|
||||
--drygrassInWind- Creative Commons 0 License, felix.blume, http://www.freesound.org/people/felix.blume/sounds/146436/
|
||||
|
||||
--Splash: Attribution 3.0 | Recorded by BlastwaveFx.com, http://soundbible.com/546-Fish-Splashing.html
|
||||
|
||||
--small_waterfall Attribution License, volivieri, http://www.freesound.org/people/volivieri/sounds/38390/
|
||||
|
||||
--Lake_Waves_2*, Attribution License, Benboncan, http://www.freesound.org/people/Benboncan/sounds/67884/
|
||||
|
||||
--water_swimming_splashing*, Attribution Noncommercial License, Robinhood76, http://www.freesound.org/people/Robinhood76/sounds/79657/
|
||||
|
||||
--earth01a, Creative Commons 0 License., Halion , http://www.freesound.org/people/Halion/sounds/17785
|
||||
|
||||
--fiji_beach, Creative Commons 0 License, c97059890, http://www.freesound.org/people/c97059890/sounds/21754/
|
||||
|
||||
--seagull, Attribution Noncommercial License., hazure, http://www.freesound.org/people/hazure/sounds/23707/,
|
||||
|
||||
desert:
|
||||
coyote2, Attribution License, rogerforeman, http://www.freesound.org/people/rogerforeman/sounds/68068/
|
||||
http://www.freesound.org/people/Proxima4/sounds/104319/
|
||||
Desert Monolith.wav, Creative Commons 0 License, Proxima4, http://www.freesound.org/people/Proxima4/sounds/104319/
|
||||
Rattlesnake Rattle, Public Domain, fws.gov, http://soundbible.com/237-Rattlesnake-Rattle.html
|
||||
|
||||
flying:
|
||||
crystal_airlines: Attribution License, suonho, http://www.freesound.org/people/suonho/sounds/56364/
|
||||
|
||||
----------------Not used yet:
|
||||
desert:
|
||||
Desert Simple.wav, Creative Commons 0 License, Proxima4, http://www.freesound.org/people/Proxima4/sounds/104320/
|
||||
|
||||
313hummer (Jordan Craige)
|
||||
--echos http://soundcloud.com/jordan-craige/echos-1
|
||||
Creative Commons Attribution license (reuse allowed) Attribution 3.0 Unported (CC BY 3.0)
|
||||
Not Used:--FoamOfTheSea http://soundcloud.com/jordan-craige/foam-of-the-sea
|
||||
|
||||
xi-intersection:
|
||||
http://soundcloud.com/xi-intersection/mass-effect-uncharted-worlds Creative Commons License
|
||||
--not used:
|
||||
http://soundcloud.com/xi-intersection/donkey-kong-country-2-flight
|
||||
http://soundcloud.com/kogyo/kogyo-skalar-m1
|
||||
|
||||
lava:
|
||||
http://www.freesound.org/people/Halion/sounds/17785/ (almost as good cc) (combine with rocks falling?)
|
||||
http://www.freesound.org/people/pushtobreak/sounds/17823/ (attrib non cc really good)
|
||||
http://www.freesound.org/people/klankbeeld/sounds/123970/ (horror rhythm)
|
||||
Rockfall in mine.wav http://www.freesound.org/people/Benboncan/sounds/60085/
|
||||
|
||||
|
||||
http://www.freesound.org/people/snotch/sounds/96175/ (mud volcano)
|
||||
|
||||
--natural night sounds in Boquete.wav, Attribution License, laurent, http://www.freesound.org/people/laurent/sounds/15851/
|
||||
http://www.freesound.org/people/Dynamicell/sounds/17553/
|
||||
http://www.freesound.org/people/juskiddink/sounds/78955/ aspen tree in wind
|
||||
http://www.freesound.org/people/Benboncan/sounds/69761/ wind in hedge birds animals
|
||||
|
||||
|
||||
ButterflyTea:
|
||||
Creative Commons : Attribution-Noncommercial-Share Alike 3.0
|
||||
http://www.jamendo.com/en/track/904012/dance-of-magical-flowers
|
||||
http://www.jamendo.com/en/track/904013/magic-of-the-seventh-world
|
||||
http://www.jamendo.com/en/track/904016/in-search-of-the-soul
|
||||
|
||||
zero-project
|
BIN
mods/ambience/sounds/beach.ogg
Normal file
BIN
mods/ambience/sounds/bird1.ogg
Normal file
BIN
mods/ambience/sounds/bird2.ogg
Normal file
BIN
mods/ambience/sounds/bluejay.ogg
Normal file
BIN
mods/ambience/sounds/canadianloon2.ogg
Normal file
BIN
mods/ambience/sounds/cardinal.ogg
Normal file
BIN
mods/ambience/sounds/coyote.ogg
Normal file
BIN
mods/ambience/sounds/craw.ogg
Normal file
BIN
mods/ambience/sounds/crestedlark.ogg
Normal file
BIN
mods/ambience/sounds/cricket.ogg
Normal file
BIN
mods/ambience/sounds/deer.ogg
Normal file
BIN
mods/ambience/sounds/desertwind.ogg
Normal file
BIN
mods/ambience/sounds/drippingwater1.ogg
Normal file
BIN
mods/ambience/sounds/drippingwater2.ogg
Normal file
BIN
mods/ambience/sounds/fire_large.ogg
Normal file
BIN
mods/ambience/sounds/fire_small.ogg
Normal file
BIN
mods/ambience/sounds/frog.ogg
Normal file
BIN
mods/ambience/sounds/gull.ogg
Normal file
BIN
mods/ambience/sounds/hornedowl.ogg
Normal file
BIN
mods/ambience/sounds/lava.ogg
Normal file
BIN
mods/ambience/sounds/peacock.ogg
Normal file
BIN
mods/ambience/sounds/robin.ogg
Normal file
BIN
mods/ambience/sounds/scuba.ogg
Normal file
BIN
mods/ambience/sounds/seagull.ogg
Normal file
BIN
mods/ambience/sounds/swim_splashing.ogg
Normal file
BIN
mods/ambience/sounds/waterfall.ogg
Normal file
BIN
mods/ambience/sounds/wind.ogg
Normal file
BIN
mods/ambience/sounds/wolves.ogg
Normal file
BIN
mods/darkage/textures/darkage_marble_tile.png
Normal file
After Width: | Height: | Size: 785 B |
@ -1,17 +1,17 @@
|
||||
--Extreme Survival created by maikerumine
|
||||
-- Minetest 0.4.13 mod: "Extreme Survival"
|
||||
-- Minetest 0.5.0 mod: "Extreme Survival"
|
||||
-- namespace: es
|
||||
--version 1.8
|
||||
--version 3.1
|
||||
--https://github.com/maikerumine
|
||||
|
||||
--License:
|
||||
--~~~~~~~~
|
||||
--Code:
|
||||
--(c) Copyright 2015 maikerumine; modified zlib-License
|
||||
--(c) Copyright 2017 maikerumine; modified zlib-License
|
||||
--see "LICENSE.txt" for details.
|
||||
|
||||
--Media(if not stated differently):
|
||||
--(c) Copyright (2014-2015) maikerumine; CC-BY-SA 3.0
|
||||
--(c) Copyright (2014-2017) maikerumine; CC-BY-SA 3.0
|
||||
|
||||
es = {}
|
||||
--NOTE: THIS--v v--MUST BE FIRST IN THE INIT FOR EVERYTHING TO WORK
|
||||
@ -21,7 +21,7 @@ enable_stairsplus = true
|
||||
local modpath = minetest.get_modpath("es")
|
||||
es.modpath = modpath
|
||||
|
||||
dofile(modpath.."/alias.lua")
|
||||
--dofile(modpath.."/alias.lua")
|
||||
dofile(modpath.."/crafting.lua")
|
||||
dofile(modpath.."/antigrief.lua")
|
||||
dofile(modpath.."/itemdrop.lua")
|
||||
|
3
mods/moreores/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
## Generic ignorable patterns and files
|
||||
*~
|
||||
debug.txt
|
23
mods/moreores/CHANGELOG.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- Brazilian translation.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Handle tin which is now included in [Minetest Game](https://github.com/minetest/minetest_game).
|
||||
If it is detected, then the tin nodes and items from More Ores won't be registered.
|
||||
|
||||
## [1.0.0] - 2017-02-19
|
||||
|
||||
- Initial versioned release.
|
||||
|
||||
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...HEAD
|
10
mods/moreores/CONTRIBUTING.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Contributing to More Ores
|
||||
|
||||
Thank you for your interest in More Ores! Before contributing,
|
||||
be sure to know about these few guidelines:
|
||||
|
||||
- Contributions have to be licensed under the zlib license (or compatible)
|
||||
for code, and CC BY-SA 3.0 (or compatible) for assets.
|
||||
- Make sure to update the changelog, keeping the
|
||||
[changelog format](http://keepachangelog.com/en/1.0.0/) we use.
|
||||
- Don't bump the version yourself. Maintainers will do this when necessary.
|
13
mods/moreores/LICENSE.md
Normal file
@ -0,0 +1,13 @@
|
||||
# zlib license
|
||||
|
||||
Copyright (c) 2011-2017 Hugo Locurcio and contributors
|
||||
|
||||
**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.**
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any source distribution.
|
73
mods/moreores/README.md
Normal file
@ -0,0 +1,73 @@
|
||||
# More Ores
|
||||
|
||||
More Ores for [Minetest](https://www.minetest.net/), a free and open source infinite
|
||||
world block sandbox game.
|
||||
|
||||
[**Forum topic**](https://forum.minetest.net/viewtopic.php?f=11&t=549)
|
||||
|
||||
## Installation
|
||||
|
||||
### Download the mod
|
||||
|
||||
To install More Ores, clone this Git repository into your Minetest's `mods/`
|
||||
directory:
|
||||
|
||||
```
|
||||
git clone https://github.com/minetest-mods/moreores.git
|
||||
```
|
||||
|
||||
You can also
|
||||
[download a ZIP archive](https://github.com/minetest-mods/moreores/archive/master.zip)
|
||||
of More Ores. If you do so, you will need to extract the archive, then rename
|
||||
the resulting folder from `moreores-master` to `moreores` – this is
|
||||
**absolutely** necessary to do, else, it won't work!
|
||||
|
||||
### Enable the mod
|
||||
|
||||
Once you have installed More Ores, you need to enable it in Minetest.
|
||||
The procedure is as follows:
|
||||
|
||||
#### Using the client's main menu
|
||||
|
||||
This is the easiest way to enable More Ores when playing in singleplayer
|
||||
(or on a server hosted from a client).
|
||||
|
||||
1. Start Minetest and switch to the **Local Game** tab.
|
||||
2. Select the world you want to enable More Ores in.
|
||||
3. Click **Configure**, then enable `moreores` by double-clicking it
|
||||
(or ticking the **Enabled** checkbox).
|
||||
4. Save the changes, then start a game on the world you enabled More Ores on.
|
||||
5. More Ores should now be running on your world.
|
||||
|
||||
#### Using a text editor
|
||||
|
||||
This is the recommended way to enable the mod on a server without using a GUI.
|
||||
|
||||
1. Make sure Minetest is not currently running (else, it will overwrite
|
||||
the changes when exiting).
|
||||
2. Open the world's `world.mt` file using a text editor.
|
||||
3. Add the following line at the end of the file:
|
||||
|
||||
```
|
||||
load_mod_moreores = true
|
||||
```
|
||||
|
||||
If the line is already present in the file, then replace `false` with `true` on that line.
|
||||
|
||||
4. Save the file, then start a game on the world you enabled More Ores on.
|
||||
5. More Ores should now be running on your world.
|
||||
|
||||
## Version compatibility
|
||||
|
||||
More Ores is currently primarily tested with Minetest 0.4.16.
|
||||
It may or may not work with newer or older versions. Issues arising in older
|
||||
versions than 0.4.16 will generally not be fixed.
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2011-2017 Hugo Locurcio and contributors
|
||||
|
||||
- More Ores code is licensed under the zlib license, see
|
||||
[`LICENSE.md`](LICENSE.md) for details.
|
||||
- Unless otherwise specified, More Ores textures are licensed under
|
||||
[CC BY-SA 3.0 Unported](https://creativecommons.org/licenses/by-sa/3.0/).
|
27
mods/moreores/_config.txt
Normal file
@ -0,0 +1,27 @@
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------ CONFIGURATION ---------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
-------- Change settings by changing the values after the "=". ---------------
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- Chunk sizes for ore generation (bigger = ore deposits are more scattered around)
|
||||
moreores.tin_chunk_size = 7
|
||||
moreores.silver_chunk_size = 11
|
||||
moreores.mithril_chunk_size = 11
|
||||
|
||||
-- Amount of ore per chunk (higher = bigger ore deposits)
|
||||
moreores.tin_ore_per_chunk = 3
|
||||
moreores.silver_ore_per_chunk = 4
|
||||
moreores.mithril_ore_per_chunk = 1
|
||||
|
||||
-- Minimal depths of ore generation (Y coordinate, 0 being sea level by default)
|
||||
moreores.tin_min_depth = -31000
|
||||
moreores.silver_min_depth = -31000
|
||||
moreores.mithril_min_depth = -31000
|
||||
|
||||
-- Maximal depths of ore generation (Y coordinate, 0 being sea level by default)
|
||||
moreores.tin_max_depth = 8
|
||||
moreores.silver_max_depth = -2
|
||||
moreores.mithril_max_depth = -512
|
3
mods/moreores/depends.txt
Normal file
@ -0,0 +1,3 @@
|
||||
default
|
||||
mg?
|
||||
toolranks?
|
1
mods/moreores/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Adds new Ore types.
|
422
mods/moreores/init.lua
Normal file
@ -0,0 +1,422 @@
|
||||
--[[
|
||||
=====================================================================
|
||||
** More Ores **
|
||||
By Calinou, with the help of Nore.
|
||||
|
||||
Copyright (c) 2011-2017 Hugo Locurcio and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
=====================================================================
|
||||
--]]
|
||||
|
||||
moreores = {}
|
||||
|
||||
local default_tin = false
|
||||
if minetest.registered_items["default:tin_ingot"] then
|
||||
default_tin = true
|
||||
end
|
||||
|
||||
local S
|
||||
if minetest.get_modpath("intllib") then
|
||||
S = intllib.Getter()
|
||||
else
|
||||
S = function(s) return s end
|
||||
end
|
||||
|
||||
local modpath = minetest.get_modpath("moreores")
|
||||
|
||||
dofile(modpath .. "/_config.txt")
|
||||
|
||||
-- `mg` support:
|
||||
if minetest.get_modpath("mg") then
|
||||
dofile(modpath .. "/mg.lua")
|
||||
end
|
||||
|
||||
-- Utility functions
|
||||
-- =================
|
||||
|
||||
local default_stone_sounds = default.node_sound_stone_defaults()
|
||||
local default_metal_sounds = default.node_sound_metal_defaults()
|
||||
|
||||
local function hoe_on_use(itemstack, user, pointed_thing, uses)
|
||||
local pt = pointed_thing
|
||||
-- Check if pointing at a node:
|
||||
if not pt then
|
||||
return
|
||||
end
|
||||
if pt.type ~= "node" then
|
||||
return
|
||||
end
|
||||
|
||||
local under = minetest.get_node(pt.under)
|
||||
local pos = {x = pt.under.x, y = pt.under.y + 1, z = pt.under.z}
|
||||
local above = minetest.get_node(pos)
|
||||
|
||||
-- Return if any of the nodes is not registered:
|
||||
if not minetest.registered_nodes[under.name] then return end
|
||||
if not minetest.registered_nodes[above.name] then return end
|
||||
|
||||
-- Check if the node above the pointed thing is air:
|
||||
if above.name ~= "air" then return end
|
||||
|
||||
-- Check if pointing at dirt:
|
||||
if minetest.get_item_group(under.name, "soil") ~= 1 then return end
|
||||
|
||||
-- Turn the node into soil, wear out item and play sound:
|
||||
minetest.set_node(pt.under, {name ="farming:soil"})
|
||||
minetest.sound_play("default_dig_crumbly", {pos = pt.under, gain = 0.5})
|
||||
itemstack:add_wear(65535 / (uses - 1))
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local function get_recipe(c, name)
|
||||
if name == "sword" then
|
||||
return {{c}, {c}, {"group:stick"}}
|
||||
end
|
||||
if name == "shovel" then
|
||||
return {{c}, {"group:stick"}, {"group:stick"}}
|
||||
end
|
||||
if name == "axe" then
|
||||
return {{c, c}, {c, "group:stick"}, {"", "group:stick"}}
|
||||
end
|
||||
if name == "pick" then
|
||||
return {{c, c, c}, {"", "group:stick", ""}, {"", "group:stick", ""}}
|
||||
end
|
||||
if name == "hoe" then
|
||||
return {{c, c}, {"", "group:stick"}, {"", "group:stick"}}
|
||||
end
|
||||
if name == "block" then
|
||||
return {{c, c, c}, {c, c, c}, {c, c, c}}
|
||||
end
|
||||
if name == "lockedchest" then
|
||||
return {{"group:wood", "group:wood", "group:wood"}, {"group:wood", c, "group:wood"}, {"group:wood", "group:wood", "group:wood"}}
|
||||
end
|
||||
end
|
||||
|
||||
local function add_ore(modname, description, mineral_name, oredef)
|
||||
local img_base = modname .. "_" .. mineral_name
|
||||
local toolimg_base = modname .. "_tool_"..mineral_name
|
||||
local tool_base = modname .. ":"
|
||||
local tool_post = "_" .. mineral_name
|
||||
local item_base = tool_base .. mineral_name
|
||||
local ingot = item_base .. "_ingot"
|
||||
local lump_item = item_base .. "_lump"
|
||||
local ingotcraft = ingot
|
||||
|
||||
if oredef.makes.ore then
|
||||
minetest.register_node(modname .. ":mineral_" .. mineral_name, {
|
||||
description = S("%s Ore"):format(S(description)),
|
||||
tiles = {"default_stone.png^" .. modname .. "_mineral_" .. mineral_name .. ".png"},
|
||||
groups = {cracky = 3},
|
||||
sounds = default_stone_sounds,
|
||||
drop = lump_item
|
||||
})
|
||||
end
|
||||
|
||||
if oredef.makes.block then
|
||||
local block_item = item_base .. "_block"
|
||||
minetest.register_node(block_item, {
|
||||
description = S("%s Block"):format(S(description)),
|
||||
tiles = { img_base .. "_block.png" },
|
||||
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level= 2},
|
||||
sounds = default_metal_sounds,
|
||||
})
|
||||
minetest.register_alias(mineral_name.."_block", block_item)
|
||||
if oredef.makes.ingot then
|
||||
minetest.register_craft( {
|
||||
output = block_item,
|
||||
recipe = get_recipe(ingot, "block")
|
||||
})
|
||||
minetest.register_craft( {
|
||||
output = ingot .. " 9",
|
||||
recipe = {
|
||||
{ block_item }
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
if oredef.makes.lump then
|
||||
minetest.register_craftitem(lump_item, {
|
||||
description = S("%s Lump"):format(S(description)),
|
||||
inventory_image = img_base .. "_lump.png",
|
||||
})
|
||||
minetest.register_alias(mineral_name .. "_lump", lump_item)
|
||||
if oredef.makes.ingot then
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = ingot,
|
||||
recipe = lump_item
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
if oredef.makes.ingot then
|
||||
minetest.register_craftitem(ingot, {
|
||||
description = S("%s Ingot"):format(S(description)),
|
||||
inventory_image = img_base .. "_ingot.png",
|
||||
})
|
||||
minetest.register_alias(mineral_name .. "_ingot", ingot)
|
||||
end
|
||||
|
||||
if oredef.makes.chest then
|
||||
minetest.register_craft( {
|
||||
output = "default:chest_locked",
|
||||
recipe = {
|
||||
{ingot},
|
||||
{"default:chest"}
|
||||
}
|
||||
})
|
||||
minetest.register_craft( {
|
||||
output = "default:chest_locked",
|
||||
recipe = get_recipe(ingot, "lockedchest")
|
||||
})
|
||||
end
|
||||
|
||||
oredef.oredef.ore_type = "scatter"
|
||||
oredef.oredef.ore = modname .. ":mineral_" .. mineral_name
|
||||
oredef.oredef.wherein = "default:stone"
|
||||
|
||||
minetest.register_ore(oredef.oredef)
|
||||
|
||||
for tool_name, tooldef in pairs(oredef.tools) do
|
||||
local tdef = {
|
||||
description = "",
|
||||
inventory_image = toolimg_base .. tool_name .. ".png",
|
||||
tool_capabilities = {
|
||||
max_drop_level = 3,
|
||||
groupcaps = tooldef
|
||||
},
|
||||
sound = {breaks = "default_tool_breaks"},
|
||||
}
|
||||
|
||||
if tool_name == "sword" then
|
||||
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
|
||||
tdef.tool_capabilities.damage_groups = oredef.damage_groups
|
||||
tdef.description = S("%s Sword"):format(S(description))
|
||||
end
|
||||
|
||||
if tool_name == "pick" then
|
||||
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
|
||||
tdef.tool_capabilities.damage_groups = oredef.damage_groups
|
||||
tdef.description = S("%s Pickaxe"):format(S(description))
|
||||
end
|
||||
|
||||
if tool_name == "axe" then
|
||||
tdef.tool_capabilities.full_punch_interval = oredef.full_punch_interval
|
||||
tdef.tool_capabilities.damage_groups = oredef.damage_groups
|
||||
tdef.description = S("%s Axe"):format(S(description))
|
||||
end
|
||||
|
||||
if tool_name == "shovel" then
|
||||
tdef.full_punch_interval = oredef.full_punch_interval
|
||||
tdef.tool_capabilities.damage_groups = oredef.damage_groups
|
||||
tdef.description = S("%s Shovel"):format(S(description))
|
||||
tdef.wield_image = toolimg_base .. tool_name .. ".png^[transformR90"
|
||||
end
|
||||
|
||||
if tool_name == "hoe" then
|
||||
tdef.description = S("%s Hoe"):format(S(description))
|
||||
local uses = tooldef.uses
|
||||
tooldef.uses = nil
|
||||
tdef.on_use = function(itemstack, user, pointed_thing)
|
||||
return hoe_on_use(itemstack, user, pointed_thing, uses)
|
||||
end
|
||||
end
|
||||
|
||||
local fulltool_name = tool_base .. tool_name .. tool_post
|
||||
minetest.register_tool(fulltool_name, tdef)
|
||||
minetest.register_alias(tool_name .. tool_post, fulltool_name)
|
||||
if oredef.makes.ingot then
|
||||
minetest.register_craft({
|
||||
output = fulltool_name,
|
||||
recipe = get_recipe(ingot, tool_name)
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Add everything:
|
||||
local modname = "moreores"
|
||||
|
||||
local oredefs = {
|
||||
silver = {
|
||||
description = "Silver",
|
||||
makes = {ore = true, block = true, lump = true, ingot = true, chest = true},
|
||||
oredef = {clust_scarcity = moreores.silver_chunk_size * moreores.silver_chunk_size * moreores.silver_chunk_size,
|
||||
clust_num_ores = moreores.silver_ore_per_chunk,
|
||||
clust_size = moreores.silver_chunk_size,
|
||||
y_min = moreores.silver_min_depth,
|
||||
y_max = moreores.silver_max_depth
|
||||
},
|
||||
tools = {
|
||||
pick = {
|
||||
cracky = {times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 100, maxlevel= 1}
|
||||
},
|
||||
hoe = {
|
||||
uses = 300
|
||||
},
|
||||
shovel = {
|
||||
crumbly = {times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel= 1}
|
||||
},
|
||||
axe = {
|
||||
choppy = {times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 100, maxlevel= 1},
|
||||
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel= 1}
|
||||
},
|
||||
sword = {
|
||||
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1},
|
||||
snappy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel= 1},
|
||||
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel= 0}
|
||||
},
|
||||
},
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 6},
|
||||
},
|
||||
mithril = {
|
||||
description = "Mithril",
|
||||
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
|
||||
oredef = {clust_scarcity = moreores.mithril_chunk_size * moreores.mithril_chunk_size * moreores.mithril_chunk_size,
|
||||
clust_num_ores = moreores.mithril_ore_per_chunk,
|
||||
clust_size = moreores.mithril_chunk_size,
|
||||
y_min = moreores.mithril_min_depth,
|
||||
y_max = moreores.mithril_max_depth
|
||||
},
|
||||
tools = {
|
||||
pick = {
|
||||
cracky = {times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel= 2}
|
||||
},
|
||||
hoe = {
|
||||
uses = 1000
|
||||
},
|
||||
shovel = {
|
||||
crumbly = {times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel= 2}
|
||||
},
|
||||
axe = {
|
||||
choppy = {times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel= 2},
|
||||
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel= 1}
|
||||
},
|
||||
sword = {
|
||||
fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel= 2},
|
||||
snappy = {times = {[2] = 0.70, [3] = 0.25}, uses = 200, maxlevel= 2},
|
||||
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel= 0}
|
||||
}
|
||||
},
|
||||
full_punch_interval = 0.45,
|
||||
damage_groups = {fleshy = 9},
|
||||
}
|
||||
}
|
||||
|
||||
if not default_tin then
|
||||
oredefs.tin = {
|
||||
description = "Tin",
|
||||
makes = {ore = true, block = true, lump = true, ingot = true, chest = false},
|
||||
oredef = {clust_scarcity = moreores.tin_chunk_size * moreores.tin_chunk_size * moreores.tin_chunk_size,
|
||||
clust_num_ores = moreores.tin_ore_per_chunk,
|
||||
clust_size = moreores.tin_chunk_size,
|
||||
y_min = moreores.tin_min_depth,
|
||||
y_max = moreores.tin_max_depth
|
||||
},
|
||||
tools = {},
|
||||
}
|
||||
end
|
||||
|
||||
for orename,def in pairs(oredefs) do
|
||||
add_ore(modname, def.description, orename, def)
|
||||
end
|
||||
|
||||
-- Copper rail (special node):
|
||||
minetest.register_craft({
|
||||
output = "moreores:copper_rail 24",
|
||||
recipe = {
|
||||
{"default:copper_ingot", "", "default:copper_ingot"},
|
||||
{"default:copper_ingot", "group:stick", "default:copper_ingot"},
|
||||
{"default:copper_ingot", "", "default:copper_ingot"}
|
||||
}
|
||||
})
|
||||
|
||||
if default_tin then
|
||||
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
|
||||
minetest.register_alias("moreores:tin_lump", "default:tin_lump")
|
||||
minetest.register_alias("moreores:tin_ingot", "default:tin_ingot")
|
||||
minetest.register_alias("moreores:tin_block", "default:tinblock")
|
||||
else
|
||||
-- Bronze has some special cases, because it is made from copper and tin:
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "default:bronze_ingot 3",
|
||||
recipe = {
|
||||
"moreores:tin_ingot",
|
||||
"default:copper_ingot",
|
||||
"default:copper_ingot",
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- Unique node:
|
||||
minetest.register_node("moreores:copper_rail", {
|
||||
description = S("Copper Rail"),
|
||||
drawtype = "raillike",
|
||||
tiles = {"moreores_copper_rail.png", "moreores_copper_rail_curved.png", "moreores_copper_rail_t_junction.png", "moreores_copper_rail_crossing.png"},
|
||||
inventory_image = "moreores_copper_rail.png",
|
||||
wield_image = "moreores_copper_rail.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
|
||||
},
|
||||
sounds = default_metal_sounds,
|
||||
groups = {bendy = 2,snappy = 1,dig_immediate = 2,rail= 1, connect_to_raillike = 1},
|
||||
mesecons = {
|
||||
effector = {
|
||||
action_on = function(pos, node)
|
||||
minetest.get_meta(pos):set_string("cart_acceleration", "0.5")
|
||||
end,
|
||||
|
||||
action_off = function(pos, node)
|
||||
minetest.get_meta(pos):set_string("cart_acceleration", "0")
|
||||
end,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
--toolranks
|
||||
|
||||
if minetest.get_modpath("toolranks") then
|
||||
|
||||
minetest.override_item("moreores:pick_mithril", {
|
||||
original_description = "Mithril Pickaxe",
|
||||
description = toolranks.create_description("Mithril Pickaxe", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
|
||||
minetest.override_item("moreores:axe_mithril", {
|
||||
original_description = "Mithril Axe",
|
||||
description = toolranks.create_description("Mithril Axe", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
|
||||
minetest.override_item("moreores:shovel_mithril", {
|
||||
original_description = "Mithril Shovel",
|
||||
description = toolranks.create_description("Mithril Shovel", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
|
||||
minetest.override_item("moreores:pick_silver", {
|
||||
original_description = "Silver Pickaxe",
|
||||
description = toolranks.create_description("Silver Pickaxe", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
|
||||
minetest.override_item("moreores:axe_silver", {
|
||||
original_description = "Silver Axe",
|
||||
description = toolranks.create_description("Silver Axe", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
|
||||
minetest.override_item("moreores:shovel_silver", {
|
||||
original_description = "Silver Shovel",
|
||||
description = toolranks.create_description("Silver Shovel", 0, 1),
|
||||
after_use = toolranks.new_afteruse})
|
||||
end
|
||||
|
||||
|
||||
if minetest.settings:get_bool("log_mods") then
|
||||
minetest.log("action", S("[moreores] loaded."))
|
||||
end
|
22
mods/moreores/locale/de.txt
Normal file
@ -0,0 +1,22 @@
|
||||
# Translation by Xanthin
|
||||
|
||||
[moreores] loaded. = [moreores] geladen.
|
||||
|
||||
%s Ore = %serz
|
||||
%s Lump = %sklumpen
|
||||
%s Ingot = %sbarren
|
||||
%s Block = %sblock
|
||||
%s Pickaxe = %sspitzhacke
|
||||
%s Shovel = %sschaufel
|
||||
%s Axe = %saxt
|
||||
%s Sword = %sschwert
|
||||
%s Hoe = %shacke
|
||||
|
||||
Copper = Kupfer
|
||||
Tin = Zinn
|
||||
Bronze = Bronze
|
||||
Silver = Silber
|
||||
Gold = Gold
|
||||
Mithril = Mithril
|
||||
|
||||
Copper Rail = Kupferschiene
|
21
mods/moreores/locale/es.txt
Normal file
@ -0,0 +1,21 @@
|
||||
# Translation by kaeza
|
||||
|
||||
[moreores] loaded. = [moreores] cargado.
|
||||
|
||||
%s Ore = Mineral de %s
|
||||
%s Lump = Pepita de %s
|
||||
%s Ingot = Lingote de %s
|
||||
%s Block = Bloque de %s
|
||||
%s Pickaxe = Pico de %s
|
||||
%s Shovel = Pala de %s
|
||||
%s Axe = Hacha de %s
|
||||
%s Sword = Espada de %s
|
||||
|
||||
Copper = cobre
|
||||
Tin = estaño
|
||||
Bronze = bronce
|
||||
Silver = plata
|
||||
Gold = oro
|
||||
Mithril = mitrilo
|
||||
|
||||
Copper Rail = Riel de Cobre
|
21
mods/moreores/locale/fr.txt
Normal file
@ -0,0 +1,21 @@
|
||||
# Translation by Calinou
|
||||
|
||||
[moreores] loaded. = [moreores] a été chargé.
|
||||
|
||||
%s Ore = Minerai en %s
|
||||
%s Lump = Roche en %s
|
||||
%s Ingot = Lingot en %s
|
||||
%s Block = Bloc en %s
|
||||
%s Pickaxe = Pioche en %s
|
||||
%s Shovel = Pelle en %s
|
||||
%s Axe = Hache en %s
|
||||
%s Sword = Épée en %s
|
||||
|
||||
Copper = cuivre
|
||||
Tin = étain
|
||||
Bronze = bronze
|
||||
Silver = argent
|
||||
Gold = or
|
||||
Mithril = mithril
|
||||
|
||||
Copper Rail = Rail en cuivre
|
21
mods/moreores/locale/it.txt
Normal file
@ -0,0 +1,21 @@
|
||||
# Translation by Pagliaccio
|
||||
|
||||
[moreores] loaded. = [moreores] caricato.
|
||||
|
||||
%s Ore = Minerale di %s
|
||||
%s Lump = %s grezzo
|
||||
%s Ingot = Lingotto di %s
|
||||
%s Block = Blocco di %s
|
||||
%s Pickaxe = Piccone di %s
|
||||
%s Shovel = Badile di %s
|
||||
%s Axe = Ascia di %s
|
||||
%s Sword = Spada di %s
|
||||
|
||||
Copper = Rame
|
||||
Tin = Stagno
|
||||
Bronze = Bronzo
|
||||
Silver = Argento
|
||||
Gold = Oro
|
||||
Mithril = Mithril
|
||||
|
||||
Copper Rail = Binario di rame
|
20
mods/moreores/locale/nl.txt
Normal file
@ -0,0 +1,20 @@
|
||||
[moreores] loaded. = [moreores] geladen.
|
||||
|
||||
%s Ore = %s Erts
|
||||
%s Lump = %s Klomp
|
||||
%s Ingot = %s Staaf
|
||||
%s Block = %s Blok
|
||||
%s Pickaxe = %s Pikhouweel
|
||||
%s Shovel = %s Schep
|
||||
%s Axe = %s Bijl
|
||||
%s Sword = %s Zwaard
|
||||
%s Hoe = %s Schoffel
|
||||
|
||||
Copper = Koper
|
||||
Tin = Tin
|
||||
Bronze = Brons
|
||||
Silver = Silver
|
||||
Gold = Goud
|
||||
Mithril = Mithril
|
||||
|
||||
Copper Rail = Koperen Spoor
|
21
mods/moreores/locale/pt_br.txt
Normal file
@ -0,0 +1,21 @@
|
||||
# Translation by github.com/caiorrs
|
||||
|
||||
[moreores] loaded. = [moreores] carregado.
|
||||
|
||||
%s Ore = Minério de %s
|
||||
%s Lump = Pepita de %s
|
||||
%s Ingot = Lingote de %s
|
||||
%s Block = Bloco de %s
|
||||
%s Pickaxe = Picareta de %s
|
||||
%s Shovel = Pá de %s
|
||||
%s Axe = Machado de %s
|
||||
%s Sword = Espada de %s
|
||||
|
||||
Copper = Cobre
|
||||
Tin = Estanho
|
||||
Bronze = Bronze
|
||||
Silver = Prata
|
||||
Gold = Ouro
|
||||
Mithril = Mitrilo
|
||||
|
||||
Copper Rail = Trilho de Cobre
|
25
mods/moreores/locale/tr.txt
Normal file
@ -0,0 +1,25 @@
|
||||
# Translation by Mahmutelmas06
|
||||
# mahmutelmas06@hotmail.com
|
||||
# Türkçe Çeviri
|
||||
# Turkish translation
|
||||
# Language 2 letter iso code is "tr"
|
||||
|
||||
[moreores] loaded. = [moreores] yüklendi.
|
||||
|
||||
%s Ore = %s madeni
|
||||
%s Lump = %s yığını
|
||||
%s Ingot = %s külçesi
|
||||
%s Block = %s blok
|
||||
%s Pickaxe = %s kazma
|
||||
%s Shovel = %s kürek
|
||||
%s Axe = %s balta
|
||||
%s Sword = %s kılıç
|
||||
|
||||
Copper = Bakır
|
||||
Tin = Kalay
|
||||
Bronze = Bronz
|
||||
Silver = Gümüş
|
||||
Gold = Altın
|
||||
Mithril = Mithril
|
||||
|
||||
Copper Rail = Bakır ray
|
55
mods/moreores/mg.lua
Normal file
@ -0,0 +1,55 @@
|
||||
--[[
|
||||
More Ores: `mg` mod support
|
||||
|
||||
Copyright (c) 2011-2017 Hugo Locurcio and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
if not minetest.registered_items["default:tin_ingot"] then
|
||||
mg.register_ore({
|
||||
name = "moreores:mineral_tin",
|
||||
wherein = "default:stone",
|
||||
seeddiff = 8,
|
||||
maxvdistance = 10.5,
|
||||
maxheight = 8,
|
||||
seglenghtn = 15,
|
||||
seglenghtdev = 6,
|
||||
segincln = 0,
|
||||
segincldev = 0.6,
|
||||
turnangle = 57,
|
||||
forkturnangle = 57,
|
||||
numperblock = 2
|
||||
})
|
||||
end
|
||||
|
||||
mg.register_ore({
|
||||
name = "moreores:mineral_silver",
|
||||
wherein = "default:stone",
|
||||
seeddiff = 9,
|
||||
maxvdistance = 10.5,
|
||||
maxheight = -2,
|
||||
seglenghtn = 15,
|
||||
seglenghtdev = 6,
|
||||
sizen = 60,
|
||||
sizedev = 30,
|
||||
segincln = 0,
|
||||
segincldev = 0.6,
|
||||
turnangle = 57,
|
||||
forkturnangle = 57,
|
||||
numperblock = 2
|
||||
})
|
||||
|
||||
mg.register_ore({
|
||||
name = "moreores:mineral_mithril",
|
||||
wherein = "default:stone",
|
||||
seeddiff = 10,
|
||||
maxvdistance = 10.5,
|
||||
maxheight = -512,
|
||||
seglenghtn = 2,
|
||||
seglenghtdev = 4,
|
||||
sizen = 12,
|
||||
sizedev = 5,
|
||||
segincln = 0,
|
||||
segincldev = 0.6,
|
||||
turnangle = 57,
|
||||
})
|
1
mods/moreores/mod.conf
Normal file
@ -0,0 +1 @@
|
||||
name = moreores
|
BIN
mods/moreores/textures/moreores_copper_rail.png
Normal file
After Width: | Height: | Size: 267 B |
BIN
mods/moreores/textures/moreores_copper_rail_crossing.png
Normal file
After Width: | Height: | Size: 249 B |
BIN
mods/moreores/textures/moreores_copper_rail_curved.png
Normal file
After Width: | Height: | Size: 263 B |
BIN
mods/moreores/textures/moreores_copper_rail_t_junction.png
Normal file
After Width: | Height: | Size: 333 B |
BIN
mods/moreores/textures/moreores_mineral_mithril.png
Normal file
After Width: | Height: | Size: 141 B |
BIN
mods/moreores/textures/moreores_mineral_silver.png
Normal file
After Width: | Height: | Size: 151 B |
BIN
mods/moreores/textures/moreores_mineral_tin.png
Normal file
After Width: | Height: | Size: 171 B |
BIN
mods/moreores/textures/moreores_mithril_block.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
mods/moreores/textures/moreores_mithril_ingot.png
Normal file
After Width: | Height: | Size: 210 B |
BIN
mods/moreores/textures/moreores_mithril_lump.png
Normal file
After Width: | Height: | Size: 157 B |
BIN
mods/moreores/textures/moreores_silver_block.png
Normal file
After Width: | Height: | Size: 265 B |
BIN
mods/moreores/textures/moreores_silver_ingot.png
Normal file
After Width: | Height: | Size: 198 B |
BIN
mods/moreores/textures/moreores_silver_lump.png
Normal file
After Width: | Height: | Size: 168 B |
BIN
mods/moreores/textures/moreores_tin_block.png
Normal file
After Width: | Height: | Size: 267 B |
BIN
mods/moreores/textures/moreores_tin_ingot.png
Normal file
After Width: | Height: | Size: 198 B |
BIN
mods/moreores/textures/moreores_tin_lump.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
mods/moreores/textures/moreores_tool_mithrilaxe.png
Normal file
After Width: | Height: | Size: 180 B |
BIN
mods/moreores/textures/moreores_tool_mithrilhoe.png
Normal file
After Width: | Height: | Size: 172 B |
BIN
mods/moreores/textures/moreores_tool_mithrilpick.png
Normal file
After Width: | Height: | Size: 199 B |
BIN
mods/moreores/textures/moreores_tool_mithrilshovel.png
Normal file
After Width: | Height: | Size: 195 B |
BIN
mods/moreores/textures/moreores_tool_mithrilsword.png
Normal file
After Width: | Height: | Size: 169 B |
BIN
mods/moreores/textures/moreores_tool_silveraxe.png
Normal file
After Width: | Height: | Size: 193 B |
BIN
mods/moreores/textures/moreores_tool_silverhoe.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
mods/moreores/textures/moreores_tool_silverpick.png
Normal file
After Width: | Height: | Size: 196 B |
BIN
mods/moreores/textures/moreores_tool_silvershovel.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
mods/moreores/textures/moreores_tool_silversword.png
Normal file
After Width: | Height: | Size: 169 B |
@ -2467,7 +2467,7 @@ minetest.register_tool("rangedweapons:electrogun", {
|
||||
minetest.register_craft({
|
||||
output = 'rangedweapons:electrogun',
|
||||
recipe = {
|
||||
{'default:goldblock', 'default:mithrilblock', 'default:goldblock'},
|
||||
{'default:goldblock', 'moreores:mithril_block', 'default:goldblock'},
|
||||
{'default:diamondblock', 'default:diamondblock', 'default:steelblock'},
|
||||
{'default:mese', 'default:steelblock', 'default:mese'},
|
||||
}
|
||||
@ -2562,7 +2562,7 @@ minetest.register_craft({
|
||||
output = 'rangedweapons:laser',
|
||||
recipe = {
|
||||
{'default:steel_ingot', 'default:steel_ingot', 'default:goldblock'},
|
||||
{'default:mithrilblock', 'default:diamondblock', 'default:goldblock'},
|
||||
{'moreores:mithril_block', 'default:diamondblock', 'default:goldblock'},
|
||||
{'default:steel_ingot', 'default:steel_ingot', 'default:gold_ingot'},
|
||||
}
|
||||
})
|
||||
@ -2630,7 +2630,7 @@ minetest.register_craft({
|
||||
output = 'rangedweapons:energycharge 20',
|
||||
recipe = {
|
||||
{'', 'default:gold_ingot', ''},
|
||||
{'', 'default:mithril_ingot', ''},
|
||||
{'', 'moreores:mithril_ingot', ''},
|
||||
{'', 'default:diamond', ''},
|
||||
}
|
||||
})
|
||||
|
@ -1085,14 +1085,14 @@ stairs.register_all("marble", "es:marble",
|
||||
stairs.register_all("granite_bricks", "es:granite_bricks",
|
||||
grp,
|
||||
--{"technic_granite_bricks.png"},
|
||||
{"mcl_core_diorite_smooth.png"},
|
||||
{"mcl_core_granite_smooth.png"},
|
||||
"Granite Bricks Block",
|
||||
stairs.stone)
|
||||
|
||||
stairs.register_all("marble_bricks", "es:marble_bricks",
|
||||
grp,
|
||||
--{"technic_marble_bricks.png"},
|
||||
{"mcl_core_granite_smooth.png"},
|
||||
{"mcl_core_diorite_smooth.png"},
|
||||
"Marble Bricks Block",
|
||||
stairs.stone)
|
||||
|
||||
|
@ -269,7 +269,7 @@ if minetest.get_modpath("esm") then
|
||||
end
|
||||
|
||||
|
||||
if minetest.get_modpath("moreores") then
|
||||
if minetest.get_modpath("moreoresm") then
|
||||
|
||||
minetest.override_item("moreores:pick_mithril", {
|
||||
original_description = "Mithril Pickaxe",
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 882 B After Width: | Height: | Size: 818 B |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 939 B After Width: | Height: | Size: 999 B |
@ -21,7 +21,7 @@ minetest.register_craftitem("xdecor:bowl_soup", {
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
]]
|
||||
|
||||
minetest.register_tool("xdecor:hammer", {
|
||||
description = "Hammer",
|
||||
inventory_image = "xdecor_hammer.png",
|
||||
@ -29,7 +29,7 @@ minetest.register_tool("xdecor:hammer", {
|
||||
stack_max = 1,
|
||||
on_use = function() do return end end
|
||||
})
|
||||
--[[
|
||||
|
||||
minetest.register_craftitem("xdecor:honey", {
|
||||
description = "Honey",
|
||||
inventory_image = "xdecor_honey.png",
|
||||
|
@ -12,7 +12,7 @@ dofile(modpath.."/handlers/registration.lua")
|
||||
--dofile(modpath.."/chess.lua")
|
||||
--dofile(modpath.."/cooking.lua")
|
||||
--dofile(modpath.."/craftguide.lua")
|
||||
dofile(modpath.."/craftitems.lua")
|
||||
--dofile(modpath.."/craftitems.lua")
|
||||
dofile(modpath.."/enchanting.lua")
|
||||
--dofile(modpath.."/hive.lua")
|
||||
--dofile(modpath.."/itemframe.lua")
|
||||
|
@ -150,9 +150,9 @@ minetest.register_craft({
|
||||
minetest.register_craft({
|
||||
output = "xdecor:enchantment_table",
|
||||
recipe = {
|
||||
{"default:meselamp","default:marble_bricks","default:meselamp"},
|
||||
{"default:emeraldblock","mobs_mc:ghast_head","default:emeraldblock"},
|
||||
{"default:obsidianbrick","default:diamondblock","default:obsidianbrick"},
|
||||
{"","default:book",""},
|
||||
{"es:rubyblock","default:obsidian","es:rubyblock"},
|
||||
{"default:obsidian","default:obsidian","default:obsidian"},
|
||||
}
|
||||
})
|
||||
--[[
|
||||
|