Energy tables incomplete, probably bugs
This commit is contained in:
parent
bcfb72543a
commit
d695ab1659
10
.cdb.json
10
.cdb.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"type": "MOD",
|
||||
"title": "Element Exchange",
|
||||
"name": "element_exchange",
|
||||
"title": "ExchangeClone",
|
||||
"name": "exchangeclone",
|
||||
"tags": [
|
||||
"magic",
|
||||
"technology"
|
||||
|
@ -10,7 +10,7 @@
|
|||
"media_license": "GPL-3.0-or-later",
|
||||
"short_description": "Exchange nodes into other nodes",
|
||||
"dev_state": "ACTIVELY_DEVELOPED",
|
||||
"repo": "https://github.com/enchant97/minetest_element_exchange.git",
|
||||
"website": "https://github.com/enchant97/minetest_element_exchange",
|
||||
"issue_tracker": "https://github.com/enchant97/minetest_element_exchange/issues"
|
||||
"repo": "https://github.com/thepython10110/exchangeclone",
|
||||
"website": "https://thepython10110.github.io",
|
||||
"issue_tracker": "https://github.com/thepython10110/exchangeclone/issues"
|
||||
}
|
||||
|
|
12
README.md
12
README.md
|
@ -1,9 +1,9 @@
|
|||
# Element Exchange
|
||||
[![ContentDB](https://content.minetest.net/packages/enchant97/element_exchange/shields/downloads/)](https://content.minetest.net/packages/enchant97/element_exchange/)
|
||||
![GitHub license](https://img.shields.io/github/license/enchant97/minetest_element_exchange)
|
||||
![GitHub issues](https://img.shields.io/github/issues/enchant97/minetest_element_exchange)
|
||||
[![ContentDB](https://content.minetest.net/packages/thepython10110/exchangeclone/shields/downloads/)](https://content.minetest.net/packages/thepython10110/exchangeclone/)
|
||||
![GitHub license](https://img.shields.io/github/license/thepython10110/minetest_exchangeclone)
|
||||
![GitHub issues](https://img.shields.io/github/issues/thepython10110/minetest_exchangeclone)
|
||||
|
||||
A [Minetest](https://www.minetest.net/) mod to exchange nodes into other nodes. This is mod is inspired by the "Equivalent Exchange" mod for Minecraft.
|
||||
A [Minetest](https://www.minetest.net/) mod to exchange nodes into other nodes. This is mod is inspired by the "Equivalent Exchange" mod for Minecraft, and forked and modified from [Element Exchange](https://github.com/enchant97/minetest_element_exchange). In other words, 90% of the code is not mine.
|
||||
|
||||
![In Game Screenshot](screenshot.png)
|
||||
|
||||
|
@ -14,9 +14,9 @@ A [Minetest](https://www.minetest.net/) mod to exchange nodes into other nodes.
|
|||
- Deconstructor that can extract energy from a node
|
||||
|
||||
## Config
|
||||
You can change the default values in the minetest settings under `mods > element_exchange`.
|
||||
You can change the default values in the minetest settings under `mods > exchangeclone`.
|
||||
|
||||
## License
|
||||
## Original License
|
||||
Copyright (C) 2021 Leo Spratt
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
|
|
@ -1 +1 @@
|
|||
COLLECTOR_INTERVAL = minetest.settings:get("element_exchange.collector_interval") or 20
|
||||
COLLECTOR_INTERVAL = minetest.settings:get("exchangeclone.collector_interval") or 20
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
|
||||
|
||||
function get_element_constructor_formspec()
|
||||
local formspec = {
|
||||
"size[8,9]",
|
||||
|
@ -80,7 +82,7 @@ local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
|||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "fuel" then
|
||||
if stack:get_name() == "element_exchange:exchange_orb" then
|
||||
if stack:get_name() == "exchangeclone:exchange_orb" then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
|
@ -109,12 +111,12 @@ local function on_blast(pos)
|
|||
default.get_inventory_drops(pos, "fuel", drops)
|
||||
default.get_inventory_drops(pos, "src", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "element_exchange:element_constructor"
|
||||
drops[#drops+1] = "exchangeclone:element_constructor"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end
|
||||
|
||||
minetest.register_node("element_exchange:element_constructor", {
|
||||
minetest.register_node("exchangeclone:element_constructor", {
|
||||
description = "Element Constructor",
|
||||
tiles = {
|
||||
"ee_constructor_up.png",
|
||||
|
@ -144,12 +146,17 @@ minetest.register_node("element_exchange:element_constructor", {
|
|||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
|
||||
local recipe_ingredient = "default:pick_diamond"
|
||||
|
||||
if exchangeclone.mineclone then
|
||||
recipe_ingredient = "mcl_tools:pick_diamond"
|
||||
end
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "element_exchange:element_constructor",
|
||||
output = "exchangeclone:element_constructor",
|
||||
recipe = {
|
||||
{"", "element_exchange:exchange_orb",""},
|
||||
{"element_exchange:exchange_orb", "default:pick_diamond", "element_exchange:exchange_orb"},
|
||||
{"", "element_exchange:exchange_orb", ""}
|
||||
{"", "exchangeclone:exchange_orb",""},
|
||||
{"exchangeclone:exchange_orb", recipe_ingredient, "exchangeclone:exchange_orb"},
|
||||
{"", "exchangeclone:exchange_orb", ""}
|
||||
}
|
||||
})
|
|
@ -60,7 +60,7 @@ local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
|||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "dst" then
|
||||
if stack:get_name() == "element_exchange:exchange_orb" then
|
||||
if stack:get_name() == "exchangeclone:exchange_orb" then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
|
@ -88,12 +88,12 @@ local function on_blast(pos)
|
|||
local drops = {}
|
||||
default.get_inventory_drops(pos, "fuel", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "element_exchange:element_deconstructor"
|
||||
drops[#drops+1] = "exchangeclone:element_deconstructor"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end
|
||||
|
||||
minetest.register_node("element_exchange:element_deconstructor", {
|
||||
minetest.register_node("exchangeclone:element_deconstructor", {
|
||||
description = "Element Deconstructor",
|
||||
tiles = {
|
||||
"ee_deconstructor_up.png",
|
||||
|
@ -123,12 +123,18 @@ minetest.register_node("element_exchange:element_deconstructor", {
|
|||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
|
||||
local recipe_ingredient = "default:furnace"
|
||||
|
||||
if exchangeclone.mineclone then
|
||||
recipe_ingredient = "mcl_furnaces:furnace"
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "element_exchange:element_deconstructor",
|
||||
output = "exchangeclone:element_deconstructor",
|
||||
recipe = {
|
||||
{"", "element_exchange:exchange_orb",""},
|
||||
{"element_exchange:exchange_orb", "default:furnace", "element_exchange:exchange_orb"},
|
||||
{"", "element_exchange:exchange_orb", ""}
|
||||
{"", "exchangeclone:exchange_orb",""},
|
||||
{"exchangeclone:exchange_orb", recipe_ingredient, "exchangeclone:exchange_orb"},
|
||||
{"", "exchangeclone:exchange_orb", ""}
|
||||
}
|
||||
})
|
||||
|
|
44
energy.lua
44
energy.lua
|
@ -4,8 +4,8 @@ local energy_values = {
|
|||
["default"] = {
|
||||
--- Nodes
|
||||
-- Stone
|
||||
stone = 1,
|
||||
cobble = 2,
|
||||
stone = 2,
|
||||
cobble = 1,
|
||||
stonebrick = 3,
|
||||
stone_block = 3,
|
||||
mossycobble = 3,
|
||||
|
@ -87,27 +87,27 @@ local energy_values = {
|
|||
|
||||
-- Ores,
|
||||
stone_with_coal = 5,
|
||||
coalblock = 5,
|
||||
coalblock = 36,
|
||||
|
||||
stone_with_iron = 5,
|
||||
steelblock = 5,
|
||||
steelblock = 90,
|
||||
|
||||
stone_with_copper = 5,
|
||||
copperblock = 5,
|
||||
copperblock = 90,
|
||||
|
||||
stone_with_tin = 5,
|
||||
tinblock = 5,
|
||||
tinblock = 90,
|
||||
|
||||
bronzeblock = 5,
|
||||
bronzeblock = 63,
|
||||
|
||||
stone_with_gold = 5,
|
||||
goldblock = 5,
|
||||
goldblock = 108,
|
||||
|
||||
stone_with_mese = 5,
|
||||
mese = 5,
|
||||
mese = 270,
|
||||
|
||||
stone_with_diamond = 17,
|
||||
diamondblock = 17,
|
||||
diamondblock = 198,
|
||||
|
||||
-- Plantlife,
|
||||
cactus = 2,
|
||||
|
@ -209,7 +209,7 @@ local energy_values = {
|
|||
gold_lump = 5,
|
||||
iron_lump = 5,
|
||||
mese_crystal = 30,
|
||||
mese_crystal_fragment = 19,
|
||||
mese_crystal_fragment = 3,
|
||||
obsidian_shard = 7,
|
||||
paper = 4,
|
||||
steel_ingot = 10,
|
||||
|
@ -218,7 +218,7 @@ local energy_values = {
|
|||
tin_lump = 4,
|
||||
|
||||
--- Furnace
|
||||
furnace = 4,
|
||||
furnace = 8,
|
||||
|
||||
--- Tools
|
||||
-- Picks
|
||||
|
@ -265,11 +265,29 @@ local energy_values = {
|
|||
sword_teleport = 20,
|
||||
sword_water = 5,
|
||||
},
|
||||
["mcl_core"] = {
|
||||
--Nodes
|
||||
--Stone
|
||||
stone = 2,
|
||||
cobble = 1,
|
||||
stonebrick = 3,
|
||||
stonebrickmossy = 3,
|
||||
stonebrickcracked = 3,
|
||||
stonebrickcarved = 3,
|
||||
stone_smooth = 3,
|
||||
diorite = 1,
|
||||
andesite = 1,
|
||||
granite = 1,
|
||||
mossycobble = 3,
|
||||
|
||||
stone_with_diamond = 17,
|
||||
diamondblock = 17,
|
||||
}
|
||||
}
|
||||
|
||||
-- load energy values into known items
|
||||
for modname, itemlist in pairs(energy_values) do
|
||||
if minetest.get_modpath(modname) then
|
||||
if minetest.get_modpath(modname) then
|
||||
for itemname, energy_value in pairs(itemlist) do
|
||||
minetest.override_item(modname..":"..itemname, {
|
||||
description = minetest.registered_items[modname..":"..itemname].description.."\nEnergy Value: "..energy_value,
|
||||
|
|
|
@ -53,7 +53,7 @@ local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
|||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "dst" then
|
||||
if stack:get_name() == "element_exchange:exchange_orb" then
|
||||
if stack:get_name() == "exchangeclone:exchange_orb" then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
|
@ -78,12 +78,12 @@ end
|
|||
local function on_blast(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "element_exchange:energy_collector"
|
||||
drops[#drops+1] = "exchangeclone:energy_collector"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end
|
||||
|
||||
minetest.register_node("element_exchange:energy_collector", {
|
||||
minetest.register_node("exchangeclone:energy_collector", {
|
||||
description = "Energy Collector",
|
||||
tiles = {
|
||||
"ee_energy_collector_up.png",
|
||||
|
@ -113,12 +113,22 @@ minetest.register_node("element_exchange:energy_collector", {
|
|||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
|
||||
local recipe_item_1 = "default:steel_block"
|
||||
local recipe_item_2 = "default:obsidian_glass"
|
||||
local recipe_item_3 = "default:chest"
|
||||
|
||||
if exchangeclone.mineclone then
|
||||
recipe_item_1 = "mcl_core:ironblock"
|
||||
recipe_item_2 = "mcl_core:glass"
|
||||
recipe_item_3 = "mcl_chests:chest"
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "element_exchange:energy_collector",
|
||||
output = "exchangeclone:energy_collector",
|
||||
recipe = {
|
||||
{"default:obsidian_glass", "default:obsidian_glass","default:obsidian_glass"},
|
||||
{"element_exchange:exchange_orb", "default:chest", "element_exchange:exchange_orb"},
|
||||
{"default:steelblock", "default:steelblock", "default:steelblock"}
|
||||
{recipe_item_2, recipe_item_2, recipe_item_2},
|
||||
{"exchangeclone:exchange_orb", recipe_item_3, "exchangeclone:exchange_orb"},
|
||||
{recipe_item_1, recipe_item_1, recipe_item_1}
|
||||
}
|
||||
})
|
||||
|
|
11
init.lua
11
init.lua
|
@ -1,4 +1,13 @@
|
|||
local default_path = minetest.get_modpath("element_exchange")
|
||||
exchangeclone = {}
|
||||
if (not minetest.get_modpath("mcl_core")) and (not minetest.get_modpath("mcl_core")) then
|
||||
error("ExchangeClone requires 'default' or 'mcl_core,' but Minetest doesn't let me mark one or the other as a dependency.")
|
||||
elseif minetest.get_modpath("mcl_core") then
|
||||
exchangeclone["mineclone"] = true
|
||||
else
|
||||
exchangeclone["mineclone"] = false
|
||||
end
|
||||
|
||||
local default_path = minetest.get_modpath("exchangeclone")
|
||||
|
||||
function get_item_energy(name)
|
||||
return minetest.registered_items[name].energy_value or 1
|
||||
|
|
7
mod.conf
7
mod.conf
|
@ -1,5 +1,4 @@
|
|||
name = element_exchange
|
||||
name = exchangeclone
|
||||
description = Exchange nodes into other nodes
|
||||
min_minetest_version = 5.4
|
||||
depends=default
|
||||
optional_depends=moreswords
|
||||
min_minetest_version = 5.5
|
||||
optional_depends=mcl_core, default, moreswords
|
||||
|
|
20
orb.lua
20
orb.lua
|
@ -4,18 +4,28 @@ function read_orb_charge(itemstack, user, pointed_thing)
|
|||
return itemstack
|
||||
end
|
||||
|
||||
minetest.register_tool("element_exchange:exchange_orb", {
|
||||
minetest.register_tool("exchangeclone:exchange_orb", {
|
||||
description = "Exchange Orb",
|
||||
inventory_image = "ee_exchange_orb.png",
|
||||
on_use = read_orb_charge,
|
||||
})
|
||||
|
||||
local recipe_item_1 = "default:steel_ingot"
|
||||
local recipe_item_2 = "default:diamond"
|
||||
local recipe_item_3 = "default:glass"
|
||||
|
||||
if exchangeclone.mineclone then
|
||||
recipe_item_1 = "mcl_core:iron_ingot"
|
||||
recipe_item_2 = "mcl_core:diamond"
|
||||
recipe_item_3 = "mcl_core:glass"
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shaped",
|
||||
output = "element_exchange:exchange_orb",
|
||||
output = "exchangeclone:exchange_orb",
|
||||
recipe = {
|
||||
{"default:glass", "default:diamond","default:glass"},
|
||||
{"default:diamond", "default:steel_ingot", "default:diamond"},
|
||||
{"default:glass", "default:diamond", "default:glass"}
|
||||
{recipe_item_3, recipe_item_2, recipe_item_3},
|
||||
{recipe_item_2, recipe_item_1, recipe_item_2},
|
||||
{recipe_item_3, recipe_item_2, recipe_item_3}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# How fast the energy collector gathers energy from the light
|
||||
element_exchange.collector_interval (Collector Gather Interval) int 20
|
||||
exchangeclone.collector_interval (Collector Gather Interval) int 20
|
||||
|
|
Loading…
Reference in New Issue