Custom races erorr
X2IX opened this issue ยท 4 comments
i create a few custom races and it got erorr spaming console and effect don't get clear on dimension change
server purpur-1.18.2-1612
version plugin 1.3.0
server version 1.18.2
Server logs
Erorr
[14:31:33] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to MythicalRaces v1.3.0 java.lang.NullPointerException: Cannot read field "nightRacePassivePotionEffects" because the return value of "java.util.HashMap.get(Object)" is null
[14:31:37] [Server thread/ERROR]: Could not pass event BlockPlaceEvent to MythicalRaces v1.3.0 java.lang.NullPointerException: Cannot read field "lvlType" because "ras" is null
Plugins Config
# #
# -- Mythical Races Configuration File -- #
# -- Version 1.2.9 -- #
# #
# ********************************************** #
# Attributes are as follows
# GENERIC_MAX_HEALTH
# GENERIC_KNOCKBACK_RESISTANCE
# GENERIC_MOVEMENT_SPEED
# GENERIC_ATTACK_DAMAGE
# GENERIC_ATTACK_SPEED
# GENERIC_ARMOR
# GENERIC_ARMOR_TOUGHNESS
# GENERIC_LUCK
# Potion affects are as follows
# SPEED
# SLOW
# FAST_DIGGING
# SLOW_DIGGING
# INCREASE_DAMAGE
# HEAL
# HARM
# JUMP
# CONFUSION
# REGENERATION
# DAMAGE_RESISTANCE
# FIRE_RESISTANCE
# WATER_BREATHING
# INVISIBILITY
# BLINDNESS
# NIGHT_VISION
# HUNGER
# WEAKNESS
# POISON
# WITHER
# HEALTH_BOOST
# ABSORPTION
# SATURATION
# GLOWING
# LEVITATION
# LUCK
# UNLUCK
# SLOW_FALLING
# CONDUIT_POWER
# DOLPHINS_GRACE
# BAD_OMEN
# HERO_OF_THE_VILLAGE
# You want to add your own race?
#
# raceName:
# displayName: 'DisplayNameOfRace'
# material: 'MaterialToUseForGUI'
# guiPage: 1 # the page number of the GUI which it should be displayed at
# isSubRace: false # is a subrace
# subRaceType: '' # type of sub race this race belons to (only if isSubRace is set to true)
# treeSlot: 4 # /races tree slot this race is in
# levelRequire: 0 # the race level required to pick this race
# slot: 11 # the slot the material should be
# lvlType: 'RUNNING' # this means how should the race level up - read through all of the top comments to figure out what can go here
# maxLevel: 100 # max level this race can be, note do NOT set this below a sub races required level
# gainXP: 2 # gain x amount of Xp each time a certain event happens for lvlType
# xpPerLevel: 24 # How much XP is needed times the level itself to reach the next level
# lore:
# - '&4----- &cRace Name Race &4-----'
# - '&cDesciptiond and stuff'
# - ' '
# - '&5----- Day Time Passive Effects -----'
# - 'Day time effects and stuff'
# - '&5----- Night Time Passive Effects -----'
# - 'Night time effects and stuff'
# dayPassivePotionEffects: # Only put 'null' if the area is not going to be used
# - 'null'
# dayPassivePotionEffectsBase:
# - 'null'
# dayRaceDataPotion: # explained below
# - 'null'
# dayPassiveGenericAttributes: # ALWAYS LEAVE THIS ATTRIBUTE IN, this is normal speed, if you change it then you get a very fast player or slow
# - 'GENERIC_MOVEMENT_SPEED'
# dayPassiveGenericAttributesBase:
# - 0.1
# dayRacePassiveAttributesLevel: what this means is gain X amount of ATTRIBUTE PER LEVEL added onto the BASE Base, if 0.0 then ignore any sort of increasing X per level, max level is at the bottom of the config
# - 0.0
# dayRaceDataAttribute: # explained below
# - 'ALL Y > -1000 -1 ALL ALL ALL ALL'
# nightPassivePotionEffects:
# - 'null'
# nightPassivePotionEffectsBase:
# - 'null'
# nightRaceDataPotion: # explained below
# - 'null'
# nightPassiveGenericAttributes:
# - 'GENERIC_MOVEMENT_SPEED'
# nightPassiveGenericAttributesBase:
# - 0.1
# nightRacePassiveAttributesLevel:
# - 0.0
# nightRaceDataAttribute: # explained below
# - 'ALL Y > -1000 -1 ALL ALL ALL ALL'
# executeCommandUponSwitching: # execute a CONSOLE command upon switching to another race, to use a playername it is {player}
# - 'null'
# the DATA lists work as such
# 'ALL Y > -1000 -1 ALL ALL ALL ALL'
# First argument is BIOMES, ALL meaning ALL biomes, a biome name can be used within that first argument
# Second argument is Y, this always has to be Y - this indicates players Y axis
# Third argument is if players Y axis is greater than or equal to NUMBER
# fourth argument is the number that is related to the third argument
# fifth argument is what the amplifier should now be if the player isn't in the designated area -1 to remove POTION effects, attribute has to be set to another number for it as you cannot "remove" a attribute
# sixth argument is when to apply the effects if a certain block is nearby - types are [ALL, ABOVE, MID, BELOW, AROUND] you cannot use multiple for this argument, only one of these
# seventh argument is what blocks are nearby to apply the desired effect
# eigth argument is if a storm is occuring in the world then apply effect, types are [TRUE, FALSE, ALL]
# ninth argument is the 'world' the player is in, types are, [ALL, your worlds] can be seperated using a space'
# An example of what it "could" look like is as follows 'SAVANNA,ANOTHERBIOME Y > -100 -1 ALL STONE,ANOTHERBLOCK ALL world,ANOTHERWORLD' - this means if you are walking on the STONE block in savanna and in all types of weather and in world 'world', then apply the effect
# commas seperate different blocks
# Remember that amplifiers are -1 than what you want, for example if you want LUCK 1, then you would have to put 0 and not 1 under the amplifier
# So to add a attribute, just add one of the attributes to "day" or "night" that has attributes in it
# the base for the attributes is below the spot you put it in
# for example, if you put GENERIC_MAX_HEALTH
# then the number that applies to generic max health is the exact same spot in the base for it
# you can look at examples below
# https://youtu.be/Kb7Jn-EHj00 <--- tutorial - this is a tutorial on how to use the plugin, it is a long video that explains it in-depth (sort of)
# Second tutorial -> https://www.youtube.com/watch?v=blx4iUlyqMI
# well theres also a third tutorial but thats down in the comments of the second tutorial (gotta love how long these tutorials, but trust its worth it!)
# Well best of luck user!
# If you are having trouble adding a race/editing/removing a race, join the support discord server, and ping a guy called Korbsti (which is me), or add his username directly: Korbsti#0001
# https://discord.gg/GK3rmrze2Q <--- Support discord server if you require help
# use UUIDs to store player data
# if false then store by player names
# Types of 'lvlType' are as follows
# HUNTING, RUNNING, HARVESTING, BUILDING, FISHING, EXCAVATION, MINER, WOODCUTTER, TANKER
# NOTE it is very important that you note that for the races , excavation, building, hunting and harvesting that xp GAIN can be very fast, so make sure to put xpPerLevel to a high number to make it more fair
# Some useful links when creating complicated races
# > https://hub.spigotmc.org/javadocs/spigot/org/bukkit/block/Biome.html
# > https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# NOW for some special data types, below will be some examples
# 'ALL Y > -1000 -1 VAMPIRE VAMPIRE ALL ALL' - this means apply effect if all blocks above the player to sky limit isnt a solid block
# 'ALL Y > -1000 -1 CUSTOM[num] ALL ALL ALL' - CUSTOM means, in X radius of blocks next to it, it can be CUSTOM10 or CUSTOM1 or even CUSTOM100 if you hate your server, replace [num] to search for a radius
# 'ALL Y > -1000 -1 LIGHTA[num] ALL ALL ALL' - this means apply effect if the light level is greater than the [num] next to it, example would be LIGHT6, now the limits are [0 - 14] in terms of levels
# 'ALL Y > -1000 -1 LIGHTB[num] ALL ALL ALL' - this means apply effect if the light level is lower than the [num] next to it, example would be LIGHT6, now the limits are [0 - 14] in terms of levels
other:
# Store data by UUID, if false store data by player names
dataByUUID: true
# Cooldown timer, is in MINUTES, NEVER PUT THIS NUMBER INTO NEGATIVES AND DO NOT TURN THIS NUMBER INTO A DECIMAL AND DO NOT DELETE THE " " MARKS
cooldown: "1440"
# default race upon joining
defaultRace: 'null'
# Force the player to choose a race inside the GUI when the first join the server
forceRace: false
# If the player switches a BASE race then their level gets turned back to 0
resetBaseLevel: true
# When night time starts in ticks
nightStart: 12610
# When day time starts in ticks
nightEnd: 23041
# If you are looking for "day" its just the numbers thats not inbetween night and nightTwo
# Every X amount of ticks, loop through the server and see if the player has any potion effects that they should have
# if they dont have it then add potion effects of race to the player
timerCheckingPotionEffects: 100
# Gui display name
guiName: 'Choosing Race'
# Gui head player display name
guiPlayerDisplay: 'You'
# Gui slot number for player head
guiPlayerDisplayNumber: 4
# Amount of slots the GUI has, max is 54
guiSlots: 54
# Item for forwardClick
forwardClickItem: 'PAPER'
# When this slot is clicked, open up next GUI list
forwardClick: 53
# Next page
forwardClickDisplay: 'Next page'
# Lore hovering over the player head
guiPlayerLore:
- 'Race: {race}'
treeNonSlots: 'BLACK_STAINED_GLASS_PANE'
treeName: 'Your race tree'
# Check if there is an update for the plugin
checkUpdates: false
races:
Automechs:
displayName: '&aAutomech'
material: 'BOOK'
guiPage: 1
isSubRace: false
subRaceType: ''
treeSlot: 4
levelRequire: 0
slot: 10
lvlType: 'RUNNING'
maxLevel: 100
gainXP: 2
xpPerLevel: 24
lore:
- '&2----- &aAutomechs&2-----'
- '&aElves have the reputation of divine beauty.'
dayPassivePotionEffects:
- 'SATURATION'
- 'SLOW'
dayPassivePotionEffectsBase:
- 0
- 4
dayRaceDataPotion:
- 'ALL Y > -1000 -1 ALL REDSTONE_BLOCK ALL ALL'
- 'ALL Y > -1000 -1 ALL WATER ALL ALL'
dayPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
- 'GENERIC_MAX_HEALTH'
dayPassiveGenericAttributesBase:
- 0.09
- 30.0
dayRacePassiveAttributesLevel:
- 0.0
- 0.0
dayRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassivePotionEffects:
- 'SATURATION'
- 'SLOW'
nightPassivePotionEffectsBase:
- 0
- 4
nightRaceDataPotion:
- 'ALL Y > -1000 -1 ALL REDSTONE_BLOCK ALL ALL'
- 'ALL Y > -1000 -1 ALL WATER ALL ALL'
nightPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
- 'GENERIC_MAX_HEALTH'
nightPassiveGenericAttributesBase:
- 0.096
- 24.0
nightRacePassiveAttributesLevel:
- 0.0
- 0.0
nightRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
executeCommandUponSwitching:
- 'null'
Dwellers:
displayName: '&7Dweller'
material: 'BOOK'
guiPage: 1
isSubRace: false
subRaceType: ''
treeSlot: 4
levelRequire: 0
slot: 11
lvlType: 'RUNNING'
maxLevel: 100
gainXP: 2
xpPerLevel: 24
lore:
- '&2----- &7Dweller &2-----'
- '&aElves have the reputation of divine beauty.'
dayPassivePotionEffects:
- 'FAST_DIGGING'
- 'NIGHT_VISION'
dayPassivePotionEffectsBase:
- 2
- 0
dayRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
dayPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
dayPassiveGenericAttributesBase:
- 0.1
dayRacePassiveAttributesLevel:
- 0.0
dayRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassivePotionEffects:
- 'FAST_DIGGING'
- 'NIGHT_VISION'
- 'HUNGER'
nightPassivePotionEffectsBase:
- 2
- 0
- 0
nightRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y < 60 -1 ALL ALL ALL ALL'
nightPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
nightPassiveGenericAttributesBase:
- 0.1
nightRacePassiveAttributesLevel:
- 0.0
nightRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
executeCommandUponSwitching:
- 'null'
Faefolk:
displayName: '&7Faefolk'
material: 'BOOK'
guiPage: 1
isSubRace: false
subRaceType: ''
treeSlot: 4
levelRequire: 0
slot: 12
lvlType: 'RUNNING'
maxLevel: 100
gainXP: 2
xpPerLevel: 24
lore:
- '&2----- &bFaefolk &2-----'
- '&aElves have the reputation of divine beauty.'
dayPassivePotionEffects:
- 'JUMP'
- 'WEAKNESS'
dayPassivePotionEffectsBase:
- 0
- 1
dayRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
dayPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
dayPassiveGenericAttributesBase:
- 0.16
dayRacePassiveAttributesLevel:
- 0.0
dayRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassivePotionEffects:
- 'JUMP'
- 'WEAKNESS'
nightPassivePotionEffectsBase:
- 0
- 1
nightRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
nightPassiveGenericAttributesBase:
- 0.16
nightRacePassiveAttributesLevel:
- 0.0
nightRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
executeCommandUponSwitching:
- 'null'
Frostkin:
displayName: '&7Frostkin'
material: 'BOOK'
guiPage: 1
isSubRace: false
subRaceType: ''
treeSlot: 4
levelRequire: 0
slot: 13
lvlType: 'RUNNING'
maxLevel: 100
gainXP: 2
xpPerLevel: 24
lore:
- '&2----- &bFrostkin &2-----'
- '&aElves have the reputation of divine beauty.'
dayPassivePotionEffects:
- 'DAMAGE_RESISTANCE'
- 'HARM'
dayPassivePotionEffectsBase:
- 1
- 1
dayRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL LAVA ALL ALL'
dayPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
dayPassiveGenericAttributesBase:
- 0.11
dayRacePassiveAttributesLevel:
- 0.0
dayRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassivePotionEffects:
- 'DAMAGE_RESISTANCE'
- 'HARM'
nightPassivePotionEffectsBase:
- 1
- 1
nightRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
- 'ALL Y > -1000 -1 ALL LAVA ALL ALL'
nightPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
nightPassiveGenericAttributesBase:
- 0.12
nightRacePassiveAttributesLevel:
- 0.0
nightRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
executeCommandUponSwitching:
- 'null'
Humans:
displayName: '&7Frostkin'
material: 'BOOK'
guiPage: 1
isSubRace: false
subRaceType: ''
treeSlot: 4
levelRequire: 0
slot: 14
lvlType: 'RUNNING'
maxLevel: 100
gainXP: 2
xpPerLevel: 24
lore:
- '&2----- &bHumans &2-----'
- '&aElves have the reputation of divine beauty.'
dayPassivePotionEffects:
- 'LUCK'
- 'HERO_OF_THE_VILLAGE'
- 'UNLUCK'
dayPassivePotionEffectsBase:
- 4
- 1
- 4
dayRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL world'
- 'ALL Y > -1000 -1 ALL ALL ALL world'
- 'ALL Y > -1000 -1 ALL ALL TRUE world_the_end,world_nether,world_bracken_void,world_bracken_varskspace,world_bracken_the_underdark,world_bracken_the_faewild,world_bracken_the_brine,world_bracken_sanctum,world_bracken_pax,world_bracken_panacea,world_bracken_omnidrome,world_bracken_glacium,world_bracken_dormis'
dayPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
dayPassiveGenericAttributesBase:
- 0.1
dayRacePassiveAttributesLevel:
- 0.0
dayRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
nightPassivePotionEffects:
- 'LUCK'
- 'HERO_OF_THE_VILLAGE'
- 'UNLUCK'
nightPassivePotionEffectsBase:
- 4
- 1
- 4
nightRaceDataPotion:
- 'ALL Y > -1000 -1 ALL ALL ALL world'
- 'ALL Y > -1000 -1 ALL ALL ALL world'
- 'ALL Y > -1000 -1 ALL ALL TRUE world_the_end,world_nether,world_bracken_void,world_bracken_varskspace,world_bracken_the_underdark,world_bracken_the_faewild,world_bracken_the_brine,world_bracken_sanctum,world_bracken_pax,world_bracken_panacea,world_bracken_omnidrome,world_bracken_glacium,world_bracken_dormis'
nightPassiveGenericAttributes:
- 'GENERIC_MOVEMENT_SPEED'
nightPassiveGenericAttributesBase:
- 0.1
nightRacePassiveAttributesLevel:
- 0.0
nightRaceDataAttribute:
- 'ALL Y > -1000 -1 ALL ALL ALL ALL'
executeCommandUponSwitching:
- 'null'
leveling: # this is only for the type 'RUNNING'
# this is the distance number
distance: 10
# every X amount of ticks, 20 ticks = 1 second, calculate distance
time: 600
# Messages
# To change the cooldown time manually for a player, the time is in the data.yml file
cooldownMessage: '&4You still have a cooldown! {time} minutes remaining until you may choose another race!'
currentBiome: '&aStanding in biome &2{biome}'
noPerm: '&4No Permission'
invalidRace: '&4Invalid Race'
listRaces: '&aKnown races are &2{races}'
chosenRace: '&aYou have chosen the race &2{race}'
reload: '&aReloaded mythical races'
switchUserRace: '&aSpecified players race is now {race}'
invalidPlayer: '&aInvalid player'
invalidArgs: '&4Invalid arguments, type /races help'
levelup: '&aYou leveled up! Your new level is {level}'
notRequiredLevel: '&4Your level is not high enough to select this race!'
setPlayersLevel: '&aSet players race level to {lvl}'
notInt: '&aMust be an integer'
update: '&aThere is an update for MythicalRaces! Remember to read the changelog before updating! Get the plugin from the spigot site!'
profile:
- '&a - - - &2{name}s user profile&a - - -'
- '&aRace: {race}'
- '&aLevel: {level}'
- '&aXP: {xp}/{xp-max}'
help:
- '&a - - - &2Mythical Races Help Menu&a - - -'
- '&a/races choose [race] - choose specific race'
- '&a/races list - display base races'
- '&a/races info [race] - display info about race'
- '&a/races gui - display list of races'
- '&a/races tree - display race evolution tree'
- '&a/races profile - display your race profile'
- '&a/races profile [player] view someone elses races profile'
- '&a/races lvlset [player] [integer]'
- '&a/races set [race] [player] - forcibly set a players race'
- '&a/races biome - for config purposes'```
At the very bottom of your config, you have three '''
- '&a/races biome - for config purposes'```
It should look like
- '&a/races biome - for config purposes'
And one more thing, make sure your data.yml doesnt have any of the OLD races that used to exist