1 -- CC0/Unlicense Emilia 2020
8 function woptimize
.countents()
9 local obj
= minetest
.localplayer
.get_nearby_objects(10000)
10 ws
.dcm("Entity count: "..#obj
)
14 -- texture is a prefix
15 local function remove_ents(texture
)
16 if not minetest
.localplayer
then return end
17 local obj
= minetest
.localplayer
.get_nearby_objects(10000)
19 for i
, v
in ipairs(obj
) do
20 -- CAOs with water/lava textures are droplets
21 --minetest.log("ERROR",v:get_item_textures())
22 --ws.dcm(v:get_item_textures())
23 local txt
=v
:get_item_textures()
24 if type(txt
) == "string" and txt
:find(texture
) then
33 local function remove_hud(name
)
34 local player
= minetest
.localplayer
37 if not player
then return end
40 def
= player
:hud_get(i
)
41 until not def
or def
.text
:find(name
)
43 minetest
.localplayer
:hud_remove(i
)
48 core
.register_on_spawn_particle(function(particle
)
49 if minetest
.settings
:get_bool("noparticles") then return true end
52 local epoch
= os
.clock()
54 minetest
.register_globalstep(function()
55 if not minetest
.localplayer
then return end
56 if os
.clock() > epoch
+ 1 then
57 if minetest
.settings
:get_bool("optimize_water_drops") then
58 remove_ents("default_water_source")
60 if minetest
.settings
:get_bool("optimize_burning") then
61 remove_hud('mcl_burning_hud_flame_animated.png')
68 minetest
.register_cheat("NoParticles", "Render", "noparticles")
69 minetest
.register_cheat("NoDroplets", "Render", "optimize_water_drops")
70 minetest
.register_cheat("NoBurning", "Render", "optimize_burning")