const mobs = {
  "creepyBaseLevel": 1,
  "creeperBaseLevel": 25,
  "creeperoarBaseLevel": 55,
  "blazeBaseLevel": 1,
  "king_blazeBaseLevel": 17,
  "emperorBaseLevel": 36,
  "endermanBaseLevel": 1,
  "endoritharian": 42,
  "ghastyBaseLevel": 1,
  "ghastBaseLevel": 18,
  "ghastadonBaseLevel": 33,
  "skeletonBaseLevel": 1,
  "skelethorBaseLevel": 28,
  "spidyBaseLevel": 1,
  "spiderBaseLevel": 22,
  "spidoxBaseLevel": 35,
  "vexBaseLevel": 1,
  "vexorBaseLevel": 45,
  "wardenBaseLevel": 1,
  "warsculkBaseLevel": 35,
  "wither_skeletonBaseLevel": 1,
  "skelordBaseLevel": 33,
  "withyBaseLevel": 1,
  "witherBaseLevel": 34,
  "wythernBaseLevel": 46,
  "gnawieBaseLevel": 1,
  "zombieBaseLevel": 18,
  "chompchampBaseLevel": 37,
  "slimeBaseLevel": 1,
  "globuleBaseLevel": 45,
  "piglin_bruteBaseLevel": 1,
  "baconatorBaseLevel": 54
};

const passiveMobs = new Set ([
  "minecraft:cow",
  "minecraft:sheep",
  "minecraft:rabbit",
  "minecraft:pig",
  "minecraft:frog",
  "minecraft:fox",
  "minecraft:villager",
  "minecraft:iron_golem",
  "minecraft:wolf",
  "minecraft:polar_bear",
  "minecraft:goat",
  "minecraft:bat",
  "minecraft:dolphin",
  "minecraft:bee",
  "minecraft:chicken",
  "minecraft:llama",
  "minecraft:wandering_trader",
  "minecraft:ocelot",
  "minecraft:panda",
  "minecraft:parrot",
  "minecraft:cod",
  "minecraft:salmon",
  "minecraft:glow_squid",
  "minecraft:squid",
  "minecraft:tadpole",
  "minecraft:tropical_fish",
  "minecraft:armadillo",
  "minecraft:allay",
  "minecraft:turtle",
  "minecraft:cat",
  "minecraft:horse",
  "minecraft:donkey",
  "minecraft:mule",
  "minecraft:mooshroom",
  "minecraft:trader_llama",
  "minecraft:axolotl"
])

const customItemSet = new Set ([
  'maca_evolvingmobs:capture_orb',
  'maca_evolvingmobs:mob_orb',
  'maca_evolvingmobs:empty_mob_orb',
  'maca_evolvingmobs:mark_target'
]);
const ignoreList = new Set([
  "minecraft:minecart",
  "minecraft:chest_minecart",
  "minecraft:hopper_minecart",
  "minecraft:tnt_minecart",
  "minecraft:xp_orb",
  "minecraft:item",
  "minecraft:tnt",
  "minecraft:fire",
  "minecraft:arrow",
  "maca_evolvingmobs:aoe_projectile"
]);

//Range and Delay maps for simulated explosions
const rangeMap = new Map ([
  ["turtle0",5],
  ["turtle5",6],
  ["turtle10",7],
  ["turtle15",8],
  ["turtle20",9],
  ["turtle25",10],
  ["goltarras25",20],
  ["goltarras30",21],
  ["goltarras35",22],
  ["goltarras40",23],
  ["goltarras45",24],
  ["goltarras50",25],
  ["goltarras55",26],
  ["goltarras60",27],
  ["creepy0",7],
  ["creepy5",8],
  ["creepy10",9],
  ["creepy15",10],
  ["creepy20",11],
  ["creeper25",4],
  ["creeper30",5],
  ["creeper35",6],
  ["creeper40",7],
  ["creeper45",8],
  ["creeper50",9],
  ["creeperoar55",8],
  ["creeperoar60",9],
  ["creeperoar65",10],
  ["creeperoar70",11],
  ["creeperoar75",12],
  ["creeperoar80",13],
  ["creeperoar85",14],
  ["creeperoar90",15],
  ["creeperoar95",16],
  ["creeperoar100",17],
  ["baconator50",20],
  ["baconator55",21],
  ["baconator60",22],
  ["baconator65",23],
  ["baconator70",24],
  ["baconator75",25],
  ["baconator80",26],
  ["baconator85",27],
  ["baconator90",28],
  ["baconator95",29],
  ["baconator100",30],
  ["endoritharian40",14],
  ["endoritharian45",15],
  ["endoritharian50",16],
  ["endoritharian55",17],
  ["endoritharian60",18],
  ["endoritharian65",19],
  ["endoritharian70",20],
  ["endoritharian75",21],
  ["endoritharian80",22],
  ["endoritharian85",23],
  ["endoritharian90",24],
  ["endoritharian95",25],
  ["endoritharian100",26],
  ["chompchamp35",13],
  ["chompchamp40",14],
  ["chompchamp45",15],
  ["chompchamp50",16],
  ["chompchamp55",17],
  ["chompchamp60",18],
  ["chompchamp65",19],
  ["chompchamp70",20],
  ["chompchamp75",21],
  ["chompchamp80",22],
  ["chompchamp85",23],
  ["chompchamp90",24],
  ["chompchamp95",25],
  ["chompchamp100",26],
  ["shroombull35",13],
  ["shroombull40",14],
  ["shroombull45",15],
  ["shroombull50",16],
  ["shroombull55",17],
  ["shroombull60",18],
  ["shroombull65",19],
  ["shroombull70",20],
  ["shroombull75",21],
  ["shroombull80",22],
  ["shroombull85",23],
  ["shroombull90",24],
  ["shroombull95",25],
  ["shroombull100",26],
  ["taurorix35",13],
  ["taurorix40",14],
  ["taurorix45",15],
  ["taurorix50",16],
  ["taurorix55",17],
  ["taurorix60",18],
  ["taurorix65",19],
  ["taurorix70",20],
  ["taurorix75",21],
  ["taurorix80",22],
  ["taurorix85",23],
  ["taurorix90",24],
  ["taurorix95",25],
  ["taurorix100",26],
  ["warsculk35",38],
  ["warsculk40",39],
  ["warsculk45",40],
  ["warsculk50",41],
  ["warsculk55",42],
  ["warsculk60",43],
  ["warsculk65",44],
  ["warsculk70",45],
  ["warsculk75",46],
  ["warsculk80",47],
  ["warsculk85",48],
  ["warsculk90",49],
  ["warsculk95",50],
  ["warsculk100",51],
  ["spidox35",12],
  ["spidox40",13],
  ["spidox45",14],
  ["spidox50",15],
  ["spidox55",16],
  ["spidox60",17],
  ["spidox65",18],
  ["spidox70",19],
  ["spidox75",20],
  ["spidox80",21],
  ["spidox85",22],
  ["spidox90",23],
  ["spidox95",24],
  ["spidox100",25],
  ["arcancluck55",4],
  ["arcancluck60",5],
  ["arcancluck65",6],
  ["arcancluck70",7],
  ["arcancluck75",8],
  ["arcancluck80",9],
  ["arcancluck85",10],
  ["arcancluck90",11],
  ["arcancluck95",12],
  ["arcancluck100",13],
  ["emperor35",12],
  ["emperor40",13],
  ["emperor45",14],
  ["emperor50",15],
  ["emperor55",16],
  ["emperor60",17],
  ["emperor65",18],
  ["emperor70",19],
  ["emperor75",20],
  ["emperor80",21],
  ["emperor85",22],
  ["emperor90",23],
  ["emperor95",24],
  ["emperor100",25],
  ["ghastadon30",8],
  ["ghastadon35",9],
  ["ghastadon40",10],
  ["ghastadon45",11],
  ["ghastadon50",12],
  ["ghastadon55",13],
  ["ghastadon60",14],
  ["ghastadon65",15],
  ["ghastadon70",16],
  ["ghastadon75",17],
  ["ghastadon80",18],
  ["ghastadon85",19],
  ["ghastadon90",20],
  ["ghastadon95",21],
  ["ghastadon100",22],
  ["ghast15",6],
  ["ghast20",7],
  ["ghast25",8],
  ["ghast30",9],
  ["ghasty0",3],
  ["ghasty5",4],
  ["ghasty10",5],
  ["ghasty15",6],
  ["vexor45",20],
  ["vexor50",21],
  ["vexor55",22],
  ["vexor60",23],
  ["vexor65",24],
  ["vexor70",25],
  ["vexor75",26],
  ["vexor80",27],
  ["vexor85",28],
  ["vexor90",29],
  ["vexor95",30],
  ["vexor100",31],
  ["wither30",10],
  ["wither35",11],
  ["wither40",12],
  ["wither45",13],
  ["wythern45",24],
  ["wythern50", 25],
  ["wythern55",26],
  ["wythern60",27],
  ["wythern65",28],
  ["wythern70",29],
  ["wythern75",30],
  ["wythern80",31],
  ["wythern85",32],
  ["wythern90",33],
  ["wythern95",34],
  ["wythern100",35],
  ["withy0",4],
  ["withy5",5],
  ["withy10",6],
  ["withy15",7],
  ["withy20",8],
  ["withy25",9],
  ["withy30",10],
  ["blaze0",4],
  ["blaze5",5],
  ["blaze10",6],
  ["blaze15",7],
  ["mooshroom0",5],
  ["mooshroom5",6],
  ["mooshroom10",7],
  ["mooshroom15",8],
  ["mooshroom20",9],
  ["mooshroom25",10],
  ["mooshroom30",11],
  ["mooshroom35",12],
  ["king_blaze15",8],
  ["king_blaze20",9],
  ["king_blaze25",10],
  ["king_blaze30",11],
  ["king_blaze35",12],
  ["chicken25",5],
  ["chicken30",6],
  ["chicken35",7],
  ["chicken40",8],
  ["chicken45",9],
  ["chicken50",10],
  ["chicken55",11],
  ["fairbee25",8],
  ["fairbee30",9],
  ["fairbee35",10],
  ["fairbee40",11],
  ["fairbee45",12],
  ["fairbee50",13],
  ["fairbee55",14],
  ["fairbee60",15],
  ["gold_golem20", 12],
  ["gold_golem25", 13],
  ["gold_golem30", 14],
  ["gold_golem35", 15],
  ["gold_golem40", 16],
  ["gold_golem45", 17],
  ["diamond_golem45", 18],
  ["diamond_golem50", 19],
  ["diamond_golem55", 20],
  ["diamond_golem60", 21],
  ["diamond_golem65", 22],
  ["diamond_golem70", 23],
  ["netherite_golem75", 24],
  ["netherite_golem80", 25],
  ["netherite_golem85", 26],
  ["netherite_golem90", 27],
  ["netherite_golem95", 28],
  ["netherite_golem100", 29],
  ["pyrovulpis40",13],
  ["pyrovulpis45",14],
  ["pyrovulpis50",15],
  ["pyrovulpis55",16],
  ["pyrovulpis60",17],
  ["pyrovulpis65",18],
  ["pyrovulpis70",19],
  ["pyrovulpis75",20],
  ["pyrovulpis80",21],
  ["pyrovulpis85",22],
  ["pyrovulpis90",23],
  ["pyrovulpis95",24],
  ["pyrovulpis100",25],
  ["razorusk40",13],
  ["razorusk45",14],
  ["razorusk50",15],
  ["razorusk55",16],
  ["razorusk60",17],
  ["razorusk65",18],
  ["razorusk70",19],
  ["razorusk75",20],
  ["razorusk80",21],
  ["razorusk85",22],
  ["razorusk90",23],
  ["razorusk95",24],
  ["razorusk100",25],
  ["pig0",5],
  ["pig5",6],
  ["pig10",7],
  ["pig15",8],
  ["pig20",9],
  ["pig25",10],
  ["pig30",7],
  ["pig35",8],
  ["vurulfur35", 5],
  ["vurulfur40", 6],
  ["vurulfur45", 7],
  ["vurulfur50", 8],
  ["vurulfur55", 9],
  ["vurulfur60", 10],
  ["vurulfur65", 11],
  ["vurulfur70", 12],
  ["vurulfur75", 13],
  ["vurulfur80", 14],
  ["vurulfur85", 15],
  ["vurulfur90", 16],
  ["vurulfur95", 17],
  ["vurulfur100", 18]
])

const delayMap = new Map ([
  ["baconator", 30],
  ["creeperoar", 50],
  ["creeper", 10],
  ["creepy", 10],
  ["egglet", 10],
  ["endoritharian", 8],
  ["chompchamp", 20],
  ["shroombull", 45],
  ["warsculk", 1],
  ["spidox", 1],
  ["gold_golem", 1],
  ["netherite_golem", 1],
  ["diamond_golem", 1],
  ["turtle", 1],
  ["fairbee", 10],
  ["mooshroom", 25],
  ["pig", 1],
  ["razorusk", 1],
  ["vurulfur", 1],
  ["vexor", 1],
  ["wythern", 1]
])

const customProjectiles = new Set([
  "maca_evolvingmobs:arcancluck.projectile",
  "maca_evolvingmobs:emperor.projectile",
  "maca_evolvingmobs:vexor.projectile",
  "maca_evolvingmobs:ghastadon.projectile",
  "maca_evolvingmobs:wither.projectile",
  "maca_evolvingmobs:wythern.projectile",
  "minecraft:small_fireball",
  "minecraft:fireball",
  "maca_evolvingmobs:aoe_projectile"
]);

const simExplosion = new Set ([
  "maca_evolvingmobs:emperor.projectile",
  "maca_evolvingmobs:vexor.projectile",
  "maca_evolvingmobs:wythern.projectile"
])

const hitEnt = new Set([
  "maca_evolvingmobs:fairbee",
  "maca_evolvingmobs:bee",
  "maca_evolvingmobs:gold_golem",
  "maca_evolvingmobs:diamond_golem",
  "maca_evolvingmobs:netherite_golem",
  "maca_evolvingmobs:razorusk",
  "maca_evolvingmobs:pig",
  "maca_evolvingmobs:vurulfur",
  "maca_evolvingmobs:taurorix"
]);

// List of blocks to ignore when setting fire, i.e. what can we replace with fire
const replaceBlocks = new Set([
  "minecraft:short_grass",
  "minecraft:tall_grass",
  "minecraft:deadbush",
  "minecraft:sweet_berry_bush",
  "minecraft:rose_bush",
  "minecraft:cornflower",
  "minecraft:sunflower",
  "minecraft:torchflower",
  "minecraft:torchflower_crop",
  "minecraft:oxeye_daisy",
  "minecraft:poppy",
  "minecraft:fern",
  "minecraft:large_fern",
  "minecraft:dandelion",
  "minecraft:blue_orchid",
  "minecraft:allium",
  "minecraft:azure_bluet",
  "minecraft:red_tulip",
  "minecraft:pink_tulip",
  "minecraft:white_tulip",
  "minecraft:orange_tulip",
  "minecraft:lily_of_the_valley",
  "minecraft:lilac",
  "minecraft:peony",
  "minecraft:pitcher_plant",
  "minecraft:pink_pedals",
  "minecraft:open_eyeblossom",
  "minecraft:closed_eyeblossom",
  "minecraft:bamboo",
  "minecraft:big_dripleaf",
  "minecraft:small_dripleaf",
  "minecraft:glow_lichen",
  "minecraft:cobweb",
  "minecraft:sugar_cane"
]);

export {
    replaceBlocks,
    delayMap,
    customItemSet,
    customProjectiles,
    hitEnt,
    rangeMap,
    passiveMobs,
    mobs,
    ignoreList,
    simExplosion
};