first commit

master
Alexsandro Percy 2020-04-24 10:44:00 -03:00
parent 42f8965307
commit dc8b30f2ad
27 changed files with 245 additions and 1 deletions

23
Licence.txt Executable file
View File

@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) 2016 TenPlus1
Copyright (c) 2020 APercy
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.

View File

@ -1 +1,15 @@
# minetest_biofuel
# minetest_biofuel
Minetest 5.2 mod: Biofuel Distiller Kit
========================================
by APercy
License of source code:
-----------------------
Based on original Wine mod for Minetest by TenPlus1
License of media (textures, 3d models):
---------------------------------------
Distiller model and textures (including biofuel barrel icon) by APercy. See License file

3
depends.txt Executable file
View File

@ -0,0 +1,3 @@
player_api
default?
creative?

199
init.lua Normal file
View File

@ -0,0 +1,199 @@
----------
--biofuel
----------
local modname = "biofuel"
if minetest.get_modpath("default") then
--[[minetest.register_craft({
output = modname .. ":biofuel",
recipe = {
{"", "farming:wheat"},
{"farming:wheat", "farming:wheat"},
}
})]]--
minetest.register_craft({
output = modname .. ":biofuel_distiller",
recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:steel_ingot" , "", "default:steel_ingot"},
{"default:steel_ingot" , "default:steel_ingot", "default:steel_ingot"},
},
})
end
-- biofuel
minetest.register_craftitem(modname .. ":biofuel",{
description = "Bio Fuel",
inventory_image = "biofuel_inv.png",
})
local ferment = {
{"default:papyrus", modname .. ":biofuel"},
{"farming:wheat", modname .. ":biofuel"},
{"farming:corn", modname .. ":biofuel"},
{"farming:baked_potato", modname .. ":biofuel"}
}
-- distiller
biofueldistiller_formspec = "size[8,9]"
.. "list[current_name;src;2,1;1,1;]"
.. "list[current_name;dst;5,1;1,1;]"
.. "list[current_player;main;0,5;8,4;]"
.. "listring[current_name;dst]"
.. "listring[current_player;main]"
.. "listring[current_name;src]"
.. "listring[current_player;main]"
.. "image[3.5,1;1,1;gui_furnace_arrow_bg.png^[transformR270]"
minetest.register_node( modname .. ":biofuel_distiller", {
description = "Biofuel Distiller",
tiles = {"metal.png", "aluminum.png", "copper.png" },
drawtype = "mesh",
mesh = "biofuel_distiller.b3d",
paramtype = "light",
paramtype2 = "facedir",
groups = {
choppy = 2, oddly_breakable_by_hand = 1, flammable = 2
},
legacy_facedir_simple = true,
on_place = minetest.rotate_node,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", biofueldistiller_formspec)
meta:set_string("infotext", "Biofuel Distiller")
meta:set_float("status", 0.0)
local inv = meta:get_inventory()
inv:set_size("src", 1)
inv:set_size("dst", 1)
end,
can_dig = function(pos,player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
if not inv:is_empty("dst")
or not inv:is_empty("src") then
return false
end
return true
end,
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
if listname == "src" then
return stack:get_count()
elseif listname == "dst" then
return 0
end
end,
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local stack = inv:get_stack(from_list, from_index)
if to_list == "src" then
return count
elseif to_list == "dst" then
return 0
end
end,
on_metadata_inventory_put = function(pos)
local timer = minetest.get_node_timer(pos)
timer:start(5)
end,
on_timer = function(pos)
local meta = minetest.get_meta(pos) ; if not meta then return end
local inv = meta:get_inventory()
-- is barrel empty?
if not inv or inv:is_empty("src") then
meta:set_float("status", 0.0)
meta:set_string("infotext", "Fuel Distiller")
return false
end
-- does it contain any of the source items on the list?
local has_item
for n = 1, #ferment do
if inv:contains_item("src", ItemStack(ferment[n][1])) then
has_item = n
break
end
end
if not has_item then
return false
end
-- is there room for additional fermentation?
if not inv:room_for_item("dst", ferment[has_item][2]) then
meta:set_string("infotext", "Fuel Distiller (FULL)")
return true
end
local status = meta:get_float("status")
-- fermenting (change status)
if status < 100 then
meta:set_string("infotext", "Fuel Distiller " .. status .. "% done")
meta:set_float("status", status + 5)
else
inv:remove_item("src", ferment[has_item][1])
inv:add_item("dst", ferment[has_item][2])
meta:set_float("status", 0,0)
end
if inv:is_empty("src") then
meta:set_float("status", 0.0)
meta:set_string("infotext", "Fuel Distiller")
end
return true
end,
})

5
mod.conf Normal file
View File

@ -0,0 +1,5 @@
name = biofuel
depends = player_api
optional_depends = default, creative
description = It adds a distiller and biofuel, for running biofuel powered machines
title = Biofuel Distiller Kit

Binary file not shown.

BIN
models/pointer.b3d Normal file

Binary file not shown.

BIN
models/src/aluminum.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
models/src/biofuel_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
models/src/black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

BIN
models/src/copper.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
models/src/distiller.blend Normal file

Binary file not shown.

BIN
models/src/distiller.blend1 Normal file

Binary file not shown.

BIN
models/src/interior_black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

BIN
models/src/metal.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
models/src/panel.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
models/src/panel.xcf Normal file

Binary file not shown.

BIN
models/src/pointer.blend Normal file

Binary file not shown.

BIN
screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
sounds/helicopter_motor.ogg Normal file

Binary file not shown.

BIN
textures/aluminum.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
textures/biofuel_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
textures/black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

BIN
textures/copper.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
textures/interior_black.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

BIN
textures/metal.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
textures/panel.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB