1
2[generation]
3 # If true, will reset some subbiomes when spawn checks apply there
4 refreshSubbiomes = false
5 # Structures listed here will have the relevant subbiome applied for if minecraft thinks that the block is inside the structure.
6 structure_subbiomes = ["{\"struct\":\"pokecube:village\",\"subbiome\":\"village\"}", "{\"struct\":\"Village\",\"subbiome\":\"village\"}", "{\"struct\":\"minecraft:village\",\"subbiome\":\"village\"}", "{\"struct\":\"Monument\",\"subbiome\":\"monument\"}", "{\"struct\":\"minecraft:monument\",\"subbiome\":\"monument\"}"]
7 # If true, any structure not in structure_subbiomes will apply as ruins, unless something else sets it first (like the structure's spawn settings)
8 structs_default_ruins = true
9 # Can be used to adjust rate of berries on trees growing, lower values result in faster berry growth
10 leafBerryTicks = 75
11 # Extra json files to check in pokecube:structures/ in data for worldgen rules, do not include .json or path in the name in this list!
12 extraWorldgenDatabases = []
13 # If true, fossil ore will be added to certain biomes
14 generateFossils = true
15 # If true, will allow the generic berry item to be added to pokemob drop pools if no other berries are added
16 autoAddNullBerries = false
17 # If true, will also do a blanket "plant material" check for cuttable and edible plants, rather than relying entirely on the block tags
18 autoPopulateLists = true
19 # Scaling factor on blast yield of explosive meteors
20 meteorScale = 1.0
21 # if true, random explosive meteors will fall, though only one every meteorDistance
22 meteors = true
23 # Minimum distance between explosive meteors
24 meteorDistance = 3000
25 # Pokecube structures will not spawn in these dimensions, unless specifically stated in the structure's spawn rules
26 softWorldgenDimBlacklist = ["pokecube:secret_base", "pokecube_legends:distorted_world", "pokecube_legends:ultraspace", "compactmachines:compact_world"]
27 # This is what the value in the structure data block will be replaced with to generate the professor
28 professor_override = "pokecube:mob:professor{\"preset\":\"spawn_professor\"}"
29 # If false, subbiomes will not auto-detect, meaning they need to be placed manually, useful for adventure maps, etc
30 autoDetectSubbiomes = true
31 # If true, will attempt to ensure there is a pokecenter at spawn, this can still fail however depending on worldgen specifics
32 doSpawnBuilding = true
33 # Maximum radius of effect of damage from explosive meteors
34 meteorRadius = 64
35
36[spawning]
37 # Pokemobs will not spawn in the dimensions listed here
38 spawnDimBlacklist = ["compactmachines:compact_world"]
39 # similar to deactivateMonsters, but for vanilla animals
40 deactivateAnimals = true
41 # This number, multiplied by mobDensityMultiplier will determine how many pokemobs will spawn within maxSpawnRadius of the player, this occurs at a rate based on spawnRate
42 mobSpawnNumber = 10
43 # similar to disableVanillaAnimals, but for vanilla animals
44 disableVanillaAnimals = false
45 # if true, vanilla monsters are removed entirely, similar to in peaceful mode
46 disableVanillaMonsters = false
47 # if false, pokemobs will not spawn naturally
48 pokemonSpawn = true
49 # if false, levelCap is ignored
50 shouldCap = true
51 # see mobSpawnNumber's description
52 mobDensityMultiplier = 1.0
53 # if true, vanilla monsters will not spawn via normal spawning, this does not prevent mob spawners or special spawns
54 deactivateMonsters = false
55 # This is an additional function applied to spawn lvls after dimensionSpawnLevels, here x is the level chosen by dimensionSpawnLevels, and the output is the actual spawn lvl
56 spawnLevelVariance = "x + ceil(5*rand())"
57 # If spawnWhitelisted is enabled, pokemobs will only spawn in these dimensions
58 spawnDimWhitelist = []
59 # Legendary pokemobs will not naturally spawn below this level
60 minLegendLevel = 1
61 # This is how often the code attempts to spawn pokemobs near a player
62 spawnRate = 2
63 # Enables using spawnDimWhitelist to determine if a dimension is valid for spawn
64 spawnWhitelisted = false
65 # Default radius of effect for repels, also applies to max spots
66 repelRadius = 16
67 # These determine what lvl pokemobs spawn based on location. If central is true, then the origin for the function is 0,0, otherwise it is world spawn. if radial is true, then the function takes the variable r, which is horizontal distance from the origin. Otherwise it takes x and y, which are the horizontal coordinates with respect to the origin.
68 dimensionSpawnLevels = ["{\"dim\":\"the_nether\",\"func\":\"abs((25)*(sin(x*8*10^-3)^3 + sin(y*8*10^-3)^3))\",\"radial\":false,\"central\":false}", "{\"dim\":\"overworld\",\"func\":\"abs((25)*(sin(x*10^-3)^3 + sin(y*10^-3)^3))\",\"radial\":false,\"central\":false}", "{\"dim\":\"the_end\",\"func\":\"1+r/200\",\"radial\":true,\"central\":true}"]
69 # Wild mobs will be capped at this lvl for spawning
70 levelCap = 50
71
72[database]
73 # Extra databases for use with datapacks that just want to add things, these will be added after the normal databases have loaded in.
74 configDatabases = ["database/pokemobs/pokemobs_pokedex.json;database/pokemobs/pokemobs_spawns.json;database/pokemobs/pokemobs_interacts.json", "database/moves.json", "database/spawns.json"]
75 rewardDatabases = ["rewards"]
76 recipeDatabases = ["recipes"]
77
78[genetics]
79 epigeneticEVFunction = "rand()*(((2*v + 256) * 31) / 512)"
80 mutationRates = ["pokecube:colour 0.01", "pokecube:moves 0.0", "pokecube:species 0.1", "pokecube:size 0.1", "pokecube:evs 0.1", "pokecube:shiny 0.010416667", "pokecube:nature 0.05", "pokecube:ivs 0.1", "pokecube:ability 0.1"]
81
82[advanced]
83 # Moves in here will ignore pokemobsDamageBlocks and never apply their effects
84 damageBlocksBlacklist = []
85 pokemobsAreAllFrozen = false
86 # Moves in here will ignore pokemobsDamageBlocks, and apply their effects regardless
87 damageBlocksWhitelist = ["flash", "teleport", "dig", "cut", "rocksmash", "secretpower", "naturepower"]
88 debug = false
89 # This is how much exp is given for killing a non-pokemob, h is the max health of the mob, and a is the amount of armour it had
90 nonPokemobExpFunction = "h*(a+1)^2"
91 # If true, lakes will be removed from pokecube structure spawns, disable this if that interferes with other mod's worldgen!
92 lakeFeatureMixin = true
93 # If true, killing non-pokemobs will provide exp to pokemobs
94 nonPokemobExp = false
95 pokecubeAutoSendOutDelay = 20
96 extraVars = ["jc:3.5", "rc:4.5", "eggDpl:2.0", "eggDpm:4.0"]
97 reputs = false
98 # Teleporting via the move teleport will not work in any dimensions listed here
99 blackListedTeleDims = []
100
101[moves]
102 # A cap on how much damage a wild pokemob can deal to a player
103 maxWildPlayerDamage = 10
104 # Can be used to scale damage from ranged moves
105 rangedAttackDamageScale = 1.0
106 # A Scaling factor on damage when a wild pokemob attempts to hit a player
107 wildPlayerDamageRatio = 1.0
108 # Can be used to scale damage from contact moves
109 contactAttackDamageScale = 1.0
110 # If true, enables world effects of electric type moves
111 defaultElectricActions = true
112 # The "range" of contact moves, if not 0, they will apply damage like ranged attacks
113 contactAttackDistance = 0.0
114 # How far ranged attacks will be able to hit from
115 rangedAttackDistance = 16.0
116 # Maximum radius of effect of an explosion type move
117 blastRadius = 16
118 # This is a scaling factor for damage dealt py pokemobs to mobs which are neither pokemobs, players or NPCs
119 pokemobToOtherMobDamageRatio = 1.0
120 # If true, enables world effects of fire type moves, such as: lighting fires, smelting, etc
121 defaultFireActions = true
122 # This scales how much damage players can deal to pokemobs
123 playerToPokemobDamageScale = 1.0
124 # If true, enables world effects of water type moves
125 defaultWaterActions = true
126 # A cap on how much damage a tame pokemob can deal to a player
127 maxOwnedPlayerDamage = 10
128 # Scaling factor on explosion type moves's block damage
129 blastStrength = 100.0
130 # A Scaling factor on damage when a tame pokemob attempts to hit a player
131 ownedPlayerDamageRatio = 1.0
132 # This fraction of the damage dealt is also applied as magic damage to the player, this is for wild pokemobs
133 wildPlayerDamageMagic = 0.1
134 # If true, enables world effects of ice type moves
135 defaultIceActions = true
136 # This is the hunger cost per item smelted by fire type moves
137 baseSmeltingHunger = 100
138 # If true, only pokemobs can deal damage to pokemobs
139 onlyPokemobsDamagePokemobs = false
140 # This is a scaling factor for damage dealy by pokemobs to NPCs
141 pokemobToNPCDamageRatio = 1.0
142 # This fraction of the damage dealt is also applied as magic damage to the player, this is for tame pokemobs
143 ownedPlayerDamageMagic = 0.1
144
145[permissions]
146 permsMoveAction = false
147 permsFly = false
148 permsSurfSpecific = false
149 permsCaptureSpecific = false
150 permsDiveSpecific = false
151 permsHatch = false
152 permsSendOut = false
153 permsSurf = false
154 permsFlySpecific = false
155 permsRide = false
156 permsDive = false
157 permsRideSpecific = false
158 permsCapture = false
159 permsSendOutSpecific = false
160 permsHatchSpecific = false
161
162[ai]
163 # How far pokemobs look for targets while guarding an area
164 guardSearchDistance = 16
165 # Maximum distance a wild pokemob will try to move while idle wandering
166 idleMaxPathWild = 16
167 # If true, tame pokemobs will try to gather items
168 tameGather = true
169 # If true, pokemobs can have guard mode enabled, which makes them randomly murder things nearby
170 guardModeEnabled = true
171 # Pokemobs will forget their target if they get more than this far away
172 chaseDistance = 32
173 # If a pokemob is more than this far from a player, it will freeze and not tick. This distance must be larger than cullDistance for cull or despawn to do anything
174 aiDisableDistance = 32
175 # Maximum distance a tame pokemob will try to move while idle wandering
176 idleMaxPathTame = 4
177 # Wild pokemobs will check for a player to attack every approximately this many ticks, large values decrease the chance of pokemob agression
178 mobAgroRate = 200
179 # if true, hungry lithovores might eat gravel to nothing
180 pokemobsEatGravel = false
181 # This is how far away tame pokemobs will look for items to collect
182 tameGatherDistance = 16
183 # Mobs with these entity IDs will not be valid agression targets for pokemobs
184 aggroBlacklistIds = ["minecraft:villager", "minecraft:armor_stand", "pokecube_adventures:trainer", "pokecube_adventures:leader"]
185 # Scales combat doding speed
186 dodgeSpeedFactor = 1.0
187 # If true, players can surf on valid pokemobs
188 surfEnabled = true
189 # How often pokemobs update their nearby blocks list, lower is faster, higher is less server load
190 nearBlockUpdateRate = 5
191 # If true, players can fly on valid pokemobs
192 flyEnabled = true
193 # This scales how loud wild pokemob sounds are, lower numbers are lower volumes
194 idleSoundVolume = 0.25
195 # Approximate number of ticks between breeding, this number cannot be less than 600
196 breedingDelay = 4000
197 # If cull is enabled, idle wild mobs will vanish if exceeding this distance from a player, requires aiDisableDistance to be larger
198 cullDistance = 96
199 # if ture, pokemobs can hurt players
200 pokemobsDamagePlayers = true
201 # Scales combat leaping speed
202 leapSpeedFactor = 1.0
203 # This is how often tame pokemobs look for items to collect, smaller values are faster, 1 is the lowest this can be
204 tameGatherDelay = 20
205 # If despawn is enabled, when mobs exceed cullDistance, and are within aiDisableDistance, they will vanish after this many ticks if no player get back in range
206 despawnTimer = 2000
207 # Determines how quickly mobs want to mate again, larger values are faster
208 mateMultiplier = 1
209 # if true, player's pokemobs can hit them with AOE moves and misses
210 pokemobsDamageOwner = false
211 # How often pokemobs look for something to hunt when hungry, lower is faster, but more server load
212 huntUpdateRate = 5
213 # if true, pokemobs drop their items from their loot tables
214 pokemobsDropItems = true
215 # Fish-like pokemobs will occasionally look for fishing bobbers in this range
216 fishHookBaitRange = 16
217 # Delay between guard mode ticks, lower is faster
218 guardTickRate = 20
219 # Pokemobs will refuse to enter the pokecube again for this many ticks after a failed capture
220 captureDelayTicks = 0
221 # This is the target distance between two pokemobs during a fight
222 combatDistance = 4
223 # A random sound from here is played when a pokemob leaps in combat
224 leapSounds = ["entity.witch.throw"]
225 # if true, there will be a warning in chat if a wild pokemob agresses you
226 pokemobagresswarning = true
227 # This is how far away wild pokemobs will look for items to collect
228 wildGatherDistance = 8
229 # If true, players can dive with valid pokemobs
230 diveEnabled = true
231 # This scales the amount of vanilla exp that pokemobs drop on death
232 expFromDeathDropScale = 1.0
233 # This is how often wild pokemobs look for items to collect, smaller values are faster, 1 is the lowest this can be
234 wildGatherDelay = 200
235 # A random sound from here is played when a pokemob dodges in combat
236 dodgeSounds = ["entity.witch.throw"]
237 # This is approximately how long a pokemob will live before it takes hunger damage, larger values will require less food to keep alive
238 pokemobLifeSpan = 8000
239 # If true, wild pokemobs will try to gather items
240 wildGather = false
241 # Mobs with these entity tags will not be a valid agression targets for pokemobs
242 aggroBlacklistTags = []
243 # Scaling factor on hunger from pokemob interactions, such as lighting torches, milking, etc
244 interactHungerScale = 1.0
245 # If true, pokemobs will need to execute an attack after breaking out of a cube before they can go into another to try to capture
246 captureDelayTillAttack = true
247 # if true, pokemobs may despawn if more than cullDistance from a player
248 despawn = true
249 # Scaling factor on pokemob swim speed while pathing normally
250 swimPathingSpeedFactor = 1.25
251 # if true, player's in the same team can still battle each other
252 teamsBattleEachOther = true
253 # If true, pokemobs will slowly heal while out of combat
254 outOfCombatHealing = true
255 # How long the exit cube animation effects last for
256 exitCubeDuration = 40
257 # if true, pokemobs will vanish if they are more than cullDistance from a player
258 cull = false
259 # if true, explosion type moves make large physical explosions
260 explosions = true
261 # Scaling factor on pokemob flight speed while pathing normally
262 flyPathingSpeedFactor = 1.25
263 # This number multiplied by mobSpawnNumber is how many mobs can be in an area before pokemobs stop breeding, this is for tame pokemobs
264 mateDensityPlayer = 4.0
265 # How often the hunger system ticks, larger numbers will result in faster hunger, setting to -1 will disable hunger entirely
266 hungerTickRate = 1
267 # Wild pokemobs may agress the player if they get closer than this distance
268 mobAggroRadius = 3
269 # This is how often wild pokemobs make random sounds, higher numbers result in less noise
270 idleSoundRate = 100
271 # How often pokemobs attempt to perform an idle action, such as walking, etc. Larger numbers are better for server performance, but result in less wandering of wild pokemobs
272 idleTickRate = 200
273 # This number multiplied by mobSpawnNumber is how many mobs can be in an area before pokemobs stop breeding, this is for wild pokemobs
274 mateDensityWild = 2.0
275 # How likely pokemobs are to call for help from nearby mobs when they are attacked
276 hordeRateFactor = 0.1
277 # Scaling factor on time delay between pokemob interactions, such as lighting torches, milking, etc
278 interactDelayScale = 1.0
279 # If true, shift right clicking a valid pokemob with a stick will place it on your shoulder
280 pokemobsOnShoulder = true
281 # if true, pokemob attacks can remove or destroy blocks in the world.
282 pokemobsDamageBlocks = false
283 # if ture, hungry herbivores will eat random plants
284 pokemobsEatPlants = true
285 # Maximum time for eggs to hatch, the average number is about half this
286 eggHatchTime = 10000
287 # This is a cooldown between the pokemob deciding to attack a player, and the pokemob actually doing so, this gives some warning you are about to be attacked
288 pokemobagressticks = 100
289 # if true, hungy lithovores will eat rocks to cobble/gravel
290 pokemobsEatRocks = true
291
292[dynamax]
293 dynamax_duration = 250
294 dynamax_scale = 5.0
295 dynamax_cooldown = 6000
296 z_move_cooldown = 2000
297
298[misc]
299 # A list of custom sounds to register
300 customSounds = []
301 # If false, the PC can hold any item
302 pcHoldsOnlyPokecubes = true
303 # If true, defeating a player's pokemobs gives exp
304 pvpExp = false
305 # If true, will automatically add interactions such as water from water types, and lighting torches on fire types.
306 defaultInteractions = true
307 # If true, the mob's favourite berry can be used to speed up breeding.
308 berryBreeding = true
309 # If true, your items which fit in PC will be sent there when you die
310 pcOnDrop = true
311 # A list of NBT tags to remove before saving the pokemob in its pokecube
312 persistent_tag_blacklist = []
313 # Scaling factor for EXP yield from fighting another player's pokemobs
314 pvpExpMultiplier = 0.5
315 # If true, defeating an NPC's pokemobs gives exp
316 trainerExp = true
317 # If true, legendary pokemobs can breed.
318 legendsBreed = false
319 # Scales EXP yield from fighting non-player owned pokemobs
320 expScaleFactor = 1.0
321 # If true, using a bed will heal your pokemobs
322 bedsHeal = true
323 # Mob IDs which are blacklisted from going into snag cubes
324 snag_cube_blacklist = ["ender_dragon", "wither"]
325 # If true, you will be prompted to choose a pokemob when creating a world, without having to look for a professor
326 guiOnLogin = false
327