v5.1
This commit is contained in:
parent
4708b59092
commit
024ff88dd6
File diff suppressed because one or more lines are too long
27
README.md
27
README.md
|
@ -33,8 +33,7 @@ Dependencies: Minetest Game or MineClone.
|
|||
|
||||
|
||||
## Known issues:
|
||||
* In MineClone, it is impossible to heal past 20 health (10 hearts) without potions of healing (or the soul/life stones, which I haven't added yet)
|
||||
* With a full set of red matter armor, you can almost instantly go back to 200 health (100 hearts), no matter what you health is, by removing one piece of red matter armor and putting it back on. I don't really know what to do about this. If I could, I would simply make 200 the maximum health, and leave the player's health how it is, but that doesn't really work because the extra maximum health would be useless because it's unreachable.
|
||||
* It is impossible to die from most things when wearing DM/RM armor... MineClone's damage system is annoying.
|
||||
* When machines are exploded, they (and the items inside) do not drop. I can't figure out why.
|
||||
* Dark/Red matter shears will sometimes (randomly) be treated as normal shears when used by MineClone dispensers. This will not be fixed.
|
||||
* Nodes destroyed by special abilities will not usually update surrounding nodes (so you may end up with floating gravel, flowers, torches, etc.). This will *probably* not be fixed, unless a change to Minetest makes it easier.
|
||||
|
@ -55,6 +54,15 @@ Dependencies: Minetest Game or MineClone.
|
|||
|
||||
<details><summary><h1>Changelog:</h1></summary>
|
||||
|
||||
### 5.1
|
||||
* Fixed Mineclonia energy values (I foolishly assumed that all items would have the same itemstrings and groups).
|
||||
* Added new Mineclonia items (pottery, sculk, smithing templates, suspicious sand, etc.)
|
||||
* Changed a couple of energy values (enchanted golden apple was way too cheap, clay seemed too expensive)
|
||||
* Sword/Katar AOE damage now matches ProjectE (DM sword = 12, RM sword = 16, katar = 1000... kinda OP). All AOE cooldowns (including swinging swords/katar) are now 0.7 seconds.
|
||||
* DM/RM pickaxe/hammer/morningstar dig times now are approximately the same as ProjectE (at full charge), meaning they are now maybe too fast.
|
||||
* Red Matter Armor no longer increases player health (the wiki lied to me).
|
||||
* A couple of changes to DM/RM armor in MineClone, which may or may not be noticeable. I really don't know.
|
||||
|
||||
### 5.0 (the most insteresting release so far)
|
||||
**You MUST break and replace any existing Constructors, Deconstructors, and Energy Collectors when updating from any previous version. Nothing will be lost (hopefully). In Minetest Game, this is a bit of a problem (try blowing it up maybe? I don't know, sorry).**
|
||||
* New features:
|
||||
|
@ -129,7 +137,7 @@ Dependencies: Minetest Game or MineClone.
|
|||
* Red Matter Armor (full set gives lava/fire/drowning immunity PLUS 2000 health, although you may want HUD Bars to see it)
|
||||
* Added energy values for MineClone's new items.
|
||||
* Changes:
|
||||
* Changed the amount of damage done by Dark/Red Matter Sword special abilities (used to be `max_damage/distance`, now is `max_damage-distance`)
|
||||
* Changed the amount of damage done by Dark/Red Matter Sword special abilities (used to be `damage/distance`, now is `damage-distance`)
|
||||
* A whole bunch of things that won't be noticible when playing, mostly code reorganization. It's *possible* that tools that mine multiple nodes at a time (hammer, pickaxe, hoe, katar, and morningstar) will be slightly less laggy
|
||||
* Texture/sound license changed to CC-BY-SA-3.0 (because GPLv3+ isn't really meant as a media license).
|
||||
* Bugfixes:
|
||||
|
@ -237,19 +245,24 @@ Dependencies: Minetest Game or MineClone.
|
|||
|
||||
### Plans for 6.0
|
||||
* Automatically generated energy values based on crafting recipes
|
||||
* A slightly better method for tools that break multiple nodes (hammer, hoe, pickaxe, morningstar, katar) that may decrease lag.
|
||||
* A slightly better method for tools that break multiple nodes at once (hammer, hoe, pickaxe, morningstar, and katar) that may slightly decrease lag.
|
||||
* Alchemical Chest
|
||||
* Repair Talisman (maybe, would only work in Alchemical Chest)
|
||||
* Covalence Dust (maybe custom repairer machine)
|
||||
* Mind, Life, Body, and Soul Stones (although MTG will only have the soul stone).
|
||||
* Ability to smelt with the Philosopher's Stone and coal/charcoal (irritatingly difficult, so maybe not)
|
||||
* Mercurial Eye (maybe)
|
||||
* Energy Condenser (maybe, IDK why anyone would use it)
|
||||
|
||||
### Features that I plan on adding eventually:
|
||||
* As soon as Minetest 5.8 comes out, better textures for armor...
|
||||
* Divining Rods
|
||||
* Rings (I'll probably add a new PESA-like item for holding rings)
|
||||
* Archangel's Smite (though arrows will not track targets)
|
||||
* Archangel's Smite (arrows will not track targets, MineClone only)
|
||||
* Ring of Ignition
|
||||
* Zero Ring
|
||||
* Swiftwolf's Rending Gale (but without the force field; basically Why's Flying Sausage with a different texture)
|
||||
* Swiftwolf's Rending Gale (but without the force field; basically Why's Flying Sausage with a different texture and maybe lightning in MCL)
|
||||
* Harvest Band (maybe not)
|
||||
* Ring of Arcana (possibly without the Harvest Band)
|
||||
* Gem Armor
|
||||
* Gem Armor
|
||||
* Catalytic Lens
|
129
armor.lua
129
armor.lua
|
@ -1,9 +1,12 @@
|
|||
-- true = blocks all damage
|
||||
-- {base_block, block_per_rm}: Amount blocked by full dark matter, extra amount per red matter armor piece
|
||||
local blocked_damage_types = {
|
||||
drown = true,
|
||||
lava = true,
|
||||
in_fire = true,
|
||||
on_fire = true,
|
||||
hot_floor = true,
|
||||
fall = {0.9, 0.0125},
|
||||
}
|
||||
|
||||
local function get_armor_texture(type, matter, preview)
|
||||
|
@ -27,55 +30,12 @@ local function get_armor_texture(type, matter, preview)
|
|||
return result
|
||||
end
|
||||
|
||||
-- Reset health
|
||||
function exchangeclone.check_armor_health(obj)
|
||||
if not obj:is_player() then return end
|
||||
local max_armor = 5
|
||||
local armor_pieces = 0
|
||||
if exchangeclone.mcl then
|
||||
max_armor = 4
|
||||
local inv = mcl_util.get_inventory(obj)
|
||||
if inv then
|
||||
for name, element in pairs(mcl_armor.elements) do
|
||||
local itemstack = inv:get_stack("armor", element.index)
|
||||
if not itemstack:is_empty() then
|
||||
if minetest.get_item_group(itemstack:get_name(), "red_matter_armor") > 0 then
|
||||
armor_pieces = armor_pieces + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
local name, armor_inv = armor:get_valid_player(obj, "[checking for red matter]")
|
||||
if not armor_inv then return end
|
||||
local list = armor_inv:get_list("armor")
|
||||
if type(list) ~= "table" then
|
||||
return
|
||||
end
|
||||
for i, stack in ipairs(list) do
|
||||
if stack:get_count() == 1 then
|
||||
if minetest.get_item_group(stack:get_name(), "red_matter_armor") > 0 then
|
||||
armor_pieces = armor_pieces + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local already_has_health = 0
|
||||
if obj:is_player() then
|
||||
already_has_health = obj:get_meta():get_int("exchangeclone_red_matter_armor") or 0
|
||||
end
|
||||
if armor_pieces >= max_armor then
|
||||
obj:set_properties({hp_max = 200})
|
||||
if already_has_health == 0 then
|
||||
-- TODO: fix this if MineClone changes to max_hp instead of hardcoding 20
|
||||
obj:set_hp(200-math.max(20-obj:get_hp(), 0))
|
||||
obj:get_meta():set_int("exchangeclone_red_matter_armor", 1)
|
||||
end
|
||||
else
|
||||
if already_has_health == 1 then
|
||||
obj:set_hp(math.min(obj:get_hp(), 20))
|
||||
obj:set_properties({hp_max = 20})
|
||||
obj:get_meta():set_int("exchangeclone_red_matter_armor", 0)
|
||||
end
|
||||
if obj:get_meta():get_int("exchangeclone_red_matter_armor") == 1 then
|
||||
obj:set_hp(math.min(obj:get_hp(), 20))
|
||||
obj:set_properties({hp_max = 20})
|
||||
obj:get_meta():set_int("exchangeclone_red_matter_armor", 0)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -83,10 +43,6 @@ minetest.register_on_joinplayer(function(ObjectRef, last_login)
|
|||
exchangeclone.check_armor_health(ObjectRef)
|
||||
end)
|
||||
|
||||
minetest.register_on_respawnplayer(function(ObjectRef)
|
||||
exchangeclone.check_armor_health(ObjectRef)
|
||||
end)
|
||||
|
||||
if exchangeclone.mcl then
|
||||
mcl_armor.register_set({
|
||||
name = "dark_matter",
|
||||
|
@ -100,9 +56,9 @@ if exchangeclone.mcl then
|
|||
durability = -1,
|
||||
enchantability = 0,
|
||||
points = {
|
||||
head = 5,
|
||||
torso = 8,
|
||||
legs = 7,
|
||||
head = 6,
|
||||
torso = 10,
|
||||
legs = 8,
|
||||
feet = 4,
|
||||
},
|
||||
textures = {
|
||||
|
@ -130,7 +86,7 @@ if exchangeclone.mcl then
|
|||
points = {
|
||||
head = 7,
|
||||
torso = 12,
|
||||
legs = 8,
|
||||
legs = 9,
|
||||
feet = 5,
|
||||
},
|
||||
textures = {
|
||||
|
@ -143,18 +99,6 @@ if exchangeclone.mcl then
|
|||
groups = {red_matter_armor = 1, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
craft_material = "exchangeclone:red_matter",
|
||||
cook_material = "exchangeclone:dark_matter",
|
||||
on_equip_callbacks = {
|
||||
head=exchangeclone.check_armor_health,
|
||||
torso=exchangeclone.check_armor_health,
|
||||
legs=exchangeclone.check_armor_health,
|
||||
feet=exchangeclone.check_armor_health
|
||||
},
|
||||
on_unequip_callbacks = {
|
||||
head=exchangeclone.check_armor_health,
|
||||
torso=exchangeclone.check_armor_health,
|
||||
legs=exchangeclone.check_armor_health,
|
||||
feet=exchangeclone.check_armor_health
|
||||
}
|
||||
})
|
||||
|
||||
for _, matter in ipairs({"dark", "red"}) do
|
||||
|
@ -167,28 +111,34 @@ if exchangeclone.mcl then
|
|||
end
|
||||
|
||||
mcl_damage.register_modifier(function(obj, damage, reason)
|
||||
if reason.type ~= "fall" and not blocked_damage_types[reason.type] then return end
|
||||
minetest.log(dump({damage, reason}))
|
||||
local blocked = blocked_damage_types[reason.type]
|
||||
local inv = mcl_util.get_inventory(obj)
|
||||
if inv then
|
||||
local armor_pieces = 0
|
||||
local red_armor_pieces = 0
|
||||
for name, element in pairs(mcl_armor.elements) do
|
||||
local itemstack = inv:get_stack("armor", element.index)
|
||||
if not itemstack:is_empty() then
|
||||
if minetest.get_item_group(itemstack:get_name(), "dark_matter_armor") > 0
|
||||
or minetest.get_item_group(itemstack:get_name(), "red_matter_armor") > 0 then
|
||||
if minetest.get_item_group(itemstack:get_name(), "dark_matter_armor") > 0 then
|
||||
armor_pieces = armor_pieces + 1
|
||||
elseif minetest.get_item_group(itemstack:get_name(), "red_matter_armor") > 0 then
|
||||
armor_pieces = armor_pieces + 1
|
||||
red_armor_pieces = red_armor_pieces + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
if armor_pieces >= 4 then
|
||||
if reason.type == "fall" then
|
||||
return damage/5
|
||||
else
|
||||
return 0
|
||||
if blocked then
|
||||
if blocked == true then
|
||||
return 0
|
||||
else
|
||||
return (blocked[1] + blocked[2]*red_armor_pieces) * damage
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end, 0)
|
||||
end)
|
||||
else
|
||||
armor:register_armor("exchangeclone:helmet_dark_matter", {
|
||||
description = "Dark Matter Helmet",
|
||||
|
@ -196,7 +146,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_helmet","dark"),
|
||||
preview = get_armor_texture("helmet","dark", true),
|
||||
armor_groups = {fleshy = 13},
|
||||
groups = {["armor_head"] = 1, ["dark_matter_armor"] = 1, armor_heal = 5, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_head = 1, dark_matter_armor = 1, armor_heal = 5, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:chestplate_dark_matter", {
|
||||
description = "Dark Matter Chestplate",
|
||||
|
@ -204,7 +154,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_chestplate","dark"),
|
||||
preview = get_armor_texture("chestplate","dark", true),
|
||||
armor_groups = {fleshy = 21},
|
||||
groups = {["armor_torso"] = 1, ["dark_matter_armor"] = 1, armor_heal = 8, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_torso = 1, dark_matter_armor = 1, armor_heal = 8, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:leggings_dark_matter", {
|
||||
description = "Dark Matter Leggings",
|
||||
|
@ -212,7 +162,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_leggings","dark"),
|
||||
preview = get_armor_texture("leggings","dark", true),
|
||||
armor_groups = {fleshy = 18},
|
||||
groups = {["armor_legs"] = 1, ["dark_matter_armor"] = 1, armor_heal = 7, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_legs = 1, dark_matter_armor = 1, armor_heal = 7, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:boots_dark_matter", {
|
||||
description = "Dark Matter Boots",
|
||||
|
@ -220,7 +170,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_boots","dark"),
|
||||
preview = get_armor_texture("boots","dark", true),
|
||||
armor_groups = {fleshy = 10},
|
||||
groups = {["armor_feet"] = 1, ["dark_matter_armor"] = 1, armor_heal = 4, armor_fire = 1, armor_water = 1, armor_feather = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_feet = 1, dark_matter_armor = 1, armor_heal = 4, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:shield_dark_matter", {
|
||||
description = "Dark Matter Shield",
|
||||
|
@ -228,7 +178,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_shield","dark"),
|
||||
preview = get_armor_texture("shield","dark", true),
|
||||
armor_groups = {fleshy = 18},
|
||||
groups = {["armor_shield"] = 1, ["dark_matter_armor"] = 1, armor_heal = 7, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_shield = 1, dark_matter_armor = 1, armor_heal = 7, armor_fire = 1, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:helmet_red_matter", {
|
||||
description = "Red Matter Helmet",
|
||||
|
@ -236,7 +186,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_helmet","red"),
|
||||
preview = get_armor_texture("helmet","red", true),
|
||||
armor_groups = {fleshy = 15},
|
||||
groups = {["armor_head"] = 1, ["red_matter_armor"] = 1, armor_heal = 10, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_head = 1, red_matter_armor = 1, armor_heal = 10, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:chestplate_red_matter", {
|
||||
description = "Red Matter Chestplate",
|
||||
|
@ -244,7 +194,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_chestplate","red"),
|
||||
preview = get_armor_texture("chestplate","red", true),
|
||||
armor_groups = {fleshy = 23},
|
||||
groups = {["armor_torso"] = 1, ["red_matter_armor"] = 1, armor_heal = 16, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_torso = 1, red_matter_armor = 1, armor_heal = 16, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:leggings_red_matter", {
|
||||
description = "Red Matter Leggings",
|
||||
|
@ -252,7 +202,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_leggings","red"),
|
||||
preview = get_armor_texture("leggings","red", true),
|
||||
armor_groups = {fleshy = 20},
|
||||
groups = {["armor_legs"] = 1, ["red_matter_armor"] = 1, armor_heal = 14, armor_fire = 2, armor_water = 1, armor_feather = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_legs = 1, red_matter_armor = 1, armor_heal = 14, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:boots_red_matter", {
|
||||
description = "Red Matter Boots",
|
||||
|
@ -260,7 +210,7 @@ else
|
|||
inventory_image = get_armor_texture("inv_boots","red"),
|
||||
preview = get_armor_texture("boots","red", true),
|
||||
armor_groups = {fleshy = 12},
|
||||
groups = {["armor_feet"] = 1, ["red_matter_armor"] = 1, armor_heal = 8, armor_fire = 2, armor_water = 1, armor_feather = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_feet = 1, red_matter_armor = 1, armor_heal = 8, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_armor("exchangeclone:shield_red_matter", {
|
||||
description = "Red Matter Shield",
|
||||
|
@ -268,15 +218,8 @@ else
|
|||
inventory_image = get_armor_texture("inv_shield","red"),
|
||||
preview = get_armor_texture("shield","red", true),
|
||||
armor_groups = {fleshy = 20},
|
||||
groups = {["armor_shield"] = 1, ["red_matter_armor"] = 1, armor_heal = 14, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
groups = {armor_shield = 1, red_matter_armor = 1, armor_heal = 14, armor_fire = 2, armor_water = 1, disable_repair = 1, exchangeclone_upgradable = 1}
|
||||
})
|
||||
armor:register_on_equip(function(player, index, stack)
|
||||
exchangeclone.check_armor_health(player)
|
||||
end)
|
||||
|
||||
armor:register_on_unequip(function(player, index, stack)
|
||||
exchangeclone.check_armor_health(player)
|
||||
end)
|
||||
end
|
||||
local d = "exchangeclone:dark_matter"
|
||||
local r = "exchangeclone:red_matter"
|
||||
|
|
4
axes.lua
4
axes.lua
|
@ -73,7 +73,7 @@ minetest.register_tool("exchangeclone:dark_matter_axe", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=16},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
@ -98,7 +98,7 @@ minetest.register_tool("exchangeclone:red_matter_axe", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.4,
|
||||
max_drop_level=5,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=19},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
|
273
energy.lua
273
energy.lua
|
@ -107,7 +107,7 @@ exchangeclone.mtg_energy_values = {
|
|||
obsidian_block = 64,
|
||||
|
||||
-- Soft / Non-Stone,
|
||||
clay = 64,
|
||||
clay = 16,
|
||||
|
||||
-- Trees,
|
||||
apple = 5,
|
||||
|
@ -186,7 +186,7 @@ exchangeclone.mtg_energy_values = {
|
|||
|
||||
obsidian_glass = 7,
|
||||
|
||||
brick = 64,
|
||||
brick = 16,
|
||||
|
||||
meselamp = 4097,
|
||||
mese_post_light = 3074,
|
||||
|
@ -200,8 +200,8 @@ exchangeclone.mtg_energy_values = {
|
|||
book = 96,
|
||||
book_written = 96,
|
||||
bronze_ingot = 327,
|
||||
clay_brick = 16,
|
||||
clay_lump = 16,
|
||||
clay_brick = 4,
|
||||
clay_lump = 4,
|
||||
coal_lump = 128,
|
||||
copper_ingot = 320,
|
||||
copper_lump = 320,
|
||||
|
@ -388,7 +388,7 @@ exchangeclone.mtg_energy_values = {
|
|||
|
||||
|
||||
|
||||
|
||||
local copper_amount = (exchangeclone.mineclonia and 9) or 4
|
||||
|
||||
|
||||
|
||||
|
@ -504,8 +504,8 @@ exchangeclone.mcl_energy_values = {
|
|||
vine = 8,
|
||||
cobweb = 12,
|
||||
ladder = 9,
|
||||
clay_lump = 16,
|
||||
brick = 16,
|
||||
clay_lump = 4,
|
||||
brick = 4,
|
||||
charcoal_lump = 32,
|
||||
reeds = 32,
|
||||
paper = 32,
|
||||
|
@ -513,8 +513,8 @@ exchangeclone.mcl_energy_values = {
|
|||
obsidian = 64,
|
||||
stone_with_redstone = 0, --ores are worth 0, because the amount sometimes varies (Fortune)
|
||||
crying_obsidian = 1000,
|
||||
clay = 64,
|
||||
brick_block = 64,
|
||||
clay = 16,
|
||||
brick_block = 16,
|
||||
coal_lump = 128,
|
||||
stone_with_coal = 0,
|
||||
apple = 128,
|
||||
|
@ -531,7 +531,7 @@ exchangeclone.mcl_energy_values = {
|
|||
diamond = 8192,
|
||||
stone_with_diamond = 0,
|
||||
apple_gold = 16512,
|
||||
apple_gold_enchanted = 7378,
|
||||
apple_gold_enchanted = 147584,
|
||||
bone_block = 432,
|
||||
bowl = 24,
|
||||
coalblock = 1152,
|
||||
|
@ -661,7 +661,7 @@ exchangeclone.mcl_energy_values = {
|
|||
fletching_table = 72,
|
||||
},
|
||||
["mcl_flowerpots"] = {
|
||||
flower_pot = 48,
|
||||
flower_pot = 12,
|
||||
},
|
||||
["mcl_fishing"] = {
|
||||
fishing_rod = 36,
|
||||
|
@ -690,11 +690,23 @@ exchangeclone.mcl_energy_values = {
|
|||
["mcl_doors"] = {
|
||||
acacia_door = 16,
|
||||
birch_door = 16,
|
||||
cherry_blossom_door = 16,
|
||||
dark_oak_door = 16,
|
||||
iron_door = 512,
|
||||
jungle_door = 16,
|
||||
spruce_door = 16,
|
||||
wooden_door = 16,
|
||||
door_acacia = 16,
|
||||
door_bamboo = 16,
|
||||
door_birch = 16,
|
||||
door_cherry_blossom = 16,
|
||||
door_crimson = 16,
|
||||
door_dark_oak = 16,
|
||||
door_jungle = 16,
|
||||
door_mangrove = 16,
|
||||
door_oak = 16,
|
||||
door_spruce = 16,
|
||||
door_warped = 16,
|
||||
iron_trapdoor = 768
|
||||
},
|
||||
["mcl_lanterns"] = {
|
||||
|
@ -872,9 +884,12 @@ exchangeclone.mcl_energy_values = {
|
|||
},
|
||||
["mcl_fences"] = {
|
||||
nether_brick_fence = 3,
|
||||
nether_brick_fence_gate = 6,
|
||||
red_nether_brick_fence = 34, --technically energy duplication is possible, but only 2 per craft...
|
||||
red_nether_brick_fence_gate = 150,
|
||||
},
|
||||
["mcl_walls"] = {
|
||||
brick = 64,
|
||||
brick = 16,
|
||||
mossycobble = 9,
|
||||
netherbrick = 4,
|
||||
rednetherbrick = 50,
|
||||
|
@ -933,33 +948,45 @@ exchangeclone.mcl_energy_values = {
|
|||
sponge_wet = 1024,
|
||||
sponge_wet_river_water = 1024,
|
||||
},
|
||||
["screwdriver"] = {
|
||||
screwdriver = 260,
|
||||
},
|
||||
["mcl_spyglass"] = {
|
||||
spyglass = 426,
|
||||
},
|
||||
["mcl_copper"] = {
|
||||
copper_ingot = 85,
|
||||
raw_copper = 85,
|
||||
block_raw = 765,
|
||||
block_raw = 85*9,
|
||||
stone_with_copper = 0,
|
||||
-- TODO: If MineClone switches to 9, change blocks to 765 (and 797 for waxed)
|
||||
block = 340,
|
||||
block_exposed = 340,
|
||||
block_oxidized = 340,
|
||||
block_weathered = 340,
|
||||
block_cut = 340,
|
||||
block_exposed_cut = 340,
|
||||
block_oxidized_cut = 340,
|
||||
block_weathered_cut = 340,
|
||||
waxed_block = 372,
|
||||
waxed_block_exposed = 372,
|
||||
waxed_block_oxidized = 372,
|
||||
waxed_block_weathered = 372,
|
||||
waxed_block_cut = 372,
|
||||
waxed_block_exposed_cut = 372,
|
||||
waxed_block_oxidized_cut = 372,
|
||||
waxed_block_weathered_cut = 372,
|
||||
block = 85*copper_amount,
|
||||
block_exposed = 85*copper_amount,
|
||||
block_oxidized = 85*copper_amount,
|
||||
block_weathered = 85*copper_amount,
|
||||
block_cut = 85*copper_amount,
|
||||
block_exposed_cut = 85*copper_amount,
|
||||
block_oxidized_cut = 85*copper_amount,
|
||||
block_weathered_cut = 85*copper_amount,
|
||||
waxed_block = 85*copper_amount+32,
|
||||
block_preserved = 85*copper_amount+32,
|
||||
waxed_block_exposed = 85*copper_amount+32,
|
||||
block_exposed_preserved = 85*copper_amount+32,
|
||||
waxed_block_oxidized = 85*copper_amount+32,
|
||||
block_oxidized_preserved = 85*copper_amount+32,
|
||||
waxed_block_weathered = 85*copper_amount+32,
|
||||
block_weathered_preserved = 85*copper_amount+32,
|
||||
waxed_block_cut = 85*copper_amount+32,
|
||||
block_cut_preserved = 85*copper_amount+32,
|
||||
waxed_block_exposed_cut = 85*copper_amount+32,
|
||||
block_exposed_cut_preserved = 85*copper_amount+32,
|
||||
waxed_block_oxidized_cut = 85*copper_amount+32,
|
||||
block_oxidized_cut_preserved = 85*copper_amount+32,
|
||||
waxed_block_weathered_cut = 85*copper_amount+32,
|
||||
block_weathered_cut_preserved = 85*copper_amount+32,
|
||||
},
|
||||
["mcl_deepslate"] = {
|
||||
infested_deepslate = 0,
|
||||
deepslate_reinforced = 0,
|
||||
deepslate_with_coal = 0,
|
||||
deepslate_with_copper = 0,
|
||||
deepslate_with_diamond = 0,
|
||||
|
@ -968,7 +995,6 @@ exchangeclone.mcl_energy_values = {
|
|||
deepslate_with_iron = 0,
|
||||
deepslate_with_redstone = 0,
|
||||
deepslate_with_lapis = 0,
|
||||
|
||||
},
|
||||
["xpanes"] = {
|
||||
bar_flat = 96,
|
||||
|
@ -1128,6 +1154,7 @@ exchangeclone.mcl_energy_values = {
|
|||
rabbit_hide = 16,
|
||||
rabbit_stew = 144,
|
||||
warped_fungus_on_a_stick = 68,
|
||||
nametag = 128,
|
||||
},
|
||||
["mcl_mobs"] = {
|
||||
nametag = 128,
|
||||
|
@ -1166,12 +1193,23 @@ exchangeclone.mcl_energy_values = {
|
|||
wall_sign_acaciawood = 17,
|
||||
wall_sign_bamboo = 17,
|
||||
wall_sign_birchwood = 17,
|
||||
wall_sign_cherrywood = 17,
|
||||
wall_sign_crimson_hyphae_wood = 17,
|
||||
wall_sign_darkwood = 17,
|
||||
wall_sign_junglewood = 17,
|
||||
wall_sign_mangrove_wood = 17,
|
||||
wall_sign_sprucewood = 17,
|
||||
wall_sign_warped_hyphae_wood = 17,
|
||||
wall_sign_oak = 17,
|
||||
wall_sign_acacia = 17,
|
||||
wall_sign_birch = 17,
|
||||
wall_sign_cherry_blossom = 17,
|
||||
wall_sign_crimson= 17,
|
||||
wall_sign_dark_oak = 17,
|
||||
wall_sign_jungle = 17,
|
||||
wall_sign_mangrove = 17,
|
||||
wall_sign_spruce = 17,
|
||||
wall_sign_warped = 17,
|
||||
},
|
||||
["mcl_crimson"] = {
|
||||
crimson_door = 16,
|
||||
|
@ -1222,10 +1260,43 @@ exchangeclone.mcl_energy_values = {
|
|||
chest_boat = 104,
|
||||
chest_boat_acacia = 104,
|
||||
chest_boat_birch = 104,
|
||||
chest_boat_cherry = 104,
|
||||
chest_boat_dark_oak = 104,
|
||||
chest_boat_jungle = 104,
|
||||
chest_boat_mangrove = 104,
|
||||
chest_boat_spruce = 104,
|
||||
boat_acacia_chest = 104,
|
||||
boat_bamboo_chest = 104,
|
||||
boat_birch_chest = 104,
|
||||
boat_cherry_blossom_chest = 104,
|
||||
boat_dark_oak_chest = 104,
|
||||
boat_jungle_chest = 104,
|
||||
boat_mangrove_chest = 104,
|
||||
boat_oak_chest = 104,
|
||||
boat_spruce_chest = 104,
|
||||
},
|
||||
["mcl_sus_nodes"] = {
|
||||
brush = 137,
|
||||
gravel = 0,
|
||||
sand = 0,
|
||||
},
|
||||
["mcl_dyes"] = {
|
||||
black = 8,
|
||||
blue = 8,
|
||||
brown = 8,
|
||||
cyan = 8,
|
||||
green = 8,
|
||||
grey = 8,
|
||||
light_blue = 8,
|
||||
lime = 8,
|
||||
magenta = 8,
|
||||
orange = 8,
|
||||
pink = 8,
|
||||
purple = 8,
|
||||
red = 8,
|
||||
silver = 8, -- why
|
||||
white = 8,
|
||||
yellow = 8,
|
||||
},
|
||||
["mcl_compass"] = {
|
||||
lodestone = 73736,
|
||||
|
@ -1242,6 +1313,46 @@ exchangeclone.mcl_energy_values = {
|
|||
["mcl_target"] = {
|
||||
target_off = 280,
|
||||
},
|
||||
["mcl_cherry_blossom"] = {
|
||||
cherry_door = 16
|
||||
},
|
||||
["mcl_trees"] = {
|
||||
bark_acacia = 43,
|
||||
bark_birch = 43,
|
||||
bark_cherry_blossom = 43,
|
||||
bark_crimson = 43,
|
||||
bark_dark_oak = 43,
|
||||
bark_jungle = 43,
|
||||
bark_mangrove = 43,
|
||||
bark_oak = 43,
|
||||
bark_spruce = 43,
|
||||
bark_warped = 43,
|
||||
bark_stripped_acacia = 43,
|
||||
bark_stripped_birch = 43,
|
||||
bark_stripped_cherry_blossom = 43,
|
||||
bark_stripped_crimson = 43,
|
||||
bark_stripped_dark_oak = 43,
|
||||
bark_stripped_jungle = 43,
|
||||
bark_stripped_mangrove = 43,
|
||||
bark_stripped_oak = 43,
|
||||
bark_stripped_spruce = 43,
|
||||
bark_stripped_warped = 43,
|
||||
},
|
||||
["mcl_lush_caves"] = {
|
||||
cave_vines = 8,
|
||||
cave_vines_lit = 0,
|
||||
glow_berry = 36,
|
||||
moss_carpet = 0.5,
|
||||
spore_blossom = 32,
|
||||
},
|
||||
["mcl_pottery_sherds"] = {
|
||||
pot = 16
|
||||
},
|
||||
["mcl_sculk"] = exchangeclone.mineclonia and {
|
||||
sculk = 64,
|
||||
sculk_vein = 32,
|
||||
sculk_catalyst = 8192,
|
||||
},
|
||||
["mcl_stairs"] = {
|
||||
slab_acaciatree_bark = 16,
|
||||
slab_birchtree_bark = 16,
|
||||
|
@ -1250,18 +1361,33 @@ exchangeclone.mcl_energy_values = {
|
|||
slab_sprucetree_bark = 16,
|
||||
slab_tree_bark = 16,
|
||||
slab_bamboo_stripped = 8,
|
||||
slab_acacia_bark= 21.5,
|
||||
slab_birch_bark= 21.5,
|
||||
slab_cherry_blossom_bark= 21.5,
|
||||
slab_crimson_bark= 21.5,
|
||||
slab_dark_oak_bark= 21.5,
|
||||
slab_jungle_bark= 21.5,
|
||||
slab_mangrove_bark= 21.5,
|
||||
slab_oak_bark= 21.5,
|
||||
slab_spruce_bark= 21.5,
|
||||
slab_warped_bark= 21.5,
|
||||
slab_copper_cut = 337,
|
||||
slab_copper_exposed_cut = 337,
|
||||
slab_copper_oxidized_cut = 337,
|
||||
slab_copper_weathered_cut = 337,
|
||||
slab_waxed_copper_cut = 398,
|
||||
slab_copper_cut_preserved = 398,
|
||||
slab_waxed_copper_exposed_cut = 398,
|
||||
slab_copper_exposed_cut_preserved = 398,
|
||||
slab_waxed_copper_oxidized_cut = 398,
|
||||
slab_copper_oxidized_cut_preserved = 398,
|
||||
slab_waxed_copper_weathered_cut = 398,
|
||||
slab_copper_weathered_cut_preserved = 398,
|
||||
slab_mud_brick = 0.5,
|
||||
slab_quartzblock = 256,
|
||||
slab_redsandstone = 2,
|
||||
slab_sandstone = 2,
|
||||
slab_stone_rough = 0.5,
|
||||
stair_acaciatree_bark = 16*3,
|
||||
stair_birchtree_bark = 16*3,
|
||||
stair_darktree_bark = 16*3,
|
||||
|
@ -1269,18 +1395,33 @@ exchangeclone.mcl_energy_values = {
|
|||
stair_sprucetree_bark = 16*3,
|
||||
stair_tree_bark = 16*3,
|
||||
stair_bamboo_stripped = 8*3,
|
||||
stair_acacia_bark= 64,
|
||||
stair_birch_bark= 64,
|
||||
stair_cherry_blossom_bark= 64,
|
||||
stair_crimson_bark= 64,
|
||||
stair_dark_oak_bark= 64,
|
||||
stair_jungle_bark= 64,
|
||||
stair_mangrove_bark= 64,
|
||||
stair_oak_bark= 64,
|
||||
stair_spruce_bark= 64,
|
||||
stair_warped_bark= 64,
|
||||
stair_copper_cut = 337*3,
|
||||
stair_copper_exposed_cut = 337*3,
|
||||
stair_copper_oxidized_cut = 337*3,
|
||||
stair_copper_weathered_cut = 337*3,
|
||||
stair_waxed_copper_cut = 398*3,
|
||||
stair_copper_cut_preserved = 398*3,
|
||||
stair_waxed_copper_exposed_cut = 398*3,
|
||||
stair_copper_exposed_cut_preserved = 398*3,
|
||||
stair_waxed_copper_oxidized_cut = 398*3,
|
||||
stair_copper_oxidized_cut_preserved = 398*3,
|
||||
stair_waxed_copper_weathered_cut = 398*3,
|
||||
stair_copper_weathered_cut_preserved = 398*3,
|
||||
stair_mud_brick = 0.5*3,
|
||||
stair_quartzblock = 256*3,
|
||||
stair_redsandstone = 2*3,
|
||||
stair_sandstone = 2*3,
|
||||
stairs_stone_rough = 1.5,
|
||||
},
|
||||
["meat_blocks"] = {
|
||||
sausage = 64,
|
||||
|
@ -1347,7 +1488,8 @@ exchangeclone.mcl_energy_values = {
|
|||
["flying_sausage"] = {
|
||||
cooked_elytra = 297216,
|
||||
burnt_elytra = 297216,
|
||||
flying_sausage = 297216 + (576*8)
|
||||
flying_sausage = 297216 + (576*8),
|
||||
flight_stomach = 128,
|
||||
},
|
||||
["sticky_things"] = {
|
||||
bucket_glue = 776,
|
||||
|
@ -1371,22 +1513,32 @@ exchangeclone.mcl_energy_values = {
|
|||
blue_feather = 0,
|
||||
},
|
||||
["mcl_colorblocks"] = {
|
||||
glazed_terracotta_black = 64,
|
||||
glazed_terracotta_blue = 64,
|
||||
glazed_terracotta_brown = 64,
|
||||
glazed_terracotta_cyan = 64,
|
||||
glazed_terracotta_green = 64,
|
||||
glazed_terracotta_grey = 64,
|
||||
glazed_terracotta_light_blue = 64,
|
||||
glazed_terracotta_lime = 64,
|
||||
glazed_terracotta_magenta = 64,
|
||||
glazed_terracotta_orange = 64,
|
||||
glazed_terracotta_pink = 64,
|
||||
glazed_terracotta_purple = 64,
|
||||
glazed_terracotta_red = 64,
|
||||
glazed_terracotta_silver = 64,
|
||||
glazed_terracotta_white = 64,
|
||||
glazed_terracotta_yellow = 64
|
||||
glazed_terracotta_black = 16,
|
||||
glazed_terracotta_blue = 16,
|
||||
glazed_terracotta_brown = 16,
|
||||
glazed_terracotta_cyan = 16,
|
||||
glazed_terracotta_green = 16,
|
||||
glazed_terracotta_grey = 16,
|
||||
glazed_terracotta_light_blue = 16,
|
||||
glazed_terracotta_lime = 16,
|
||||
glazed_terracotta_magenta = 16,
|
||||
glazed_terracotta_orange = 16,
|
||||
glazed_terracotta_pink = 16,
|
||||
glazed_terracotta_purple = 16,
|
||||
glazed_terracotta_red = 16,
|
||||
glazed_terracotta_silver = 16,
|
||||
glazed_terracotta_white = 16,
|
||||
glazed_terracotta_yellow = 16
|
||||
},
|
||||
["mcl_banners"] = {
|
||||
pattern_bricks = 32+64,
|
||||
pattern_creeper = 32+256,
|
||||
pattern_curly_border = 32+8,
|
||||
pattern_flower = 32+8,
|
||||
pattern_skull = 32+50000,
|
||||
pattern_thing = 32+147584,
|
||||
pattern_globe = 360,
|
||||
pattern_piglin = 300
|
||||
},
|
||||
["useful_green_potatoes"] = {
|
||||
useful_green_potato = 256,
|
||||
|
@ -1460,6 +1612,7 @@ exchangeclone.mcl_group_values = {
|
|||
{"pane", 0.5},
|
||||
{"pressure_plate", 16},
|
||||
{"trapdoor", 24},
|
||||
{"door", 16},
|
||||
{"fence_gate", 32},
|
||||
{"sapling", 32},
|
||||
{"mushroom", 32},
|
||||
|
@ -1473,12 +1626,18 @@ exchangeclone.mcl_group_values = {
|
|||
{"huge_mushroom", 0}, --if you want energy, break it into mushrooms; doesn't always drop.
|
||||
{"carpet", 32},
|
||||
{"spawn_egg", 0},
|
||||
{"hardened_clay", 16},
|
||||
{"wood_slab", 4},
|
||||
{"wood_stairs", 12},
|
||||
{"smithing_template", 8192*7+1792*2},
|
||||
{"concrete", 2},
|
||||
{"concrete_powder", 2},
|
||||
{"useless", 0},
|
||||
{"hardened_clay", 64},
|
||||
{"decorated_pot_recipe", 4}, -- has to be 4 because of brick.
|
||||
{"NO_GROUP", 1},
|
||||
}
|
||||
|
||||
exchangeclone.mcl_potion_data = {
|
||||
exchangeclone.mcl_potion_data = { -- automatically assumes base cost is awkward potion
|
||||
{name = "water", ingredient_cost = 0, custom_base_cost = 0, no_arrow = true},
|
||||
{name = "awkward", ingredient_cost = 0, no_arrow = true},
|
||||
{name = "fire_resistance", ingredient_cost = 768, plus = true},
|
||||
|
@ -1493,7 +1652,8 @@ exchangeclone.mcl_potion_data = {
|
|||
{name = "swiftness", ingredient_cost = 32, plus = true, two = true},
|
||||
{name = "thick", ingredient_cost = 384, no_arrow = true, custom_base_cost = 0},
|
||||
{name = "water_breathing", ingredient_cost = 64, plus = true},
|
||||
{name = "invisibility", ingredient_cost = 192, custom_base_cost = 623, plus = true}
|
||||
{name = "invisibility", ingredient_cost = 192, custom_base_cost = 623, plus = true},
|
||||
{name = "withering", ingredient_cost = 128, plus = true, two = true}
|
||||
}
|
||||
|
||||
exchangeclone.whitelisted_mods = {
|
||||
|
@ -1566,6 +1726,7 @@ exchangeclone.whitelisted_mods = {
|
|||
mcl_doors = true,
|
||||
mcl_droppers = true,
|
||||
mcl_dye = true,
|
||||
mcl_dyes = true, -- Why, MineClonia? (unless MineClonia did it first, in which case, "Why, MineClone2?")
|
||||
mcl_enchanting = true,
|
||||
mcl_end = true,
|
||||
mcl_experience = true,
|
||||
|
@ -1589,6 +1750,7 @@ exchangeclone.whitelisted_mods = {
|
|||
mcl_lectern = true,
|
||||
mcl_lightning_rods = true,
|
||||
mcl_loom = true,
|
||||
mcl_lush_caves = true,
|
||||
mcl_mangrove = true,
|
||||
mcl_maps = true,
|
||||
mcl_minecarts = true,
|
||||
|
@ -1601,8 +1763,9 @@ exchangeclone.whitelisted_mods = {
|
|||
mcl_ocean = true,
|
||||
mcl_paintings = true,
|
||||
mcl_potions = true,
|
||||
mcl_pottery_sherds = true,
|
||||
mcl_raw_ores = true,
|
||||
--mcl_sculk = true, TODO
|
||||
mcl_sculk = exchangeclone.mineclonia and true,
|
||||
mcl_shields = true,
|
||||
mcl_signs = true,
|
||||
mcl_smithing_table = true,
|
||||
|
@ -1611,13 +1774,15 @@ exchangeclone.whitelisted_mods = {
|
|||
mcl_spyglass = true,
|
||||
mcl_stairs = true,
|
||||
mcl_stonecutter = true,
|
||||
mcl_sus_nodes = true,
|
||||
mcl_sus_stew = true,
|
||||
mcl_target = true,
|
||||
mcl_throwing = true,
|
||||
mcl_tnt = true,
|
||||
mcl_tools = true,
|
||||
mcl_throwing = true,
|
||||
mcl_torches = true,
|
||||
mcl_totems = true,
|
||||
mcl_trees = true,
|
||||
mcl_villages = true,
|
||||
mcl_walls = true,
|
||||
mcl_wool = true,
|
||||
|
@ -1790,7 +1955,7 @@ minetest.register_on_mods_loaded(function()
|
|||
set_item_energy("mcl_bone_meal:bone_meal", 48)
|
||||
--Bone meal just doesn't work either, for some reason.
|
||||
for i = 1, 8 do --faster than doing everything individually.
|
||||
set_item_energy("mcl_jukebox:record_"..i, 1024)
|
||||
set_item_energy("mcl_jukebox:record_"..i, 8192)
|
||||
end
|
||||
for _, info in ipairs(exchangeclone.mcl_potion_data) do
|
||||
add_potion_energy(info)
|
||||
|
|
|
@ -77,7 +77,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
@ -102,7 +102,7 @@ minetest.register_tool("exchangeclone:dark_matter_hammer_3x3", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
@ -127,7 +127,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.3,
|
||||
max_drop_level=5,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=9},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
@ -152,7 +152,7 @@ minetest.register_tool("exchangeclone:red_matter_hammer_3x3", {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.3,
|
||||
max_drop_level=5,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=9},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
|
4
mod.conf
4
mod.conf
|
@ -2,5 +2,5 @@ name = exchangeclone
|
|||
title = ExchangeClone
|
||||
description = Equivalent Exchange for Minetest Game and MineClone! Turn items into energy and energy into items, transmute nodes into other nodes, and craft Dark and Red Matter tools!
|
||||
min_minetest_version = 5.5
|
||||
optional_depends = 3d_armor, mcl_item_id, mcl_core, default, moreswords, mcl_stairs, meat_blocks, ghost_blocks, sticky_things, fake_liquids, sound_machine, stairs, mcl_dispensers, farming, mobs_mc
|
||||
author = ThePython10110
|
||||
optional_depends = 3d_armor, mcl_item_id, mcl_core, default, moreswords, mcl_stairs, meat_blocks, sticky_things, fake_liquids, sound_machine, stairs, mcl_dispensers, farming, mobs_mc, screwdriver
|
||||
author = ThePython10110
|
3
pesa.lua
3
pesa.lua
|
@ -1,4 +1,5 @@
|
|||
--Personal Energy Storage Accessor (PESA)
|
||||
-- Personal Energy Storage Accessor (PESA)
|
||||
-- Deprecated now that personal energy exists.
|
||||
|
||||
local formspec
|
||||
if not exchangeclone.mcl then
|
||||
|
|
20
pickaxes.lua
20
pickaxes.lua
|
@ -106,17 +106,17 @@ local pick_def = {
|
|||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
cracky = {times={[1]=1.5, [2]=0.75, [3]=0.325}, uses=0, maxlevel=4},
|
||||
cracky = {times={[1]=0.4, [2]=0.2, [3]=0.1}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = { speed = 16, level = 7, uses = 0 }
|
||||
pickaxey = { speed = 40, level = 7, uses = 0 }
|
||||
},
|
||||
on_secondary_use = pickaxe_on_use,
|
||||
on_place = pickaxe_on_use,
|
||||
|
@ -127,8 +127,8 @@ minetest.register_tool("exchangeclone:dark_matter_pickaxe", table.copy(pick_def)
|
|||
local pick_def_3x1 = table.copy(pick_def)
|
||||
pick_def_3x1.exchangeclone_pick_mode = "tall"
|
||||
pick_def_3x1.groups.not_in_creative_inventory = 1
|
||||
pick_def_3x1.tool_capabilities.groupcaps.cracky.times = {[1]=1.8, [2]=0.9, [3]=0.5}
|
||||
pick_def_3x1._mcl_diggroups.pickaxey.speed = 12
|
||||
pick_def_3x1.tool_capabilities.groupcaps.cracky.times = {[1]=0.45, [2]=0.27, [3]=0.11}
|
||||
pick_def_3x1._mcl_diggroups.pickaxey.speed = 35
|
||||
|
||||
minetest.register_tool("exchangeclone:dark_matter_pickaxe_3x1", table.copy(pick_def_3x1))
|
||||
|
||||
|
@ -140,22 +140,22 @@ pick_def.groups.red_matter_pickaxe = 1
|
|||
pick_def.groups.dig_speed_class = 8
|
||||
pick_def.tool_capabilities = {
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=9},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
cracky = {times={[1]=1.2, [2]=0.7, [3]=0.4}, uses=0, maxlevel=5},
|
||||
cracky = {times={[1]=0.27, [2]=0.13, [3]=0.07}, uses=0, maxlevel=5},
|
||||
},
|
||||
}
|
||||
pick_def._mcl_diggroups.pickaxey = { speed = 20, level = 8, uses = 0 }
|
||||
pick_def._mcl_diggroups.pickaxey = { speed = 60, level = 8, uses = 0 }
|
||||
|
||||
minetest.register_tool("exchangeclone:red_matter_pickaxe", table.copy(pick_def))
|
||||
|
||||
local pick_def_3x1 = table.copy(pick_def)
|
||||
pick_def_3x1.exchangeclone_pick_mode = "tall"
|
||||
pick_def_3x1.groups.not_in_creative_inventory = 1
|
||||
pick_def_3x1.tool_capabilities.groupcaps.cracky.times = {[1]=1.2, [2]=0.7, [3]=0.4}
|
||||
pick_def_3x1._mcl_diggroups.pickaxey.speed = 16
|
||||
pick_def_3x1.tool_capabilities.groupcaps.cracky.times = {[1]=0.32, [2]=0.16, [3]=0.08}
|
||||
pick_def_3x1._mcl_diggroups.pickaxey.speed = 52
|
||||
|
||||
minetest.register_tool("exchangeclone:red_matter_pickaxe_3x1", table.copy(pick_def_3x1))
|
||||
|
||||
|
|
|
@ -44,7 +44,6 @@ local katar_on_use = function(itemstack, player, pointed_thing)
|
|||
end
|
||||
else
|
||||
local damage_all = itemstack:get_meta():get_int("exchangeclone_damage_all")
|
||||
exchangeclone.aoe_attack{max_damage = 2}
|
||||
if damage_all ~= 0 then damage_all = 1 end
|
||||
if player:get_player_control().sneak then
|
||||
if damage_all == 0 then
|
||||
|
@ -58,7 +57,7 @@ local katar_on_use = function(itemstack, player, pointed_thing)
|
|||
return itemstack
|
||||
end
|
||||
|
||||
local aoe_function = exchangeclone.aoe_attack({max_damage = 16, knockback = 20, radius = 9, damage_all = damage_all, cooldown = 0.2})
|
||||
local aoe_function = exchangeclone.aoe_attack({damage = 1000, knockback = 20, radius = 10, damage_all = damage_all, cooldown = 0.7})
|
||||
aoe_function(itemstack, player, pointed_thing)
|
||||
end
|
||||
end
|
||||
|
@ -73,8 +72,8 @@ local katar_def = {
|
|||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.3,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=21},
|
||||
max_drop_level=8,
|
||||
damage_groups = {fleshy=28},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
exchangeclone_dirt = {times={[1]=0.15, [2]=0.15, [3]=0.15}, uses=0, maxlevel=4},
|
||||
|
@ -236,19 +235,19 @@ local morningstar_def = {
|
|||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.3,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=20},
|
||||
max_drop_level=8,
|
||||
damage_groups = {fleshy=25},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
cracky = {times={[1]=0.5, [2]=0.3, [3]=0.15}, uses=0, maxlevel=5},
|
||||
crumbly = {times={[1]=0.5, [2]=0.3, [3]=0.15}, uses=0, maxlevel=5},
|
||||
choppy = {times={[1]=0.5, [2]=0.3, [3]=0.15}, uses=0, maxlevel=5},
|
||||
cracky = {times={[1]=0.2, [2]=0.1, [3]=0.05}, uses=0, maxlevel=5},
|
||||
crumbly = {times={[1]=0.2, [2]=0.1, [3]=0.05}, uses=0, maxlevel=5},
|
||||
choppy = {times={[1]=0.2, [2]=0.1, [3]=0.05}, uses=0, maxlevel=5},
|
||||
},
|
||||
},
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
pickaxey = {speed = 22, level = 8, uses = 0},
|
||||
pickaxey = {speed = 80, level = 8, uses = 0},
|
||||
shovely = {speed = 22, level = 8, uses = 0},
|
||||
axey = { speed = 22, level = 8, uses = 0 }
|
||||
},
|
||||
|
@ -258,7 +257,7 @@ minetest.register_tool("exchangeclone:red_morningstar", table.copy(morningstar_d
|
|||
|
||||
for k, v in pairs({cracky = "pickaxey", crumbly = "shovely"}) do
|
||||
morningstar_def.tool_capabilities.groupcaps[k].times = {[1]=0.7,[2]=0.5,[3]=0.25}
|
||||
morningstar_def._mcl_diggroups[v].speed = 18
|
||||
morningstar_def._mcl_diggroups[v].speed = 70
|
||||
end
|
||||
morningstar_def.groups.not_in_creative_inventory = 1
|
||||
morningstar_def.exchangeclone_pick_mode = "3x3"
|
||||
|
@ -267,7 +266,7 @@ minetest.register_tool("exchangeclone:red_morningstar_3x3", table.copy(morningst
|
|||
|
||||
for k, v in pairs({cracky = "pickaxey", crumbly = "shovely"}) do
|
||||
morningstar_def.tool_capabilities.groupcaps[k].times = {[1]=0.6,[2]=0.4,[3]=0.20}
|
||||
morningstar_def._mcl_diggroups[v].speed = 20
|
||||
morningstar_def._mcl_diggroups[v].speed = 60
|
||||
end
|
||||
morningstar_def.exchangeclone_pick_mode = "tall"
|
||||
|
||||
|
|
|
@ -77,12 +77,12 @@ minetest.register_tool("exchangeclone:dark_matter_shovel", {
|
|||
description = "Dark Matter Shovel",
|
||||
wield_image = "exchangeclone_dark_matter_shovel.png",
|
||||
inventory_image = "exchangeclone_dark_matter_shovel.png",
|
||||
groups = { tool=1, shovel=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shovel=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=7},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
@ -102,12 +102,12 @@ minetest.register_tool("exchangeclone:red_matter_shovel", {
|
|||
description = "Red Matter Shovel",
|
||||
wield_image = "exchangeclone_red_matter_shovel.png",
|
||||
inventory_image = "exchangeclone_red_matter_shovel.png",
|
||||
groups = { tool=1, shovel=1, dig_speed_class=8, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, shovel=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level=5,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=9},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
|
|
32
swords.lua
32
swords.lua
|
@ -57,15 +57,15 @@ end)
|
|||
|
||||
exchangeclone.aoe_attack = function(info)
|
||||
if not info then return end
|
||||
local max_damage = info.max_damage
|
||||
local damage = info.damage or 12 -- 12 = DM sword AOE
|
||||
local knockback = info.knockback
|
||||
local radius = info.radius
|
||||
local damage_all = info.damage_all --damage all mobs/players or just hostile ones
|
||||
local cooldown = info.cooldown or 0
|
||||
if not max_damage or not knockback or not radius then return end
|
||||
local cooldown = info.cooldown or 0.7
|
||||
if not (damage and radius and knockback) then return end
|
||||
if damage_all == nil then damage_all = 1 end
|
||||
|
||||
return function(itemstack, player, pointed_thing) --copied from MineClone's TNT; I would simply use the explosion function but it would hurt the player.
|
||||
return function(itemstack, player, pointed_thing) --modified from MineClone's TNT; I would simply use the explosion function but it would hurt the player.
|
||||
-- Use pointed node's on_rightclick function first, if present
|
||||
local click_test = exchangeclone.check_on_rightclick(itemstack, player, pointed_thing)
|
||||
if click_test ~= false then
|
||||
|
@ -99,7 +99,6 @@ exchangeclone.aoe_attack = function(info)
|
|||
and obj:get_hp() > 0 and obj ~= player then
|
||||
|
||||
local opos = obj:get_pos()
|
||||
|
||||
local distance = math.max(1, vector.distance(pos, opos))
|
||||
|
||||
-- Punch entity with damage depending on explosion exposure and
|
||||
|
@ -107,7 +106,6 @@ exchangeclone.aoe_attack = function(info)
|
|||
local punch_vec = vector.subtract(opos, pos)
|
||||
local punch_dir = vector.normalize(punch_vec)
|
||||
punch_dir = {x=punch_dir.x, y=punch_dir.y+0.3, z=punch_dir.z} -- knockback should be more upward
|
||||
local damage = math.min(max_damage, max_damage-distance)
|
||||
--minetest.log(dump({name=ent.name, distance=distance, damage=damage}))
|
||||
|
||||
local sleep_formspec_doesnt_close_mt53 = false
|
||||
|
@ -165,7 +163,7 @@ local red_matter_sword_action = function(itemstack, player, pointed_thing)
|
|||
return itemstack
|
||||
end
|
||||
|
||||
local aoe_function = exchangeclone.aoe_attack({max_damage = 12, knockback = 20, radius = 7, damage_all = damage_all, cooldown = 0.2})
|
||||
local aoe_function = exchangeclone.aoe_attack({damage = 16, knockback = 20, radius = 7.5, damage_all = damage_all, cooldown = 0.7})
|
||||
aoe_function(itemstack, player, pointed_thing)
|
||||
end
|
||||
|
||||
|
@ -173,20 +171,20 @@ minetest.register_tool("exchangeclone:dark_matter_sword", {
|
|||
description = "Dark Matter Sword",
|
||||
wield_image = "exchangeclone_dark_matter_sword.png",
|
||||
inventory_image = "exchangeclone_dark_matter_sword.png",
|
||||
groups = { tool=1, sword=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, sword=1, dig_speed_class=6, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.25,
|
||||
max_drop_level=5,
|
||||
damage_groups = {fleshy=12},
|
||||
full_punch_interval = 0.7,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=15},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
snappy = {times={[1]=0.95, [2]=0.45, [3]=0.15}, uses=0, maxlevel=4},
|
||||
},
|
||||
},
|
||||
on_secondary_use = exchangeclone.aoe_attack({max_damage = 10, knockback = 12, radius = 5, cooldown = 0.5}),
|
||||
on_place = exchangeclone.aoe_attack({max_damage = 10, knockback = 12, radius = 5, cooldown = 0.5}),
|
||||
on_secondary_use = exchangeclone.aoe_attack({damage = 12, knockback = 12, radius = 5, cooldown = 0.7}),
|
||||
on_place = exchangeclone.aoe_attack({damage = 12, knockback = 12, radius = 5, cooldown = 0.7}),
|
||||
sound = { breaks = "default_tool_breaks" },
|
||||
_mcl_toollike_wield = true,
|
||||
_mcl_diggroups = {
|
||||
|
@ -198,13 +196,13 @@ minetest.register_tool("exchangeclone:red_matter_sword", {
|
|||
description = "Red Matter Sword",
|
||||
wield_image = "exchangeclone_red_matter_sword.png",
|
||||
inventory_image = "exchangeclone_red_matter_sword.png",
|
||||
groups = { tool=1, sword=1, dig_speed_class=8, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
groups = { tool=1, sword=1, dig_speed_class=7, enchantability=0, disable_repair = 1, fire_immune = 1, exchangeclone_upgradable = 1},
|
||||
wield_scale = exchangeclone.wield_scale,
|
||||
tool_capabilities = {
|
||||
-- 1/1.2
|
||||
full_punch_interval = 0.17,
|
||||
max_drop_level=6,
|
||||
damage_groups = {fleshy=14},
|
||||
full_punch_interval = 0.7,
|
||||
max_drop_level=7,
|
||||
damage_groups = {fleshy=20},
|
||||
punch_attack_uses = 0,
|
||||
groupcaps={
|
||||
snappy = {times={[1]=0.6, [2]=0.25, [3]=0.1}, uses=0, maxlevel=5},
|
||||
|
|
Loading…
Reference in New Issue