SmileycorpMC / The-Hordes

Minecraft mod which adds zombie infection and mob invasions
GNU Lesser General Public License v2.1
3 stars 7 forks source link

Problems when using on a forge 1.20.1 server #186

Closed Kuro1131 closed 2 weeks ago

Kuro1131 commented 2 weeks ago

Hey @SmileycorpMC, I love the mod very much but I have some problems and tried to fixed them for sometime but no success. I'm using with All The Mod 9 mod pack on a server. I have tried /horde reset and remove horde config but the problems still exist. The problems I encounter :

occultism.json

[
    {
        "entity": "occultism:afrit_wild",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    },
    {
        "entity": "occultism:wild_hunt_skeleton",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    },
    {
        "entity": "occultism:wild_hunt_wither_skeleton",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    }
]

thermal.json

[
    {
        "entity": "thermal:basalz",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    },
    {
        "entity": "thermal:blitz",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    },
    {
        "entity": "thermal:blizz",
        "weight": 7,
        "first_day": 0,
        "last_day": 0
    }
]

The config work on single player world but not work on the server. But on server when I start a manual horde using command the horde spawn the correct mob of the table selected

["Horde Event"]
    #Set to false to completely disable the horde event and anything relating to it.
    enableHordeEvent = true
    #Set to true to disable natural horde spawns (hordes can only be spawned with commands).
    hordesCommandOnly = false
    #Amount of mobs to spawn per wave.
    spawnAmount = 10
    #Multiplier by which the spawn amount increases by each time the event naturally spawns. (Set to 1 to disable scaling.)
    hordeSpawnMultiplier = 1.05
    #Time in ticks the event lasts for
    hordeSpawnDuration = 8000
    #Time in ticks between spawns for the horde spawn event.
    hordeSpawnInterval = 2000
    #What time of day does the horde event start? eg 18000 is midnight with default day length.
    hordeStartTime = 18000
    #Amount of days between horde spawns.
    hordeSpawnDays = 1
    #Amount of days a horde event can be randomly delayed by
    hordeSpawnVariation = 0
    #Max cap for the number of entities that can exist from the horde at once.
    hordeSpawnMax = 60
    #Length of a day (use only if you have another day that changes the length of the day/night cycle) Default is 24000
    dayLength = 24000
    #How many ticks does the horde pathing ai take before recalculating? (Increase this if you are having server slowdown during horde events.)
    hordePathingInterval = 10
    #How fast do horde mobs move towards their tracked player?
    hordeEntitySpeed = 1.0
    #Set to true to enable the horde spawning on the first day. (Game day 0)
    spawnFirstDay = false
    #Set to false to disable the use of beds during a horde event.
    canSleepDuringHorde = false
    #How much should the size of each horde scale down by when multiple players are near each other?
    hordeMultiplayerScaling = 0.8
    #Do the daylight cycle (and active horde events get paused while there are no players online.).
    pauseEventServer = true
    #Are horde events tracked by player play time instead of world time.
    hordeEventByPlayerTime = false
    #How many ticks after a hordes scheduled time can it start?
    hordeStartBuffer = 1200
    #How many attempts should horde events make to avoid spawning mobs in light areas or outside their spawn type.
    hordeSpawnChecks = 25

[Infection]
    #Set to false to completely disable mob infection and anything related to it.
    enableMobInfection = false
    #Can villagers be infected.
    infectVillagers = true
    #Chance for a villager to get infected, a value of 1 or higher makes it guaranteed
    villagerInfectChance = 0.85
    #Can players be infected.
    infectPlayers = true
    #Whether later levels of infected should slightly slow movement speed? 
    infectSlowness = true
    #Whether later levels of infected should deplete hunger quicker? 
    infectHunger = true
    #Chance for a player to get infected, a value of 1 or higher makes it guaranteed
    playerInfectChance = 0.75
    #How long do each of the 4 effect phases last for before the next phase is activated?
    ticksForEffectStage = 6000
    #Do players who die to infection spawn a zombie?
    infectionSpawnsZombiePlayers = true
    #Do entities on the infectionEntities list automatically target entities on the infectionConversionList
    infectionEntitiesAggroConversions = true
    #What factor should the infection potion effect timer be multiplied by for each cured infection? (Resets on death, set to 1 to disable scaling)
    effectStageTickReduction = 0.95

[Misc]
    #Whether zombies and drowned burn in sunlight.
    zombiesBurn = false
    #Whether skeletons and strays burn in sunlight.
    skeletonsBurn = false
    #Whether zombie villagers have vanilla curing mechanics or not
    zombieVillagersCanBeCured = false
    #Whether piglins and hoglins automatically convert to zombies in the overworld
    piglinsHoglinsConvert = false
    #Whether zombie horses are aggressive or not.
    aggressiveZombieHorses = true
    #Whether zombie horses burn in sunlight.
    zombieHorsesBurn = false
    #Whether skeleton horses burn in sunlight.
    skeletonHorsesBurn = false
    #Whether unmounted horses are scared of zombies.
    zombiesScareHorses = true
    #Whether zombie piglins are hostile by default
    zombiePiglinsHostile = true
    #Whether piglins kill zombie mobs
    piglinsHuntZombies = true
    #Whether piglins use cures they find and keep in their inventory to heal infection.
    piglinsCureThemself = true
    #Whether illagers kill zombie mobs
    illagersHuntZombies = true
    #Whether zoglins are agressive towards other undead mobs
    zoglinsAttackUndead = false
    #Whether zoglins are agressive towards non-undead monsters
    zoglinsAttackMobs = true

    [Misc."Zombie Players"]
        #Whether to use zombie players as graves all the time. (Even if infection is disabled)
        zombieGraves = false
        #Whether to spawn drowned players when a player dies underwater instead of a zombie player. (Whether the zombie is spawned from infection or zombieGraves being true)
        drownedPlayers = true
        #Whether to spawn husk players when a player dies in a desert biome instead of a zombie player. (Whether the zombie is spawned from infection or zombieGraves being true)
        huskPlayers = true
        #Whether zombie players, drowned players and husk players should be immune to fire damage
        zombiePlayersFireImmune = false
        #Whether zombie players and drowned players burn in sunlight.
        zombiePlayersBurn = false
        #Whether zombie players, drowned players and husk players are immune to all damage from non player sources.
        zombiePlayersOnlyHurtByPlayers = false
        #Whether zombie players, drowned players and husk players store items dropped by the player that spawned them.
        zombiePlayersStoreItems = true
        #Do zombie players despawn in peaceful mode?
        zombiePlayersDespawnPeaceful = false
Kuro1131 commented 2 weeks ago

After remove the config to let mod regenerate file and digging to the log it look like the custom script doesn't loaded when start server but only load the default horde:default script. I don't see what wrong with the custom script

Kuro1131 commented 2 weeks ago

It turn out to be missing a comma after pasted spawntable value to the config on server side. I think it would be better if horde.log could print out if there is a error file.

Kuro1131 commented 2 weeks ago

For the max spawn it seem like hordeSpawnMultiplier = 1.05 is the culprit. Thing turn back to set spawnAmount = 10 after change the value to 1.0