
class GameIni:
    @classmethod
    def from_data(cls, service_id: int, **kwargs):
        return cls(service_id, **{k.lower().replace('-', '_'): v for k, v in kwargs.items()})

    def __init__(
            self,
            service_id: int,
            dinospawnweightmultipliers: str = None,
            overrideengramentries: str = None,
            levelexperiencerampoverrides: str = None,
            overrideplayerlevelengrampoints: str = None,
            tameddinoclassdamagemultipliers: str = None,
            tameddinoclassresistancemultipliers: str = None,
            excludeitemindices: str = None,
            harvestresourceitemamountclassmultipliers: str = None,
            overridenamedengramentries: str = None,
            bonlyallowspecifiedengrams: str = None,
            globalspoilingtimemultiplier: str = None,
            globalitemdecompositiontimemultiplier: str = None,
            globalcorpsedecompositiontimemultiplier: str = None,
            overridemaxexperiencepointsplayer: str = None,
            overridemaxexperiencepointsdino: str = None,
            pvpzonestructuredamagemultiplier: str = None,
            bpvedisablefriendlyfire: str = None,
            resourcenoreplenishradiusplayers: str = None,
            resourcenoreplenishradiusstructures: str = None,
            bautopvetimer: str = None,
            bautopveusesystemtime: str = None,
            autopvestarttimeseconds: str = None,
            autopvestoptimeseconds: str = None,
            layeggintervalmultiplier: str = None,
            dinoturretdamagemultiplier: str = None,
            bdisablelootcrates: str = None,
            dinoharvestingdamagemultiplier: str = None,
            bdisablefriendlyfire: str = None,
            customrecipeeffectivenessmultiplier: str = None,
            customrecipeskillmultiplier: str = None,
            matingintervalmultiplier: str = None,
            egghatchspeedmultiplier: str = None,
            babymaturespeedmultiplier: str = None,
            bpassivedefensesdamageriderlessdinos: str = None,
            killxpmultiplier: str = None,
            harvestxpmultiplier: str = None,
            craftxpmultiplier: str = None,
            genericxpmultiplier: str = None,
            specialxpmultiplier: str = None,
            pgmapname: str = None,
            pgterrainpropertiesstring: str = None,
            configoverridesupplycrateitems: str = None,
            bdisabledinoriding: str = None,
            bdisabledinotaming: str = None,
            busecorpselocator: str = None,
            bdisablestructureplacementcollision: str = None,
            fastdecayinterval: str = None,
            busesingleplayersettings: str = None,
            ballowunlimitedrespecs: str = None,
            supplycratelootqualitymultiplier: str = None,
            fishinglootqualitymultiplier: str = None,
            perlevelstatsmultiplier: str = None,
            babycuddleintervalmultiplier: str = None,
            babycuddlegraceperiodmultiplier: str = None,
            babycuddleloseimprintqualityspeedmultiplier: str = None,
            babyimprintingstatscalemultiplier: str = None,
            playerharvestingdamagemultiplier: str = None,
            cropgrowthspeedmultiplier: str = None,
            babyfoodconsumptionspeedmultiplier: str = None,
            dinoclassdamagemultipliers: str = None,
            bpveallowtribewar: str = None,
            bpveallowtribewarcancel: str = None,
            cropdecayspeedmultiplier: str = None,
            hairgrowthspeedmultiplier: str = None,
            fuelconsumptionintervalmultiplier: str = None,
            kickidleplayersperiod: str = None,
            maxnumberofplayersintribe: str = None,
            usecorpselifespanmultiplier: str = None,
            globalpoweredbatterydurabilitydecreasepersecond: str = None,
            blimitturretsinrange: str = None,
            limitturretsrange: str = None,
            limitturretsnum: str = None,
            bhardlimitturretsinrange: str = None,
            bshowcreativemode: str = None,
            preventofflinepvpconnectioninvincibleinterval: str = None,
            tameddinocharacterfooddrainmultiplier: str = None,
            wilddinocharacterfooddrainmultiplier: str = None,
            wilddinotorpordrainmultiplier: str = None,
            passivetameintervalmultiplier: str = None,
            tameddinotorpordrainmultiplier: str = None,
            bignorestructurespreventionvolumes: str = None,
            bgenesisusestructurespreventionvolumes: str = None,
            bdisablegenesismissions: str = None,
            babyimprintamountmultiplier: str = None,
            hexagonrewardmultiplier: str = None,
            ballowflyerspeedleveling: str = None,
            preventtransferforclassnames: str = None,
            **kwargs
    ):
        self.dinospawnweightmultipliers = dinospawnweightmultipliers
        self.overrideengramentries = overrideengramentries
        self.levelexperiencerampoverrides = levelexperiencerampoverrides
        self.overrideplayerlevelengrampoints = overrideplayerlevelengrampoints
        self.tameddinoclassdamagemultipliers = tameddinoclassdamagemultipliers
        self.tameddinoclassresistancemultipliers = tameddinoclassresistancemultipliers
        self.excludeitemindices = excludeitemindices
        self.harvestresourceitemamountclassmultipliers = harvestresourceitemamountclassmultipliers
        self.overridenamedengramentries = overridenamedengramentries
        self.bonlyallowspecifiedengrams = bonlyallowspecifiedengrams
        self.globalspoilingtimemultiplier = globalspoilingtimemultiplier
        self.globalitemdecompositiontimemultiplier = globalitemdecompositiontimemultiplier
        self.globalcorpsedecompositiontimemultiplier = globalcorpsedecompositiontimemultiplier
        self.overridemaxexperiencepointsplayer = overridemaxexperiencepointsplayer
        self.overridemaxexperiencepointsdino = overridemaxexperiencepointsdino
        self.pvpzonestructuredamagemultiplier = pvpzonestructuredamagemultiplier
        self.bpvedisablefriendlyfire = bpvedisablefriendlyfire
        self.resourcenoreplenishradiusplayers = resourcenoreplenishradiusplayers
        self.resourcenoreplenishradiusstructures = resourcenoreplenishradiusstructures
        self.bautopvetimer = bautopvetimer
        self.bautopveusesystemtime = bautopveusesystemtime
        self.autopvestarttimeseconds = autopvestarttimeseconds
        self.autopvestoptimeseconds = autopvestoptimeseconds
        self.layeggintervalmultiplier = layeggintervalmultiplier
        self.dinoturretdamagemultiplier = dinoturretdamagemultiplier
        self.bdisablelootcrates = bdisablelootcrates
        self.dinoharvestingdamagemultiplier = dinoharvestingdamagemultiplier
        self.bdisablefriendlyfire = bdisablefriendlyfire
        self.customrecipeeffectivenessmultiplier = customrecipeeffectivenessmultiplier
        self.customrecipeskillmultiplier = customrecipeskillmultiplier
        self.matingintervalmultiplier = matingintervalmultiplier
        self.egghatchspeedmultiplier = egghatchspeedmultiplier
        self.babymaturespeedmultiplier = babymaturespeedmultiplier
        self.bpassivedefensesdamageriderlessdinos = bpassivedefensesdamageriderlessdinos
        self.killxpmultiplier = killxpmultiplier
        self.harvestxpmultiplier = harvestxpmultiplier
        self.craftxpmultiplier = craftxpmultiplier
        self.genericxpmultiplier = genericxpmultiplier
        self.specialxpmultiplier = specialxpmultiplier
        self.pgmapname = pgmapname
        self.pgterrainpropertiesstring = pgterrainpropertiesstring
        self.configoverridesupplycrateitems = configoverridesupplycrateitems
        self.bdisabledinoriding = bdisabledinoriding
        self.bdisabledinotaming = bdisabledinotaming
        self.busecorpselocator = busecorpselocator
        self.bdisablestructureplacementcollision = bdisablestructureplacementcollision
        self.fastdecayinterval = fastdecayinterval
        self.busesingleplayersettings = busesingleplayersettings
        self.ballowunlimitedrespecs = ballowunlimitedrespecs
        self.supplycratelootqualitymultiplier = supplycratelootqualitymultiplier
        self.fishinglootqualitymultiplier = fishinglootqualitymultiplier
        self.perlevelstatsmultiplier = perlevelstatsmultiplier
        self.babycuddleintervalmultiplier = babycuddleintervalmultiplier
        self.babycuddlegraceperiodmultiplier = babycuddlegraceperiodmultiplier
        self.babycuddleloseimprintqualityspeedmultiplier = babycuddleloseimprintqualityspeedmultiplier
        self.babyimprintingstatscalemultiplier = babyimprintingstatscalemultiplier
        self.playerharvestingdamagemultiplier = playerharvestingdamagemultiplier
        self.cropgrowthspeedmultiplier = cropgrowthspeedmultiplier
        self.babyfoodconsumptionspeedmultiplier = babyfoodconsumptionspeedmultiplier
        self.dinoclassdamagemultipliers = dinoclassdamagemultipliers
        self.bpveallowtribewar = bpveallowtribewar
        self.bpveallowtribewarcancel = bpveallowtribewarcancel
        self.cropdecayspeedmultiplier = cropdecayspeedmultiplier
        self.hairgrowthspeedmultiplier = hairgrowthspeedmultiplier
        self.fuelconsumptionintervalmultiplier = fuelconsumptionintervalmultiplier
        self.kickidleplayersperiod = kickidleplayersperiod
        self.maxnumberofplayersintribe = maxnumberofplayersintribe
        self.usecorpselifespanmultiplier = usecorpselifespanmultiplier
        self.globalpoweredbatterydurabilitydecreasepersecond = globalpoweredbatterydurabilitydecreasepersecond
        self.blimitturretsinrange = blimitturretsinrange
        self.limitturretsrange = limitturretsrange
        self.limitturretsnum = limitturretsnum
        self.bhardlimitturretsinrange = bhardlimitturretsinrange
        self.bshowcreativemode = bshowcreativemode
        self.preventofflinepvpconnectioninvincibleinterval = preventofflinepvpconnectioninvincibleinterval
        self.tameddinocharacterfooddrainmultiplier = tameddinocharacterfooddrainmultiplier
        self.wilddinocharacterfooddrainmultiplier = wilddinocharacterfooddrainmultiplier
        self.wilddinotorpordrainmultiplier = wilddinotorpordrainmultiplier
        self.passivetameintervalmultiplier = passivetameintervalmultiplier
        self.tameddinotorpordrainmultiplier = tameddinotorpordrainmultiplier
        self.bignorestructurespreventionvolumes = bignorestructurespreventionvolumes
        self.bgenesisusestructurespreventionvolumes = bgenesisusestructurespreventionvolumes
        self.bdisablegenesismissions = bdisablegenesismissions
        self.babyimprintamountmultiplier = babyimprintamountmultiplier
        self.hexagonrewardmultiplier = hexagonrewardmultiplier
        self.ballowflyerspeedleveling = ballowflyerspeedleveling
        self.preventtransferforclassnames = preventtransferforclassnames
        self.service_id = service_id
        for k, v in kwargs.items():
            self.__dict__[k] = v

    def __repr__(self):
        params = [f"{k}={repr(v)}" for k, v in self.__dict__.items()]
        return f"<{self.__class__.__name__}({', '.join(params)})>"

