    
# -> Function tag
function #overly_realistic:internals/data_0_start

# -> Time
time of minecraft:overworld rate 0.3333333333333333

# ---> Vars

# -> (Note: might wanna seperate this into multiple ticks but like.. fuck it I guess..)

# -> Player stats
scoreboard objectives add OverlyRealistic.Player.Stats.Temperature dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Stamina dummy
scoreboard objectives add OverlyRealistic.Player.Stats.MaxStamina dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Thirst dummy
scoreboard objectives add OverlyRealistic.Player.Stats.IllnessChance dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Status dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Hygiene dummy
scoreboard objectives add OverlyRealistic.Player.Stats.MentalHealth dummy
scoreboard objectives add OverlyRealistic.Player.Stats.ClothesDirtyness dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Strength dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Intelligence dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Dizzyness dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Carbs dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Fats dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Proteins dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Carbs_Precision dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Fats_Precision dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Proteins_Precision dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Speed dummy
scoreboard objectives add OverlyRealistic.Player.Stats.VitaminC dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Vitality dummy
scoreboard objectives add OverlyRealistic.Player.Stats.Loneliness dummy

# -> Player genetic value holders
scoreboard objectives add OverlyRealistic.Player.Genetics.EntityBlockInteractionRange dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.MovementSpeed dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.AttackDamage dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.AttackSpeed dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.BlockBreakSpeed dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.SneakingSpeed dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.Scale dummy
scoreboard objectives add OverlyRealistic.Player.Genetics.MaxHealth dummy

# -> Player wisdom stats
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Equitation dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Equitation_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Equitation_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Fishing dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Fishing_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Fishing_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Mining dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Mining_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Mining_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Combat dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Combat_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Combat_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Husbandry dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Husbandry_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Husbandry_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Building dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Building_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Building_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Archery dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Archery_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Archery_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Cookery dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Cookery_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Cookery_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Blacksmithing dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Blacksmithing_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Blacksmithing_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Healthcare dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Healthcare_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Healthcare_XP_Max dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Scribing dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Scribing_XP dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Scribing_XP_Max dummy

scoreboard objectives add OverlyRealistic.Player.WisdomStats.Highest_Skill_CanIncreaseStamina dummy
scoreboard objectives add OverlyRealistic.Player.WisdomStats.Highest_Skill dummy

# -> Player specialized (wisdom)
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.HorseOneCm custom:horse_one_cm
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.MineStone broken:stone
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.MineDeepslate broken:deepslate
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.IronIngotsSmelt dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.GoldIngotsSmelt dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.CopperIngotsSmelt dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.FistHits dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.ToolHits dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.ShieldBlockAttack dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.DamagedWithArmor dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.CropsPlanted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.AdditionsAddedToCrops dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.CropsWashed dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.SoilTilled dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.UseFertilizer dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.SheepSheared dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.BerriesHarvested dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.BlocksPlaced dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.ReinforcedBlocksPlaced dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.DecoBlocksPlaced dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.CraftDecoItems dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.PathsMade dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.DecorateSign dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.ArrowsCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.FoodCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.IngredientCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.PaperCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.BookCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.BookshelfCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.CrucibleCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.TongsCrafted dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.DoughCreated dummy
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_IronOre broken:iron_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateIronOre broken:deepslate_iron_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_CopperOre broken:iron_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateCopperOre broken:deepslate_copper_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_GoldOre broken:gold_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateGoldOre broken:deepslate_gold_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DiamondOre broken:diamond_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateDiamondOre broken:deepslate_diamond_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_RedstoneOre broken:redstone_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateRedstoneOre broken:deepslate_redstone_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_EmeraldOre broken:emerald_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateEmeraldOre broken:deepslate_emerald_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_CoalOre broken:coal_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.Mine_DeepslateCoalOre broken:deepslate_coal_ore
scoreboard objectives add OverlyRealistic.Player.WisdomSpecialized.ChiselBlock dummy

# -> Player tips
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_DynamicSleep dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_AdvancementsHint dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_InflictedIllness dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_CrudeToolHandle dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_LowNutrients dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_LowHydration dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_LowQualityOreFlint dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_PlayerBodyManipulation dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_ChopLogsIntoPlanks dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_AcquireWaterskinDirtyWater dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_AcquireWaterskinSeaWater dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_NoCharcoalClumpIronFragmentsHeat dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_PlacePreparationPlate dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_Animals dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_BreakBloomLowBlacksmithingLevel dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_HeatIronFragmentsNoDeepslate dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_Vomit dummy
scoreboard objectives add OverlyRealistic.Player.Tips.HasReceivedTip_GrindHighQualOre dummy

# -> Player timers
scoreboard objectives add OverlyRealistic.Player.GeneralTickingCooldown dummy
scoreboard objectives add OverlyRealistic.Player.GTC_PlayerAttackCooldown dummy
scoreboard objectives add OverlyRealistic.Player.IllnessEffectTimer_Particles dummy
scoreboard objectives add OverlyRealistic.Player.IllnessEffectTimer_Sounds dummy
scoreboard objectives add OverlyRealistic.Player.IllnessEffectTimer_Poison dummy
scoreboard objectives add OverlyRealistic.Player.LastTimeUsedTelescope dummy
scoreboard objectives add OverlyRealistic.Player.ExtremeTemperatureTimer dummy
scoreboard objectives add OverlyRealistic.Player.LonelinessCheckTimer dummy
scoreboard objectives add OverlyRealistic.Player.SanityCheckTimer dummy
scoreboard objectives add OverlyRealistic.Player.LowSanityTimer dummy
scoreboard objectives add OverlyRealistic.Player.PlayerPainTimer dummy
scoreboard objectives add OverlyRealistic.Player.DynamicSleepTime dummy
scoreboard objectives add OverlyRealistic.Player.ThirstTimer dummy
scoreboard objectives add OverlyRealistic.Player.RespawnCountdownTime dummy
scoreboard objectives add OverlyRealistic.Player.FallSoundTime dummy
scoreboard objectives add OverlyRealistic.Player.RegenTimer dummy
scoreboard objectives add OverlyRealistic.Player.IllnessTimer dummy
scoreboard objectives add OverlyRealistic.Player.MaxIllnessTimer dummy
scoreboard objectives add OverlyRealistic.Player.BleedingTimer dummy
scoreboard objectives add OverlyRealistic.Player.FallTime dummy
scoreboard objectives add OverlyRealistic.Player.WetTime dummy
scoreboard objectives add OverlyRealistic.Player.UnderwaterTime dummy
scoreboard objectives add OverlyRealistic.Player.SwimmingTime dummy
scoreboard objectives add OverlyRealistic.Player.IllnessCooldownTime dummy
scoreboard objectives add OverlyRealistic.Player.DeathBleedTimer dummy
scoreboard objectives add OverlyRealistic.Player.DeathTimer dummy
scoreboard objectives add OverlyRealistic.Player.DeathTimer_Seconds dummy
scoreboard objectives add OverlyRealistic.Player.DeathTimer_Minutes dummy
scoreboard objectives add OverlyRealistic.Player.DeathTimer_Ticks dummy
scoreboard objectives add OverlyRealistic.Player.HelpTimer dummy
scoreboard objectives add OverlyRealistic.Player.HelpTimer_Seconds dummy
scoreboard objectives add OverlyRealistic.Player.HelpTimer_Minutes dummy
scoreboard objectives add OverlyRealistic.Player.HelpTimer_Ticks dummy
scoreboard objectives add OverlyRealistic.Player.IllnessTimer_ThirstReduction dummy
scoreboard objectives add OverlyRealistic.Player.IllnessTimer_StaminaReduction dummy
scoreboard objectives add OverlyRealistic.Player.NoThirstTimer dummy
scoreboard objectives add OverlyRealistic.Player.ShootingStarSightTimer dummy
scoreboard objectives add OverlyRealistic.Player.UseUnlitTorchTimer dummy
scoreboard objectives add OverlyRealistic.Player.UseBandageTimer dummy
scoreboard objectives add OverlyRealistic.Player.SprintTime custom:sprint_one_cm
scoreboard objectives add OverlyRealistic.Player.ScribeBookTime dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_WheatSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_WheatSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_CarrotSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_CarrotSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_SeedPotato dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_SeedPotato dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_PumpkinSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_PumpkinSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_MelonSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_MelonSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_BeetrootSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_BeetrootSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_TorchflowerSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_TorchflowerSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseSeed_BeetrootSeeds dummy
scoreboard objectives add OverlyRealistic.Player.SeedProgress_BeetrootSeeds dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_BoneMeal dummy
scoreboard objectives add OverlyRealistic.Player.ItemProgress_BoneMeal dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_Compost dummy
scoreboard objectives add OverlyRealistic.Player.ItemProgress_Compost dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_FishScraps dummy
scoreboard objectives add OverlyRealistic.Player.ItemProgress_FishScraps dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_Bandage dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_Bandage_Max dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_WaterBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_LavaBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_EntityBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_FlintFlake_Time dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_FlintFlake_BreakPercent dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_FlintFlake_BreakPower dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_AxeOnPrepPlateLog dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_MeltedCopperCrucible dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_MeltedGoldCrucible dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_ClayMold dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_ForgingHammer_Time dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_ForgingHammer_HitPercent dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_ForgingHammer_HitPower dummy
scoreboard objectives add OverlyRealistic.Player.GrindstoneSharpenToolUsage dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_SharpenStickTime dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_SharpenStickSuccesses dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_RotateTime dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_KnapTime dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_KnapBreakPercent dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_KnapBreakPower dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_KnapUsage dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_SharpenedFlint_KnapUsageOld dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_Shears dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_Bow_Continuous dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_WoodenBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_IronBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_PowderSnowBucket dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_DiamondRing dummy
scoreboard objectives add OverlyRealistic.Player.UseItem_CanineSteak dummy

# -> Player specialized
scoreboard objectives add OverlyRealistic.Player.Deaths deathCount
scoreboard objectives add OverlyRealistic.Player.DeathID dummy
scoreboard objectives add OverlyRealistic.Player.HasDiedPostDowning dummy
scoreboard objectives add OverlyRealistic.Player.Jumps custom:jump
scoreboard objectives add OverlyRealistic.Player.ClimbLadder custom:climb_one_cm
scoreboard objectives add OverlyRealistic.Player.ExhaustionCounter dummy
scoreboard objectives add OverlyRealistic.Player.UsedGlassBottle used:glass_bottle
scoreboard objectives add OverlyRealistic.Player.DrankPotion used:potion
scoreboard objectives add OverlyRealistic.Player.Health health
scoreboard objectives add OverlyRealistic.Player.Hunger food
scoreboard objectives add OverlyRealistic.Player.UsedGoatHorn used:minecraft.goat_horn
scoreboard objectives add OverlyRealistic.Player.StrengthTimer dummy
scoreboard objectives add OverlyRealistic.Player.WalkOneCm custom:walk_one_cm
scoreboard objectives add OverlyRealistic.Player.SprintOneCm custom:sprint_one_cm
scoreboard objectives add OverlyRealistic.Player.UsedAllaySpawn used:allay_spawn_egg
scoreboard objectives add OverlyRealistic.Player.LastPlayedVersion dummy
scoreboard objectives add OverlyRealistic.Player.UsedFishingRod used:fishing_rod
scoreboard objectives add OverlyRealistic.Player.HasQuitGame custom:leave_game
scoreboard objectives add OverlyRealistic.Player.OrTriggers trigger
scoreboard objectives add OverlyRealistic.Player.AteCake custom:eat_cake_slice
scoreboard objectives add OverlyRealistic.Player.PlayedForSeconds_InGame dummy
scoreboard objectives add OverlyRealistic.Player.IsFeelingDull dummy
scoreboard objectives add OverlyRealistic.Player.Oxygen air
scoreboard objectives add OverlyRealistic.Player.StatusCategory dummy
scoreboard objectives add OverlyRealistic.Player.Status_IllnessType_1 dummy
scoreboard objectives add OverlyRealistic.Player.Status_IllnessType_2 dummy
scoreboard objectives add OverlyRealistic.Player.Status_IllnessType_3 dummy

# -> Player exhaustion counters
scoreboard objectives add OverlyRealistic.Player.WalkOneCm_Exhaustion custom:walk_one_cm
scoreboard objectives add OverlyRealistic.Player.BoatOneCm_Exhaustion custom:boat_one_cm
scoreboard objectives add OverlyRealistic.Player.HasBeenHealed_Exhaustion dummy
scoreboard objectives add OverlyRealistic.Player.Jumps_Exhaustion custom:jump
scoreboard objectives add OverlyRealistic.Player.ClimbLadder_Exhaustion dummy
scoreboard objectives add OverlyRealistic.Player.PlaceHeavyBlocks_Exhaustion dummy

# -> Player primary
scoreboard objectives add OverlyRealistic.Player.PlayerHeal dummy
scoreboard objectives add OverlyRealistic.Player.RealHeal dummy
scoreboard objectives add OverlyRealistic.Player.IsHealed dummy
scoreboard objectives add OverlyRealistic.Player.CurrentHealth dummy
scoreboard objectives add OverlyRealistic.Player.MaxHealth dummy
scoreboard objectives add OverlyRealistic.Player.LogStripTime dummy
scoreboard objectives add OverlyRealistic.Player.FootstepSide dummy
scoreboard objectives add OverlyRealistic.Player.UsingHuiTime_Old dummy
scoreboard objectives add OverlyRealistic.Player.UsingHuiTime_New dummy
scoreboard objectives add OverlyRealistic.Player.UsingSpearID dummy
scoreboard objectives add OverlyRealistic.Player.FoodIllnessAmount dummy
scoreboard objectives add OverlyRealistic.Player.AnvilForgingHammerHits dummy
scoreboard objectives add OverlyRealistic.Player.AxeStripUses dummy
scoreboard objectives add OverlyRealistic.Player.FlintFlakeUses dummy
scoreboard objectives add OverlyRealistic.Player.FireStarterUses dummy
scoreboard objectives add OverlyRealistic.Player.TemperatureModifier dummy
scoreboard objectives add OverlyRealistic.Player.LocalRayRange dummy
scoreboard objectives add OverlyRealistic.Player.LocalRayRangeMax dummy
scoreboard objectives add OverlyRealistic.Player.LocalHealthValue dummy
scoreboard objectives add OverlyRealistic.Player.IsNearCampfire dummy
scoreboard objectives add OverlyRealistic.Player.ItemWeight_Percentage_Value_0 dummy
scoreboard objectives add OverlyRealistic.Player.ItemWeight_Percentage_Value_1 dummy

# -> Predicate values
scoreboard objectives add OverlyRealistic.PredicateValue.IsSprinting dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsExposedToSkyLight dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsSneaking dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsInWater dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsFalling dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsSwimming dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsOnGround dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsOnFire dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsInLightLevel0 dummy
scoreboard objectives add OverlyRealistic.PredicateValue.RidingEntity dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsRiding_AnimalHasStamina dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsRiding_SpecialEntity dummy
scoreboard objectives add OverlyRealistic.PredicateValue.IsRiding_LargeShip dummy

# -> Animals
scoreboard objectives add OverlyRealistic.Animal.Stamina dummy
scoreboard objectives add OverlyRealistic.Animal.Exhaustion dummy
scoreboard objectives add OverlyRealistic.Animal.GeneSet dummy
scoreboard objectives add OverlyRealistic.Animal.ScaleSize dummy
scoreboard objectives add OverlyRealistic.Animal.MaxHealth dummy
scoreboard objectives add OverlyRealistic.Animal.CorpseHarvestMax dummy
scoreboard objectives add OverlyRealistic.Animal.SheepShearTime dummy
scoreboard objectives add OverlyRealistic.Animal.SheepShearTime_Max dummy
scoreboard objectives add OverlyRealistic.Animal.SheepColor dummy
scoreboard objectives add OverlyRealistic.Animal.AnimalCorpseLifetime dummy
scoreboard objectives add OverlyRealistic.Animal.PanicTime dummy
scoreboard objectives add OverlyRealistic.Animal.CheckNearbyPlayerForPanic dummy
scoreboard objectives add OverlyRealistic.Animal.RidingStamina dummy
scoreboard objectives add OverlyRealistic.Animal.RidingStaminaMax dummy
scoreboard objectives add OverlyRealistic.Animal.RidingTrainingLevel dummy

# -> World
scoreboard objectives add OverlyRealistic.World.CampfireFireTime dummy
scoreboard objectives add OverlyRealistic.World.CampfireFlammableTime dummy
scoreboard objectives add OverlyRealistic.World.PlayerNearbyTime dummy
scoreboard objectives add OverlyRealistic.World.CampfireRainCooldown dummy
scoreboard objectives add OverlyRealistic.World.StonecutterCutBlockTime dummy
scoreboard objectives add OverlyRealistic.World.BlockItemAmount dummy
scoreboard objectives add OverlyRealistic.World.BasketStirAmount dummy
scoreboard objectives add OverlyRealistic.World.BasketBoilTime dummy
scoreboard objectives add OverlyRealistic.World.BasketSweetBerryFermentationTime dummy
scoreboard objectives add OverlyRealistic.World.BasketLiquidType dummy
scoreboard objectives add OverlyRealistic.World.BasketAdditionalType dummy
scoreboard objectives add OverlyRealistic.World.BasketIngredient dummy
scoreboard objectives add OverlyRealistic.World.BasketMushroomAdditionalIngredientId_1 dummy
scoreboard objectives add OverlyRealistic.World.BasketMushroomAdditionalIngredientId_2 dummy
scoreboard objectives add OverlyRealistic.World.BasketMushroomAdditionalIngredientId_3 dummy
scoreboard objectives add OverlyRealistic.World.BasketBowlContentsId dummy
scoreboard objectives add OverlyRealistic.World.BlockFreezeTimeForSpoilage dummy
scoreboard objectives add OverlyRealistic.World.CropAdditionTimeCurrent dummy
scoreboard objectives add OverlyRealistic.World.CropAdditionTimeMax dummy
scoreboard objectives add OverlyRealistic.World.PreparationPlateCutLog dummy
scoreboard objectives add OverlyRealistic.World.PreparationPlateSharpenSharpenedStick dummy
scoreboard objectives add OverlyRealistic.World.PestleUsage dummy
scoreboard objectives add OverlyRealistic.World.CrucibleHeat dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldHeat dummy
scoreboard objectives add OverlyRealistic.World.FireStarterFireTime dummy
scoreboard objectives add OverlyRealistic.World.FireStarterCooldownTime dummy
scoreboard objectives add OverlyRealistic.World.WoodenRackScrapeGoryHideProgress dummy
scoreboard objectives add OverlyRealistic.World.PlayerCorpseDamage dummy
scoreboard objectives add OverlyRealistic.World.ComposterItemAdd_Sub dummy
scoreboard objectives add OverlyRealistic.World.ComposterItemAdd_Defining dummy

scoreboard objectives add OverlyRealistic.World.LargeShip_Velocity_Forward dummy
scoreboard objectives add OverlyRealistic.World.LargeShip_BreakValue dummy

scoreboard objectives add OverlyRealistic.World.ToolHandleModifier_MaxDurability dummy
scoreboard objectives add OverlyRealistic.World.ToolHandle_ToolProperty_CordageType dummy
scoreboard objectives add OverlyRealistic.World.ToolHandle_ToolProperty_AdhesiveType dummy
scoreboard objectives add OverlyRealistic.World.ToolHandle_ToolProperty_HandleType dummy

scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_Player_SelectedMethod dummy
scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_Player_UsageTime dummy
scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_Player_LastSelectedMethod dummy
scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_Player_ForgePercent dummy
scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_ForgeShapes dummy
scoreboard objectives add OverlyRealistic.World.HeatedWroughtIron_CurrentShape dummy

scoreboard objectives add OverlyRealistic.World.Chisel_Player_SelectedMethod dummy
scoreboard objectives add OverlyRealistic.World.Chisel_Player_UsageTime dummy
scoreboard objectives add OverlyRealistic.World.Chisel_Player_LastSelectedMethod dummy
scoreboard objectives add OverlyRealistic.World.Chisel_Player_ProcessPercent dummy
scoreboard objectives add OverlyRealistic.World.Chisel_ForgeShapes dummy
scoreboard objectives add OverlyRealistic.World.Chisel_CurrentShape dummy
scoreboard objectives add OverlyRealistic.World.Chisel_NeededShape dummy

scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_0 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_1 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_2 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_3 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_4 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_5 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_6 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_7 dummy
scoreboard objectives add OverlyRealistic.World.ClayMoldSquare_8 dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_ID dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_0 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_1 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_2 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_3 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_4 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_5 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ButtonProgress_6 dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_PlayerMenuScreenID dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_0 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_1 dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_2 dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_IronPlate dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_CopperPlate dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_IronChainMesh dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_Leather dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_Rope dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_Wool dummy

scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_GoatHorn dummy
scoreboard objectives add OverlyRealistic.World.LayFigure_ResourceRequirement_Feather dummy

scoreboard objectives add OverlyRealistic.World.ScribingTable_WritingPosition dummy
scoreboard objectives add OverlyRealistic.World.ScribingTable_SymbolPart_0 dummy
scoreboard objectives add OverlyRealistic.World.ScribingTable_SymbolPart_1 dummy
scoreboard objectives add OverlyRealistic.World.ScribingTable_SymbolPart_2 dummy
scoreboard objectives add OverlyRealistic.World.ScribingTable_SymbolPart_3 dummy

scoreboard objectives add OverlyRealistic.World.ShipSetup_ShipSectionParts dummy

scoreboard objectives add OverlyRealistic.World.BlockFiringTimeCurrent dummy
scoreboard objectives add OverlyRealistic.World.BlockFiringTimeMax dummy

scoreboard objectives add OverlyRealistic.World.Pots_Heat dummy
scoreboard objectives add OverlyRealistic.World.Pots_UserCookingSkill dummy


scoreboard objectives add OverlyRealistic.General.ArbitraryData dummy

scoreboard objectives add OverlyRealistic.General.LocalRaycastRange dummy
scoreboard objectives add OverlyRealistic.General.LocalRaycastRangeMax dummy

scoreboard players set #or.stonecutter_cut_time_log OverlyRealistic.General.ArbitraryData 12
scoreboard players set #or.stonecutter_cut_time_stripped_log OverlyRealistic.General.ArbitraryData 10
scoreboard players set #or.stonecutter_cut_time_stone OverlyRealistic.General.ArbitraryData 30
scoreboard players set #or.stonecutter_cut_time_diorite OverlyRealistic.General.ArbitraryData 25
scoreboard players set #or.stonecutter_cut_time_smooth_basalt OverlyRealistic.General.ArbitraryData 28

# -> Math
scoreboard players set #or.static_num_2 OverlyRealistic.General.ArbitraryData 2
scoreboard players set #or.static_num_3 OverlyRealistic.General.ArbitraryData 3
scoreboard players set #or.static_num_3 OverlyRealistic.General.ArbitraryData 4
scoreboard players set #or.static_num_10 OverlyRealistic.General.ArbitraryData 10
scoreboard players set #or.static_num_64 OverlyRealistic.General.ArbitraryData 64
scoreboard players set #or.static_num_100 OverlyRealistic.General.ArbitraryData 100
scoreboard players set #or.static_num_1000 OverlyRealistic.General.ArbitraryData 1000
scoreboard players set #or.static_num_10000 OverlyRealistic.General.ArbitraryData 10000

# -> Set new day temp modif
execute unless score #or.randomized_day_temperature_modifier OverlyRealistic.General.ArbitraryData matches -2147483648..2147483647 run \
    scoreboard players set #or.randomized_day_temperature_modifier OverlyRealistic.General.ArbitraryData 0

# --> Setting vars

# -> Settings holders
scoreboard objectives add OverlyRealistic.Settings.ArbitrarySetting dummy
scoreboard objectives add OverlyRealistic.Settings.Action trigger

# -> Do normal respawning
execute unless score #or.setting.do_normal_respawning OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.do_normal_respawning OverlyRealistic.Settings.ArbitrarySetting 0

# -> Load message
execute unless score #or.setting.load_message OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.load_message OverlyRealistic.Settings.ArbitrarySetting 0

# -> Max thirst
#execute unless score #or.setting.max_thirst OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.max_thirst OverlyRealistic.Settings.ArbitrarySetting 10

# -> Base regen time
execute unless score #or.setting.base_regen_time OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.base_regen_time OverlyRealistic.Settings.ArbitrarySetting 10

# -> Max ground markings time
execute unless score #or.setting.max_ground_markings_time OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.max_ground_markings_time OverlyRealistic.Settings.ArbitrarySetting 15

# -> Max animal corpse lifetime
execute unless score #or.setting.max_animal_corpse_lifetime OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.max_animal_corpse_lifetime OverlyRealistic.Settings.ArbitrarySetting 300

# -> Max player corpse lifetime
execute unless score #or.setting.max_player_corpse_lifetime OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.max_player_corpse_lifetime OverlyRealistic.Settings.ArbitrarySetting 600

# -> Max available player slots
execute unless score #or.setting.max_available_player_slots OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.max_available_player_slots OverlyRealistic.Settings.ArbitrarySetting 250

# -> Base available player slots
execute unless score #or.setting.base_available_player_slots OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.base_available_player_slots OverlyRealistic.Settings.ArbitrarySetting 10

# -> Should aggro animals spawn
execute unless score #or.setting.should_aggro_animals_spawn OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.should_aggro_animals_spawn OverlyRealistic.Settings.ArbitrarySetting 1

# -> Current player slots
execute unless score #or.setting.current_player_slots OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.current_player_slots OverlyRealistic.General.ArbitraryData 0

# -> Disable genetics
execute unless score #or.setting.disable_genetics OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.disable_genetics OverlyRealistic.Settings.ArbitrarySetting 0

# -> Nerfed aggro animals
execute unless score #or.setting.nerfed_aggro_animals OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.nerfed_aggro_animals OverlyRealistic.Settings.ArbitrarySetting 0

# -> Food spoiling
execute unless score #or.setting.food_spoiling OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.food_spoiling OverlyRealistic.Settings.ArbitrarySetting 1

# -> Body part damage
execute unless score #or.setting.body_part_damage OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.body_part_damage OverlyRealistic.Settings.ArbitrarySetting 1

# -> Footstep markings
execute unless score #or.setting.generate_foostep_markings OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.generate_foostep_markings OverlyRealistic.Settings.ArbitrarySetting 1

# -> Blood splatters
execute unless score #or.setting.generate_blood_splatters OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.generate_blood_splatters OverlyRealistic.Settings.ArbitrarySetting 1

# -> Block gravity
execute unless score #or.setting.block_gravity OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.block_gravity OverlyRealistic.Settings.ArbitrarySetting 1

# -> No XP
execute unless score #or.setting.no_xp OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.no_xp OverlyRealistic.Settings.ArbitrarySetting 1

# -> No monsters
execute unless score #or.setting.no_monsters OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.no_monsters OverlyRealistic.Settings.ArbitrarySetting 0

# -> Harder hunger
execute unless score #or.setting.harder_hunger OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.harder_hunger OverlyRealistic.Settings.ArbitrarySetting 1

# -> Spawn protection
execute unless score #or.setting.spawn_protection OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.spawn_protection OverlyRealistic.Settings.ArbitrarySetting 1

# -> Physical traumas
execute unless score #or.setting.physical_traumas OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.physical_traumas OverlyRealistic.Settings.ArbitrarySetting 1

# -> Restorable deaths
execute unless score #or.setting.restorable_deaths OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.restorable_deaths OverlyRealistic.Settings.ArbitrarySetting 0

# -> Respawn countdown
execute unless score #or.setting.respawn_countdown OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.respawn_countdown OverlyRealistic.Settings.ArbitrarySetting 0

# -> Respawn countdown time
execute unless score #or.setting.respawn_countdown_time OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.respawn_countdown_time OverlyRealistic.Settings.ArbitrarySetting 30

# -> Randomized respawning
execute unless score #or.setting.randomized_respawning OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.randomized_respawning OverlyRealistic.Settings.ArbitrarySetting 0

# -> Max cave-in blocks
execute unless score #or.setting.max_cave_in_blocks OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.max_cave_in_blocks OverlyRealistic.Settings.ArbitrarySetting 10

# -> Cave-ins
execute unless score #or.setting.cave_ins OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.cave_ins OverlyRealistic.Settings.ArbitrarySetting 1

# -> Output messages
execute unless score #or.setting.output_messages OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.output_messages OverlyRealistic.Settings.ArbitrarySetting 0

# -> Overlay messages
execute unless score #or.setting.overlay_messages OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.overlay_messages OverlyRealistic.Settings.ArbitrarySetting 1

# -> Wisdom XP multiplier
execute unless score #or.setting.wisdom_experience_multiplier OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.wisdom_experience_multiplier OverlyRealistic.Settings.ArbitrarySetting 2

# -> Player corpses
execute unless score #or.setting.player_corpses OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.player_corpses OverlyRealistic.Settings.ArbitrarySetting 1

# -> Loneliness
execute unless score #or.setting.loneliness OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.loneliness OverlyRealistic.Settings.ArbitrarySetting 1

# -> Cave-in sounds
execute unless score #or.setting.cavein_sounds OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.cavein_sounds OverlyRealistic.Settings.ArbitrarySetting 0

# -> Cave-in particles
execute unless score #or.setting.cavein_particles OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.cavein_particles OverlyRealistic.Settings.ArbitrarySetting 0

# -> Tips
execute unless score #or.setting.tips OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.tips OverlyRealistic.Settings.ArbitrarySetting 1

# -> Global init UI
execute unless score #or.setting.global_init_ui OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.global_init_ui OverlyRealistic.Settings.ArbitrarySetting 0

# -> Reduced debug info
execute unless score #or.setting.reduced_debug_info OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.reduced_debug_info OverlyRealistic.Settings.ArbitrarySetting 1

# -> Easier drop rates
execute unless score #or.setting.easier_drop_rates OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.easier_drop_rates OverlyRealistic.Settings.ArbitrarySetting 0

# -> Player pain
execute unless score #or.setting.player_pain OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.player_pain OverlyRealistic.Settings.ArbitrarySetting 1

# -> Harsher pain
execute unless score #or.setting.harsher_pain OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.harsher_pain OverlyRealistic.Settings.ArbitrarySetting 0

# -> Name data updates
execute unless score #or.setting.name_data_updates OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.name_data_updates OverlyRealistic.Settings.ArbitrarySetting 1

# -> Hidden tab names
execute unless score #or.setting.hide_tab_names OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.hide_tab_names OverlyRealistic.Settings.ArbitrarySetting 0

# -> Bloom blacksmith level
execute unless score #or.setting.bloom_blacksmith_level OverlyRealistic.Settings.ArbitrarySetting matches 0.. run \
    scoreboard players set #or.setting.bloom_blacksmith_level OverlyRealistic.Settings.ArbitrarySetting 2

# -> Ore quality
execute unless score #or.setting.ore_quality OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.ore_quality OverlyRealistic.Settings.ArbitrarySetting 1

# -> Vomiting
execute unless score #or.setting.vomiting OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.vomiting OverlyRealistic.Settings.ArbitrarySetting 1

# -> Illnesses
execute unless score #or.setting.illnesses OverlyRealistic.Settings.ArbitrarySetting matches ..0 run \
    scoreboard players set #or.setting.illnesses OverlyRealistic.Settings.ArbitrarySetting 1

# -> Implicit Cure Chance
execute unless score #or.setting.implicit_cure_chance OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.implicit_cure_chance OverlyRealistic.Settings.ArbitrarySetting 0



# -> [DEBUG] Instant bellows
execute unless score #or.setting.debug.instant_bellows OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.debug.instant_bellows OverlyRealistic.Settings.ArbitrarySetting 0

# -> [DEBUG] Instant hwi
execute unless score #or.setting.debug.instant_hwi OverlyRealistic.Settings.ArbitrarySetting matches 1.. run \
    scoreboard players set #or.setting.debug.instant_hwi OverlyRealistic.Settings.ArbitrarySetting 0



# -> If DoNormalRespawning is true then reset doImmediateRespawn
execute if score #or.setting.do_normal_respawning OverlyRealistic.Settings.ArbitrarySetting matches 1 run \
    gamerule immediate_respawn false

# ---> MP preset

execute unless score #or.world_has_been_played_in_multiplayer OverlyRealistic.General.ArbitraryData matches 1.. run \
    scoreboard players set #or.world_has_been_played_in_multiplayer OverlyRealistic.General.ArbitraryData 0

# ---> World times

# -> Set day count
execute unless score #or.WorldDay OverlyRealistic.General.ArbitraryData matches -2147483648..2147483647 run \
    scoreboard players set #or.WorldDay OverlyRealistic.General.ArbitraryData 0

# ---> Wisdom experience thresholds

scoreboard players set #or.wisdom_max_xp_level_0 OverlyRealistic.General.ArbitraryData 500
scoreboard players set #or.wisdom_max_xp_level_1 OverlyRealistic.General.ArbitraryData 1200
scoreboard players set #or.wisdom_max_xp_level_2 OverlyRealistic.General.ArbitraryData 1800
scoreboard players set #or.wisdom_max_xp_level_3 OverlyRealistic.General.ArbitraryData 2500
scoreboard players set #or.wisdom_max_xp_level_4 OverlyRealistic.General.ArbitraryData 3800

# ---> Wisdom level requirements

scoreboard players set #or.level_req_chisel_multiblock OverlyRealistic.General.ArbitraryData 2

# ---> Gamerules

# -> Forced gamerules
gamerule immediate_respawn true
#gamerule advance_time false
gamerule spawn_phantoms false
gamerule max_snow_accumulation_height 8
gamerule random_tick_speed 1
gamerule water_source_conversion false
gamerule natural_health_regeneration false
gamerule spawn_wandering_traders false
gamerule show_death_messages false
gamerule locator_bar false
gamerule players_nether_portal_creative_delay 999999999
gamerule players_nether_portal_default_delay 999999999
gamerule players_sleeping_percentage 110
gamerule spawn_patrols false
gamerule keep_inventory true

# -> Setting-based gamerule changes
execute unless score #or.setting.output_messages OverlyRealistic.Settings.ArbitrarySetting matches 1 run \
    gamerule send_command_feedback false
execute unless score #or.setting.reduced_debug_info OverlyRealistic.Settings.ArbitrarySetting matches 0 run \
    gamerule reduced_debug_info true

# ---> Teams

# -> Debug
team add overly_realistic.test
team modify overly_realistic.test prefix [{text:"\u0115\u0115\u0115\u0115\u0115\u0115\u0115",font:"overlyrealistic:hud/hud_misc",shadow_color:0}]
team modify overly_realistic.test nametagVisibility never

# -> Targeters
team add overly_realistic.targeters
team modify overly_realistic.targeters nametagVisibility never

# -> Targeters
team add overly_realistic.animal_corpses
team modify overly_realistic.animal_corpses nametagVisibility never

# -> Players
team add overly_realistic.players
team modify overly_realistic.players friendlyFire true
team modify overly_realistic.players nametagVisibility hideForOwnTeam
team modify overly_realistic.players seeFriendlyInvisibles false

team modify overly_realistic.players prefix ""
execute if score #or.setting.hide_tab_names OverlyRealistic.Settings.ArbitrarySetting matches 1 run \
    team modify overly_realistic.players prefix [{text:"\u0115\u0115\u0115\u0115\u0115\u0115\u0115",font:"overlyrealistic:hud/hud_misc",shadow_color:0}]

# -> Deity
team add overly_realistic.deity
team modify overly_realistic.deity collisionRule never
team modify overly_realistic.deity friendlyFire true
team modify overly_realistic.deity nametagVisibility hideForOtherTeams
team modify overly_realistic.deity seeFriendlyInvisibles true

team modify overly_realistic.deity prefix ""
execute if score #or.setting.hide_tab_names OverlyRealistic.Settings.ArbitrarySetting matches 1 run \
    team modify overly_realistic.deity prefix [{text:"\u0115\u0115\u0115\u0115\u0115\u0115\u0115",font:"overlyrealistic:hud/hud_misc",shadow_color:0}]

# -> Owned pets
team add overly_realistic.owned_pets
team modify overly_realistic.owned_pets nametagVisibility always
team modify overly_realistic.owned_pets friendlyFire true


# -> Detection
team add overly_realistic.heated_wrought_iron

# ---> Bossbars

# -> Compass ribons
bossbar add overlyrealistic:compass_ribon_empty {text:"\u0010",font:"overlyrealistic:hud/hud_compass_ribon"}
bossbar add overlyrealistic:compass_ribon_north {text:"\u0011",font:"overlyrealistic:hud/hud_compass_ribon"}
bossbar add overlyrealistic:compass_ribon_south {text:"\u0012",font:"overlyrealistic:hud/hud_compass_ribon"}
bossbar add overlyrealistic:compass_ribon_east {text:"\u0013",font:"overlyrealistic:hud/hud_compass_ribon"}
bossbar add overlyrealistic:compass_ribon_west {text:"\u0014",font:"overlyrealistic:hud/hud_compass_ribon"}

# ---> Storages

# -> Create version changes
function overly_realistic:main/update_changes/version_change_create with storage overly_realistic:general

# -> (@NOTE: TEMP)
scoreboard players set #or.temp_version OverlyRealistic.General.ArbitraryData 0
execute store result score #or.temp_version OverlyRealistic.General.ArbitraryData run \
    data get storage overly_realistic:general version_id
execute if score #or.temp_version OverlyRealistic.General.ArbitraryData matches 1..14 run \
    schedule function overly_realistic:general/temp 3s
execute if score #or.temp_version OverlyRealistic.General.ArbitraryData matches 0 \
    at @p run \
        function overly_realistic:main/world_load_actions/world_load_first_time
execute if score #or.temp_version OverlyRealistic.General.ArbitraryData matches 40..45 run \
    schedule function overly_realistic:main/debug/send_warning_0 15s
execute if score #or.temp_version OverlyRealistic.General.ArbitraryData matches 40..46 run \
    schedule function overly_realistic:main/debug/send_warning_1 20s

# -> Set version
data merge storage overly_realistic:general \
    {\
        version_string: "v3.12.1", \
        version_id: 50 \
    }

# -> ScoreFixer
data merge storage score_fixer:objectives \
    {\
        List:\
            {\
                Name:"OverlyRealistic.Player.Stats.Stamina",\
                Name:"OverlyRealistic.Player.Stats.MaxStamina",\
                Name:"OverlyRealistic.Player.Stats.Thirst",\
                Name:"OverlyRealistic.Player.Stats.IllnessChance",\
                Name:"OverlyRealistic.Player.Stats.Status",\
                Name:"OverlyRealistic.Player.Stats.Hygiene",\
                Name:"OverlyRealistic.Player.Stats.MentalHealth",\
                Name:"OverlyRealistic.Player.Stats.ClothesDirtyness",\
                Name:"OverlyRealistic.Player.Stats.Strength",\
                Name:"OverlyRealistic.Player.Stats.Intelligence",\
                Name:"OverlyRealistic.Player.Stats.Dizzyness",\
                Name:"OverlyRealistic.Player.Stats.Carbs",\
                Name:"OverlyRealistic.Player.Stats.Fats",\
                Name:"OverlyRealistic.Player.Stats.Proteins",\
                Name:"OverlyRealistic.Player.Stats.Speed",\
                Name:"OverlyRealistic.Player.Stats.VitaminC",\
                Name:"OverlyRealistic.Player.Stats.Vitality",\
                Name:"OverlyRealistic.Player.Stats.Loneliness",\
                \
                Name:"OverlyRealistic.Player.Status_IllnessType_1",\
                Name:"OverlyRealistic.Player.Status_IllnessType_2",\
                Name:"OverlyRealistic.Player.Status_IllnessType_3",\
                \
                Name:"OverlyRealistic.Player.Genetics.EntityBlockInteractionRange",\
                Name:"OverlyRealistic.Player.Genetics.MovementSpeed",\
                Name:"OverlyRealistic.Player.Genetics.AttackDamage",\
                Name:"OverlyRealistic.Player.Genetics.AttackSpeed",\
                Name:"OverlyRealistic.Player.Genetics.BlockBreakSpeed",\
                Name:"OverlyRealistic.Player.Genetics.SneakingSpeed",\
                Name:"OverlyRealistic.Player.Genetics.Scale",\
                Name:"OverlyRealistic.Player.Genetics.MaxHealth",\
                \
                Name:"OverlyRealistic.Player.WisdomStats.Equitation",\
                Name:"OverlyRealistic.Player.WisdomStats.Equitation_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Equitation_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Fishing",\
                Name:"OverlyRealistic.Player.WisdomStats.Fishing_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Fishing_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Mining",\
                Name:"OverlyRealistic.Player.WisdomStats.Mining_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Mining_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Combat",\
                Name:"OverlyRealistic.Player.WisdomStats.Combat_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Combat_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Husbandry",\
                Name:"OverlyRealistic.Player.WisdomStats.Husbandry_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Husbandry_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Building",\
                Name:"OverlyRealistic.Player.WisdomStats.Building_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Building_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Archery",\
                Name:"OverlyRealistic.Player.WisdomStats.Archery_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Archery_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Cookery",\
                Name:"OverlyRealistic.Player.WisdomStats.Cookery_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Cookery_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Blacksmithing",\
                Name:"OverlyRealistic.Player.WisdomStats.Blacksmithing_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Blacksmithing_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Healthcare",\
                Name:"OverlyRealistic.Player.WisdomStats.Healthcare_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Healthcare_XP_Max",\
                Name:"OverlyRealistic.Player.WisdomStats.Scribing",\
                Name:"OverlyRealistic.Player.WisdomStats.Scribing_XP",\
                Name:"OverlyRealistic.Player.WisdomStats.Scribing_XP_Max",\
                \
                Name:"OverlyRealistic.Player.UseItem_CanineSteak",\
                \
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_DynamicSleep",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_AdvancementsHint",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_InflictedIllness",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_CrudeToolHandle",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_LowNutrients",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_LowHydration",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_LowQualityOreFlint",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_PlayerBodyManipulation",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_ChopLogsIntoPlanks",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_AcquireWaterskinDirtyWater",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_AcquireWaterskinSeaWater",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_NoCharcoalClumpIronFragmentsHeat",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_PlacePreparationPlate",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_Animals",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_BreakBloomLowBlacksmithingLevel",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_HeatIronFragmentsNoDeepslate",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_Vomit",\
                Name:"OverlyRealistic.Player.Tips.HasReceivedTip_GrindHighQualOre",\
                \
                Name:"OverlyRealistic.Player.ExtremeTemperatureTimer",\
                Name:"OverlyRealistic.Player.SanityCheckTimer",\
                Name:"OverlyRealistic.Player.LonelinessCheckTimer",\
                Name:"OverlyRealistic.Player.LowSanityTimer",\
                Name:"OverlyRealistic.Player.ThirstTimer",\
                Name:"OverlyRealistic.Player.RegenTimer",\
                Name:"OverlyRealistic.Player.IllnessTimer",\
                Name:"OverlyRealistic.Player.MaxIllnessTimer",\
                Name:"OverlyRealistic.Player.BleedingTimer",\
                Name:"OverlyRealistic.Player.FallTime",\
                Name:"OverlyRealistic.Player.WetTime",\
                Name:"OverlyRealistic.Player.UnderwaterTime",\
                Name:"OverlyRealistic.Player.IllnessCooldownTime",\
                Name:"OverlyRealistic.Player.DeathTimer",\
                Name:"OverlyRealistic.Player.DeathTimer_Seconds",\
                Name:"OverlyRealistic.Player.DeathTimer_Minutes",\
                Name:"OverlyRealistic.Player.DeathTimer_Ticks",\
                Name:"OverlyRealistic.Player.HelpTimer",\
                Name:"OverlyRealistic.Player.HelpTimer_Seconds",\
                Name:"OverlyRealistic.Player.HelpTimer_Minutes",\
                Name:"OverlyRealistic.Player.HelpTimer_Ticks",\
                Name:"OverlyRealistic.Player.NoThirstTimer",\
                \
                Name:"OverlyRealistic.Player.Deaths",\
                Name:"OverlyRealistic.Player.DeathID",\
                Name:"OverlyRealistic.Player.Jumps",\
                Name:"OverlyRealistic.Player.ExhaustionCounter",\
                Name:"OverlyRealistic.Player.StrengthTimer",\
                Name:"OverlyRealistic.Player.LastPlayedVersion",\
                Name:"OverlyRealistic.Player.HasQuitGame",\
                Name:"OverlyRealistic.Player.OrTriggers",\
                Name:"OverlyRealistic.Player.PlayedForSeconds_InGame",\
                \
                Name:"OverlyRealistic.Player.UsingSpearID",\
                Name:"OverlyRealistic.Player.FoodIllnessAmount",\
                Name:"OverlyRealistic.Player.TemperatureModifier",\
                Name:"OverlyRealistic.Player.IsNearCampfire"\
            }\
    }

# -> Spawn attribute modifiers
data modify storage overly_realistic:player_attributes spawn_modifiers set value \
    {\
        entity_block_interaction_range:\
            [\
                0.75, \
                0.5, \
                0.45, \
                0.35, \
                0, \
                -0.009, \
                -0.02, \
                -0.023, \
                -0.028, \
                -0.031, \
            ],\
        \
        movement_speed:\
            [\
                0.0025, \
                0.00015, \
                0.000045, \
                0.00003, \
                0, \
                -0.002, \
                -0.0075, \
                -0.011, \
                -0.0135, \
                -0.02, \
            ],\
        \
        attack_damage:\
            [\
                1.25, \
                0.78, \
                0.5, \
                0.25, \
                0.1, \
                0, \
                -0.1, \
                -0.125, \
                -0.15, \
                -0.2, \
            ],\
        attack_speed:\
            [\
                0.75, \
                0.625, \
                0.5, \
                0.25, \
                0, \
                -0.025, \
                -0.05, \
                -0.1, \
                -0.15, \
                -0.2, \
            ],\
        block_break_speed:\
            [\
                -0.002, \
                -0.0025, \
                -0.003, \
                -0.0035, \
                -0.004, \
                -0.005, \
                -0.008, \
                -0.01, \
                -0.0115, \
                -0.014, \
            ],\
        sneaking_speed:\
            [\
                0.1, \
                0, \
                0, \
                0, \
                0, \
                -0.02, \
                -0.02, \
                -0.035, \
                -0.05, \
                -0.07, \
            ],\
        scale:\
            [\
                0.5, \
                0.35, \
                0.2, \
                0.1, \
                0, \
                -0.05, \
                -0.1, \
                -0.2, \
                -0.23, \
                -0.5, \
            ],\
        max_health:\
            [\
                5.0, \
                4.0, \
                2.0, \
                1.0, \
                0, \
                0, \
                0, \
                0, \
                0, \
                -1.0, \
            ]\
    }

# -> Splash texts
data modify storage overly_realistic:texts splash_texts set value \
    [\
        "Thanks, Achim2393!",\
        "Thanks, Cowmoonist!",\
        "Thanks, SilicatYT!",\
        "Thanks, Joyfuul!",\
        "Thanks, Corrine!",\
        "Thanks, Fever!",\
        "Made by Wilozyx!",\
        "Also check out William Wythers!",\
        "Also check out Classic Mechanics!",\
        "Also check out Roguecraft!",\
        "Also check out Untitled Rocket Project!",\
        "Realism!",\
        "Don't look directly at the bugs!",\
        "Smithed-approved!",\
        "True to life!",\
        "Thanks, YOU!",\
        "Nearly-Realistic!",\
        "Peanuts-free!",\
        "Made with duct tape and gum!",\
        "Coolest in the block!",\
        "Does not contain dragons!",\
        "The cake is a lie!",\
        "Impressive!",\
        "Over 1,000,000,000 files!",\
        "Made locally!",\
        "Turn tables!",\
        "Waiter your tips!",\
        "Multiplayer-compatible!",\
        "Tropical!",\
        "Huge tracts of land!",\
        "Hydrate yourself!",\
        "Dragonless!",\
        "Endless!",\
        "Retro History!",\
        "Careful out there!",\
        "Careful!",\
        "You're in!",\
        "Tread lightly!",\
        "Holds value!",\
        "Give it all you got!",\
        "Jukeboxhead!",\
        "Coolio!",\
        "Beware of your surroundings!",\
        "Made in Sumer!",\
        "Made in Brazil!",\
        "Made with love!",\
        "Made in Ur!",\
        "Has easter eggs!",\
        "Player is you!",\
        "Diamonds!",\
        "Contains wisdom!",\
        "Featured in Smithed!",\
        "Still in beta!",\
        "Subscribe to Wilozyx!",\
        "Now with less egg saplings!",\
        "No fishermen in my sight!",\
        "Absolute realism!",\
        "Multiplayer-compatible!",\
        "Report any bugs!"\
    ]


# -> Animal genetics attribute modifiers (@NOTE: UNUSED)
data modify storage overly_realistic:animal_attributes animal_genetics_modifiers set value \
    {\
        scale:\
            [\
                0.45, \
                0.35, \
                0.25, \
                0.2, \
                0.15, \
                0.1, \
                0, \
                -0.05, \
                -0.1, \
                -0.15, \
            ],\
        \
    }

# -> Load data 1
schedule function overly_realistic:main/data/load_data_1 1t

# -> Function tag
function #overly_realistic:internals/data_0_end

# -> Load message
execute if score #or.setting.load_message OverlyRealistic.Settings.ArbitrarySetting matches 1 run \
    tellraw @a [{text:"★ Overly-Realistic → Loaded load_data_0! [1/3]",color:"green"}]




data modify storage overly_realistic:animal_attributes animal_genetics_modifiers set value \
    {\
        scale:\
            [\
                0.7, \
                0.6, \
                0.58, \
                0.5, \
                0.45, \
                0.35, \
                0.3, \
                0.25, \
                0.225, \
                0.2, \
                0.18, \
                0.15, \
                0.125, \
                0.1, \
                0.05, \
                0, \
                -0.05, \
                -0.1, \
                -0.15, \
                -0.2 \
            ],\
        \
    }
