@@ -514,11 +514,17 @@ local function make_registration_wrap(reg_fn_name, clear_fn_name)
514
514
end
515
515
516
516
local function make_wrap_deregistration (reg_fn , clear_fn , list )
517
- local unregister = function (unregistered_key )
517
+ local unregister = function (key )
518
+ if type (key ) ~= " string" then
519
+ error (" key is not a string" , 2 )
520
+ end
521
+ if not list [key ] then
522
+ error (" Attempt to unregister non-existent element - '" .. key .. " '" , 2 )
523
+ end
518
524
local temporary_list = table .copy (list )
519
525
clear_fn ()
520
526
for k ,v in pairs (temporary_list ) do
521
- if unregistered_key ~= k then
527
+ if key ~= k then
522
528
reg_fn (v )
523
529
end
524
530
end
@@ -564,7 +570,8 @@ core.registered_biomes = make_registration_wrap("register_biome", "cle
564
570
core .registered_ores = make_registration_wrap (" register_ore" , " clear_registered_ores" )
565
571
core .registered_decorations = make_registration_wrap (" register_decoration" , " clear_registered_decorations" )
566
572
567
- core .unregister_biome = make_wrap_deregistration (core .register_biome , core .clear_registered_biomes , core .registered_biomes )
573
+ core .unregister_biome = make_wrap_deregistration (core .register_biome ,
574
+ core .clear_registered_biomes , core .registered_biomes )
568
575
569
576
core .registered_on_chat_messages , core .register_on_chat_message = make_registration ()
570
577
core .registered_globalsteps , core .register_globalstep = make_registration ()
0 commit comments