mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-17 16:41:06 +01:00
Remove enderman gameconfig
This commit is contained in:
parent
ff33794487
commit
dd1f8cb59c
4 changed files with 36 additions and 101 deletions
|
@ -215,55 +215,6 @@ mobs_mc.replace = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- List of nodes which endermen can take
|
|
||||||
mobs_mc.enderman_takable = {
|
|
||||||
-- Generic handling, useful for entensions
|
|
||||||
"group:enderman_takable",
|
|
||||||
|
|
||||||
-- Generic nodes
|
|
||||||
"group:sand",
|
|
||||||
"group:flower",
|
|
||||||
|
|
||||||
-- Minetest Game
|
|
||||||
"default:dirt",
|
|
||||||
"default:dirt_with_grass",
|
|
||||||
"default:dirt_with_dry_grass",
|
|
||||||
"default:dirt_with_snow",
|
|
||||||
"default:dirt_with_rainforest_litter",
|
|
||||||
"default:dirt_with_grass_footsteps",
|
|
||||||
-- FIXME: For some reason, Minetest has a Lua error when an enderman tries to place a Minetest Game cactus.
|
|
||||||
-- Maybe this is because default:cactus has rotate_and_place?
|
|
||||||
-- "default:cactus", -- TODO: Re-enable cactus when it works again
|
|
||||||
"default:gravel",
|
|
||||||
"default:clay",
|
|
||||||
"flowers:mushroom_red",
|
|
||||||
"flowers:mushroom_brown",
|
|
||||||
"tnt:tnt",
|
|
||||||
|
|
||||||
-- Nether mod
|
|
||||||
"nether:rack",
|
|
||||||
}
|
|
||||||
|
|
||||||
--[[ Table of nodes to replace when an enderman takes it.
|
|
||||||
If the enderman takes an indexed node, it the enderman will get the item in the value.
|
|
||||||
Table indexes: Original node, taken by enderman.
|
|
||||||
Table values: The item which the enderman *actually* gets
|
|
||||||
Example:
|
|
||||||
mobs_mc.enderman_node_replace = {
|
|
||||||
["default:dirt_with_dry_grass"] = "default_dirt_with_grass",
|
|
||||||
}
|
|
||||||
-- This means, if the enderman takes a dirt with dry grass, he will get a dirt with grass
|
|
||||||
-- on his hand instead.
|
|
||||||
]]
|
|
||||||
mobs_mc.enderman_replace_on_take = {} -- no replacements by default
|
|
||||||
|
|
||||||
-- A table which can be used to override block textures of blocks carried by endermen.
|
|
||||||
-- Only works for cube-shaped nodes and nodeboxes.
|
|
||||||
-- Key: itemstrings of the blocks to replace
|
|
||||||
-- Value: A table with the texture overrides (6 textures)
|
|
||||||
mobs_mc.enderman_block_texture_overrides = {
|
|
||||||
}
|
|
||||||
|
|
||||||
-- List of nodes on which mobs can spawn
|
-- List of nodes on which mobs can spawn
|
||||||
mobs_mc.spawn = {
|
mobs_mc.spawn = {
|
||||||
solid = { "group:cracky", "group:crumbly", "group:shovely", "group:pickaxey" }, -- spawn on "solid" nodes (this is mostly just guessing)
|
solid = { "group:cracky", "group:crumbly", "group:shovely", "group:pickaxey" }, -- spawn on "solid" nodes (this is mostly just guessing)
|
||||||
|
@ -312,6 +263,7 @@ mobs_mc.misc = {
|
||||||
-- Item name overrides from mobs_mc_gameconfig (if present)
|
-- Item name overrides from mobs_mc_gameconfig (if present)
|
||||||
if minetest.get_modpath("mobs_mc_gameconfig") and mobs_mc.override then
|
if minetest.get_modpath("mobs_mc_gameconfig") and mobs_mc.override then
|
||||||
local tables = {"items", "follow", "replace", "spawn", "spawn_height", "misc"}
|
local tables = {"items", "follow", "replace", "spawn", "spawn_height", "misc"}
|
||||||
|
|
||||||
for t=1, #tables do
|
for t=1, #tables do
|
||||||
local tbl = tables[t]
|
local tbl = tables[t]
|
||||||
if mobs_mc.override[tbl] then
|
if mobs_mc.override[tbl] then
|
||||||
|
@ -320,15 +272,5 @@ if minetest.get_modpath("mobs_mc_gameconfig") and mobs_mc.override then
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if mobs_mc.override.enderman_takable then
|
|
||||||
mobs_mc.enderman_takable = mobs_mc.override.enderman_takable
|
|
||||||
end
|
|
||||||
if mobs_mc.override.enderman_replace_on_take then
|
|
||||||
mobs_mc.enderman_replace_on_take = mobs_mc.override.enderman_replace_on_take
|
|
||||||
end
|
|
||||||
if mobs_mc.enderman_block_texture_overrides then
|
|
||||||
mobs_mc.enderman_block_texture_overrides = mobs_mc.override.enderman_block_texture_overrides
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,37 @@ local take_frequency_max = 245
|
||||||
local place_frequency_min = 235
|
local place_frequency_min = 235
|
||||||
local place_frequency_max = 245
|
local place_frequency_max = 245
|
||||||
|
|
||||||
|
|
||||||
|
-- Texuture overrides for enderman block. Required for cactus because it's original is a nodebox
|
||||||
|
-- and the textures have tranparent pixels.
|
||||||
|
local block_texture_overrides
|
||||||
|
do
|
||||||
|
local cbackground = "mobs_mc_enderman_cactus_background.png"
|
||||||
|
local ctiles = minetest.registered_nodes["mcl_core:cactus"].tiles
|
||||||
|
|
||||||
|
local ctable = {}
|
||||||
|
local last
|
||||||
|
for i=1, 6 do
|
||||||
|
if ctiles[i] then
|
||||||
|
last = ctiles[i]
|
||||||
|
end
|
||||||
|
table.insert(ctable, cbackground .. "^" .. last)
|
||||||
|
end
|
||||||
|
|
||||||
|
block_texture_overrides = {
|
||||||
|
["mcl_core:cactus"] = ctable,
|
||||||
|
-- FIXME: replace colorize colors with colors from palette
|
||||||
|
["mcl_core:dirt_with_grass"] =
|
||||||
|
{
|
||||||
|
"mcl_core_grass_block_top.png^[colorize:green:90",
|
||||||
|
"default_dirt.png",
|
||||||
|
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
||||||
|
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
||||||
|
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
||||||
|
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)"}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
-- Create the textures table for the enderman, depending on which kind of block
|
-- Create the textures table for the enderman, depending on which kind of block
|
||||||
-- the enderman holds (if any).
|
-- the enderman holds (if any).
|
||||||
local create_enderman_textures = function(block_type, itemstring)
|
local create_enderman_textures = function(block_type, itemstring)
|
||||||
|
@ -69,9 +100,9 @@ local create_enderman_textures = function(block_type, itemstring)
|
||||||
local tiles = minetest.registered_nodes[itemstring].tiles
|
local tiles = minetest.registered_nodes[itemstring].tiles
|
||||||
local textures = {}
|
local textures = {}
|
||||||
local last
|
local last
|
||||||
if mobs_mc.enderman_block_texture_overrides[itemstring] then
|
if block_texture_overrides[itemstring] then
|
||||||
-- Texture override available? Use these instead!
|
-- Texture override available? Use these instead!
|
||||||
textures = mobs_mc.enderman_block_texture_overrides[itemstring]
|
textures = block_texture_overrides[itemstring]
|
||||||
else
|
else
|
||||||
-- Extract the texture names
|
-- Extract the texture names
|
||||||
for i = 1, 6 do
|
for i = 1, 6 do
|
||||||
|
@ -388,7 +419,7 @@ mcl_mobs:register_mob("mobs_mc:enderman", {
|
||||||
self._take_place_timer = 0
|
self._take_place_timer = 0
|
||||||
self._next_take_place_time = math.random(place_frequency_min, place_frequency_max)
|
self._next_take_place_time = math.random(place_frequency_min, place_frequency_max)
|
||||||
local pos = self.object:get_pos()
|
local pos = self.object:get_pos()
|
||||||
local takable_nodes = minetest.find_nodes_in_area_under_air({x=pos.x-2, y=pos.y-1, z=pos.z-2}, {x=pos.x+2, y=pos.y+1, z=pos.z+2}, mobs_mc.enderman_takable)
|
local takable_nodes = minetest.find_nodes_in_area_under_air({x=pos.x-2, y=pos.y-1, z=pos.z-2}, {x=pos.x+2, y=pos.y+1, z=pos.z+2}, "group:enderman_takable")
|
||||||
if #takable_nodes >= 1 then
|
if #takable_nodes >= 1 then
|
||||||
local r = pr:next(1, #takable_nodes)
|
local r = pr:next(1, #takable_nodes)
|
||||||
local take_pos = takable_nodes[r]
|
local take_pos = takable_nodes[r]
|
||||||
|
@ -398,11 +429,7 @@ mcl_mobs:register_mob("mobs_mc:enderman", {
|
||||||
minetest.remove_node(take_pos)
|
minetest.remove_node(take_pos)
|
||||||
local dug = minetest.get_node_or_nil(take_pos)
|
local dug = minetest.get_node_or_nil(take_pos)
|
||||||
if dug and dug.name == "air" then
|
if dug and dug.name == "air" then
|
||||||
if mobs_mc.enderman_replace_on_take[node.name] then
|
self._taken_node = node.name
|
||||||
self._taken_node = mobs_mc.enderman_replace_on_take[node.name]
|
|
||||||
else
|
|
||||||
self._taken_node = node.name
|
|
||||||
end
|
|
||||||
local def = minetest.registered_nodes[self._taken_node]
|
local def = minetest.registered_nodes[self._taken_node]
|
||||||
-- Update animation and texture accordingly (adds visibly carried block)
|
-- Update animation and texture accordingly (adds visibly carried block)
|
||||||
local block_type
|
local block_type
|
||||||
|
|
Before Width: | Height: | Size: 99 B After Width: | Height: | Size: 99 B |
|
@ -172,44 +172,10 @@ mobs_mc.override.replace = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- List of nodes which endermen can take
|
|
||||||
mobs_mc.override.enderman_takable = {
|
|
||||||
-- Generic handling, useful for entensions
|
|
||||||
"group:enderman_takable",
|
|
||||||
}
|
|
||||||
mobs_mc.override.enderman_replace_on_take = {
|
|
||||||
}
|
|
||||||
mobs_mc.override.misc = {
|
mobs_mc.override.misc = {
|
||||||
totem_fail_nodes = { "mcl_core:void", "mcl_core:realm_barrier" },
|
totem_fail_nodes = { "mcl_core:void", "mcl_core:realm_barrier" },
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Texuture overrides for enderman block. Required for cactus because it's original is a nodebox
|
|
||||||
-- and the textures have tranparent pixels.
|
|
||||||
local cbackground = "mobs_mc_gameconfig_enderman_cactus_background.png"
|
|
||||||
local ctiles = minetest.registered_nodes["mcl_core:cactus"].tiles
|
|
||||||
|
|
||||||
local ctable = {}
|
|
||||||
local last
|
|
||||||
for i=1, 6 do
|
|
||||||
if ctiles[i] then
|
|
||||||
last = ctiles[i]
|
|
||||||
end
|
|
||||||
table.insert(ctable, cbackground .. "^" .. last)
|
|
||||||
end
|
|
||||||
|
|
||||||
mobs_mc.override.enderman_block_texture_overrides = {
|
|
||||||
["mcl_core:cactus"] = ctable,
|
|
||||||
-- FIXME: replace colorize colors with colors from palette
|
|
||||||
["mcl_core:dirt_with_grass"] =
|
|
||||||
{
|
|
||||||
"mcl_core_grass_block_top.png^[colorize:green:90",
|
|
||||||
"default_dirt.png",
|
|
||||||
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
|
||||||
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
|
||||||
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)",
|
|
||||||
"default_dirt.png^(mcl_core_grass_block_side_overlay.png^[colorize:green:90)"}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- List of nodes on which mobs can spawn
|
-- List of nodes on which mobs can spawn
|
||||||
mobs_mc.override.spawn = {
|
mobs_mc.override.spawn = {
|
||||||
solid = { "group:solid", }, -- spawn on "solid" nodes
|
solid = { "group:solid", }, -- spawn on "solid" nodes
|
||||||
|
|
Loading…
Reference in a new issue