make this GUI element respect mine-ability? Or hide it entirely?
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
make this GUI element respect mine-ability? Or hide it entirely?
I'm working on a mod that hides ores from the map and from the "first person" perspective. (See Bland Ores mod) Unfortunately, you can still manually scan the ground with the cursor to reveal otherwise invisible ore. Is there anyway to prevent this? I would like to either a) make the element respect mine-ability or b) hide the gui element entirely.
(In this example, the map is left unchanged and the user has mining_categories nil)
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
Re: make this GUI element respect mine-ability? Or hide it entirely?
Another wrinkle in what you describe is the same scanning can be done with a miner in hand. Even being able to place them off ore, their placement gui for expected resources will be the next snag.
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
Re: make this GUI element respect mine-ability? Or hide it entirely?
au contraire!Another wrinkle in what you describe is the same scanning can be done with a miner in hand. Even being able to place them off ore, their placement gui for expected resources will be the next snag.
Code: Select all
local plain = "basic-solid";
local deep = "basic-solid-deep";
local deeper = "basic-solid-deeper";
local earth = "earth";
local silver = "silver";
local gold = "gold";
local deepResourceCategory = table.deepcopy(data.raw["resource-category"][plain]);
deepResourceCategory.name = deep;
local deeperResourceCategory = table.deepcopy(data.raw["resource-category"][plain]);
deeperResourceCategory.name = deeper;
local deepDrill = table.deepcopy(data.raw["mining-drill"]["electric-mining-drill"]);
deepDrill.name = "deep drill";
deepDrill.resource_categories = {plain, deep};
local deeperDrill = table.deepcopy(data.raw["mining-drill"]["electric-mining-drill"]);
deeperDrill.resource_categories = {plain, deep, deeper};
deeperDrill.name = "deeper drill";
local deepDrillRecipe = table.deepcopy(data.raw.recipe["electric-mining-drill"]);
deepDrillRecipe.normal.result = deepDrill.name;
deepDrillRecipe.expensive.result = deepDrill.name;
local deeperDrillRecipe = table.deepcopy(data.raw.recipe["electric-mining-drill"]);
deeperDrillRecipe.normal.result = deeperDrillRecipe.name;
deeperDrillRecipe.expensive.result = deeperDrillRecipe.name;
local earthResource = table.deepcopy(data.raw["resource"]["stone"]);
earthResource.name = "earth";
earthResource.minable.result = nil;
earthResource.infinite = true;
earthResource.minimum = 1;
earthResource.minable.results = {{
name = "earth",
probability = 0.9,
amount = 1
}, {
name = "stone",
probability = 0.09,
amount = 1
}, {
name = "silver",
probability = 0.009,
amount = 1
}, {
name = "gold",
probability = 0.001,
amount = 1
}};
local earthItem = table.deepcopy(data.raw["item"]["stone"]);
earthItem.name = earth;
earthItem.tint = {
r = 1,
g = 0,
b = 0,
a = 1
};
local silverResource = table.deepcopy(data.raw["resource"]["copper-ore"]);
silverResource.name = "silver";
-- silverResource.category = deep
-- silver.icons = {
-- icon= silver.icon,
-- tint = { a = 0.75, b = 0.5, g = 0.5, r = 0.5 }
-- };
local silverItem = table.deepcopy(data.raw["item"]["copper-ore"]);
silverItem.name = silver;
silverItem.icons = { {
icon = silver.icon,
tint = {
a = 0.75,
b = 0,
g = 0,
r = 0
}
}};
silverItem.icon = {};
local silverAutoplace = table.deepcopy(data.raw["autoplace-control"]["copper-ore"]);
silverAutoplace.name = silver;
silverAutoplace.localised_name = {"", "[entity=silver] ", {"entity-name.silver"}};
local goldResource = table.deepcopy(data.raw["resource"]["copper-ore"]);
goldResource.name = gold;
-- goldResource.category = deeper;
-- gold.icons = {
-- icon = gold.icon,
-- tint = {
-- a = 0.5,
-- b = 0.1,
-- g = 0.1,
-- r = 0.1
-- }
-- };
-- gold.icon = nil;
local goldItem = table.deepcopy(data.raw["item"]["copper-ore"]);
goldItem.name = gold;
goldItem.icons = {{
icon = goldItem.icon,
tint = {
a = 1,
b = 0,
g = 1,
r = 0
}
}};
goldItem.icon = {};
local goldAutoplace = table.deepcopy(data.raw["autoplace-control"]["copper-ore"]);
goldAutoplace.name = gold;
goldAutoplace.localised_name = {"", "[entity=gold] ", {"entity-name.gold"}};
data:extend({
-- deepResourceCategory, deeperResourceCategory, deepDrill, deeperDrill, deepDrillRecipe, deeperDrillRecipe,
earthItem, earthResource,
silverResource, silverItem, silverAutoplace,
goldResource, goldItem, goldAutoplace,
});
for _, resource in pairs(data.raw.resource) do
resource.selectable_in_game = false;
if (resource.name == "earth") then
-- resource.category = deep;
resource.highlight = false;
resource.map_grid = false;
resource.map_color = {0, 0, 0, 0};
resource.resource_patch_search_radius = false
end
local oreSheet = resource.stages.sheet
-- if (resource.name == "copper-ore" or resource.name == "iron-ore") then
-- resource.category = deep;
-- end
-- if (resource.name ~= "stone" and resource.name ~= "coal") then
-- oreSheet.tint = {0, 0, 0, 0};
-- oreSheet.hr_version.tint = {0, 0, 0, 0};
-- end
-- if (resource.name == "silver") then
-- resource.category = deep;
-- elseif resource.name == "gold" then
-- resource.category = deeper;
-- end
data:extend({resource});
end
-- local character = table.deepcopy(data.raw["character"]["character"]);
-- character.mining_categories = nil;
-- character.reach_resource_distance = -1;
-- data:extend({character});
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
Re: make this GUI element respect mine-ability? Or hide it entirely?
One more thing- every space is covered in "earth" ore, making every space mine-able. You can now put a mining drill anywhere
Code: Select all
script.on_event(defines.events.on_chunk_generated, function(event)
for x = event.area.left_top.x + 0, event.area.right_bottom.x - 1 do
for y = event.area.left_top.y + 0, event.area.right_bottom.y - 1 do
event.surface.create_entity({
name = "earth",
amount = 1,
position = {x, y}
})
end
end
end)
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
Re: make this GUI element respect mine-ability? Or hide it entirely?
or perhaps this one?
- adamwong246
- Fast Inserter
- Posts: 148
- Joined: Tue Dec 01, 2020 5:01 am
- Contact:
Re: make this GUI element respect mine-ability? Or hide it entirely?
Dang it, you called it right. I doubt it is likely but maybe this element can be hidden?