Merge pull request 'mcl_starting_chest' (#3373) from mcl_starting_chest into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3373 Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>hardcore_mode_test
commit
e363435134
|
@ -0,0 +1,11 @@
|
|||
Mcl_starting_inventory, adapted for Mineclone 2 by Michieal.
|
||||
|
||||
Based on:
|
||||
Minetest Game mod: give_initial_stuff
|
||||
=====================================
|
||||
See license.txt for license information.
|
||||
|
||||
Authors of source code
|
||||
----------------------
|
||||
Perttu Ahola (celeron55) <celeron55@gmail.com> (MIT)
|
||||
Various Minetest developers and contributors (MIT)
|
|
@ -0,0 +1,62 @@
|
|||
--- Copyright 2023, Michieal. (Modifications for the mod to be usable in Mineclone 2.)
|
||||
--- Based on mtg mod, give_initial_stuff. "Written by C55 and various minetest developers."
|
||||
---
|
||||
--- Copyright notice created for the license to be valid. (MIT 3)
|
||||
|
||||
local DEBUG = false
|
||||
|
||||
local function mcl_log(message)
|
||||
if DEBUG then
|
||||
minetest.log(message)
|
||||
end
|
||||
end
|
||||
|
||||
local give_inventory = minetest.settings:get_bool("give_starting_inv", false)
|
||||
|
||||
local stuff_string = "mcl_tools:pick_iron,mcl_tools:axe_iron,mcl_tools:shovel_iron,mcl_torches:torch 32,mcl_core:cobble 32"
|
||||
|
||||
mcl_starting_inventory = {
|
||||
items = {}
|
||||
}
|
||||
|
||||
function mcl_starting_inventory.give(player)
|
||||
mcl_log("Giving initial stuff to player " .. player:get_player_name())
|
||||
local inv = player:get_inventory()
|
||||
for _, stack in ipairs(mcl_starting_inventory.items) do
|
||||
if inv:room_for_item("main", stack) then
|
||||
inv:add_item("main", stack)
|
||||
else
|
||||
mcl_log("no room for the item: " .. dump(stack))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mcl_starting_inventory.add(stack)
|
||||
mcl_starting_inventory.items[#mcl_starting_inventory.items + 1] = ItemStack(stack)
|
||||
end
|
||||
|
||||
function mcl_starting_inventory.clear()
|
||||
mcl_starting_inventory.items = {}
|
||||
end
|
||||
|
||||
function mcl_starting_inventory.add_from_csv(str)
|
||||
local items = str:split(",")
|
||||
for _, itemname in ipairs(items) do
|
||||
mcl_starting_inventory.add(itemname)
|
||||
end
|
||||
end
|
||||
|
||||
function mcl_starting_inventory.set_list(list)
|
||||
mcl_starting_inventory.items = list
|
||||
end
|
||||
|
||||
function mcl_starting_inventory.get_list()
|
||||
return mcl_starting_inventory.items
|
||||
end
|
||||
|
||||
if give_inventory and give_inventory == true then
|
||||
mcl_starting_inventory.add_from_csv(stuff_string)
|
||||
mcl_log("Okay to give inventory:\n" .. dump(mcl_starting_inventory.get_list()))
|
||||
end
|
||||
|
||||
minetest.register_on_newplayer(mcl_starting_inventory.give)
|
|
@ -0,0 +1,25 @@
|
|||
License of source code
|
||||
----------------------
|
||||
|
||||
The MIT License (MIT)
|
||||
Copyright (C) 2012-2016 Perttu Ahola (celeron55) <celeron55@gmail.com>
|
||||
Copyright (C) 2012-2016 Various Minetest developers and contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
software and associated documentation files (the "Software"), to deal in the Software
|
||||
without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/MIT
|
|
@ -0,0 +1,3 @@
|
|||
title = mcl_starting_inventory
|
||||
description = Mineclone 2 mod, Give Starting Inventory
|
||||
depends = mcl_core, mcl_tools, mcl_torches
|
|
@ -236,6 +236,9 @@ mcl_extended_pet_control (Extended pet control) bool true
|
|||
# Enable hamburgers for villagers to follow
|
||||
mcl_enable_hamburger (Enable Hamburger) bool true
|
||||
|
||||
# Starting Inventory contents (given directly to the new player) type: bool
|
||||
give_starting_inv (Player Starter Pack) bool false
|
||||
|
||||
[Debugging]
|
||||
# If enabled, this will show the itemstring of an item in the description.
|
||||
mcl_item_id_debug (Item ID Debug) bool false
|
||||
|
|
Loading…
Reference in New Issue