Java lang illegalargumentexception как исправить minecraft

java.lang.IllegalArgumentException: Cannot find version null
at ru.turikhay.tlauncher.minecraft.launcher.MinecraftLauncher.collectInfo(MinecraftLauncher.java:296)
at ru.turikhay.tlauncher.minecraft.launcher.MinecraftLauncher.start(MinecraftLauncher.java:220)
at ru.turikhay.tlauncher.TLauncher.launch(TLauncher.java:542)
at ru.turikhay.tlauncher.ui.login.LoginForm.runProcess(LoginForm.java:196)
at ru.turikhay.tlauncher.ui.login.LoginForm.access$000(LoginForm.java:35)
at ru.turikhay.tlauncher.ui.login.LoginForm$StartThread.iterateOnce(LoginForm.java:240)
at ru.turikhay.util.async.LoopedThread.run(LoopedThread.java:38)
Thread called by: ru.turikhay.util.async.ExtendedThread$ExtendedThreadCaller
at ru.turikhay.util.async.ExtendedThread.(ExtendedThread.java:16)
at ru.turikhay.util.async.LoopedThread.(LoopedThread.java:7)
at ru.turikhay.util.async.LoopedThread.(LoopedThread.java:11)
at ru.turikhay.tlauncher.ui.login.LoginForm$StartThread.(LoginForm.java:233)

Как пофиксить ошибку Error: java.lang.RuntimeException или Exit Code -1

at ru.turikhay.tlauncher.ui.login.LoginForm.(LoginForm.java:67)
at ru.turikhay.tlauncher.ui.scenes.DefaultScene.(DefaultScene.java:109)
at ru.turikhay.tlauncher.ui.MainPane.(MainPane.java:51)
at ru.turikhay.tlauncher.ui.TLauncherFrame.(TLauncherFrame.java:182)
at ru.turikhay.tlauncher.TLauncher$1.run(TLauncher.java:423)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Лучший ответ

Обновить Java пробовал?

★Знаток (425) 6 лет назад

1 час назад всё норм работало

6 П 3 С Ученик (5) Иногда бывают заходы. Попробуй другой лаунчер, или ту самую Java обновить, или комп перезапустить. Причин может быть много, вплоть до погоды на Марсе.

Остальные ответы

У тебя java установлена?

Источник: otvet.mail.ru

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь то более современного браузера. 🙁

Ошибка при старте сервера

south_park

Администраторы

Звание: Чоткий паря

Цитата: rikado
Caused by: java.lang.OutOfMemoryError: Metaspace

Caused by: java.lang.OutOfMemoryError: Metaspace
Видимо не хватает выделенной серверу оперативной памяти

#21 | 20 мая 2021 — 18:54

itlpedia

itlpedia

Звание: V.I.P на хуторе

south_park,
Археолог

ЧЛЕН ИНТЕРНАЦИОНАЛЬНОЙ ГРУППИРОВКИ СКРЫТЫЕ
МЫ/Я/ТЫ/ВСЕ ГОЛОСУЮТ ЗА СМИТА

#22 | 21 мая 2021 — 14:25

Caman86

Caman86

ТруЪ Олдфаги-с

Звание: Чоткий паря

itlpedia,
археолог — rikado , а сауз просто добрый админ, который помогает человеку разобраться с проблемами =D

rikado,
проблема с ядром сервера — Paper. Он то ли выделает одно и то же пространство памяти для двух разных объектов, то ли просто не может переместить объект с пространства 1 в пространство 2.
Попробуй обновить/откатить ядро. Если ты поставил перед этим какой-то плагин — убери его.

#23 | 21 мая 2021 — 14:46

Karobochka

—- Minecraft Crash Report —-

WARNING: coremods are present:
MicdoodlePlugin (micdoodlecore-1.12.2-4.0.2.281.jar)
Inventory Tweaks Coremod (inventorytweaks-1.64dev.151.jar)
DLFMLCorePlugin (dynamiclights-1.12.2.jar)
CTMCorePlugin (ctm-mc1.12.2-1.0.2.31.jar)
TLSkinCapeHookLoader (tlskincape_1.12.2-1.4.jar)
Contact their authors BEFORE contacting forge

Time: 6/3/21 6:55 AM
Description: Ticking block entity

java.lang.IllegalArgumentException: Invalid drill: [email protected]
at ic2.core.item.tool.ItemDrill.energyUse(ItemDrill.java:126)
at ic2.core.block.machine.tileentity.TileEntityMiner.mineBlock(TileEntityMiner.java
:450)
at ic2.core.block.machine.tileentity.TileEntityMiner.digDown(TileEntityMiner.java:2
76)
at ic2.core.block.machine.tileentity.TileEntityMiner.work(TileEntityMiner.java:173)

at ic2.core.block.machine.tileentity.TileEntityMiner.updateEntityServer(TileEntityM
iner.java:143)
at ic2.core.block.TileEntityBlock.func_73660_a(TileEntityBlock.java:326)
at net.minecraft.world.World.func_72939_s(World.java:1838)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.j
ava:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Unknown Source)

Вот мой краш лог, помогите пожалуйста решить проблему

#24 | 3 июня 2021 — 08:55

Олег Коваленко

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
Loading libraries, please wait.
[15:15:41 INFO]: Starting minecraft server version 1.12.2
[15:15:41 INFO]: Loading properties
[15:15:41 INFO]: Default game type: SURVIVAL
[15:15:41 INFO]: This server is running CraftBukkit version git-Spigot-79a30d7-acbc348 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
[15:15:41 INFO]: Debug logging is disabled
[15:15:41 INFO]: Server Ping Player Sample Count: 12
[15:15:41 INFO]: Using 4 threads for Netty based IO
[15:15:41 INFO]: Generating keypair
[15:15:41 INFO]: Starting Minecraft server on 45.11.113.93:25565
[15:15:41 INFO]: Using default channel type
[15:15:42 WARN]: **** FAILED TO BIND TO PORT!
[15:15:42 WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind
[15:15:42 WARN]: Perhaps a server is already running on that port?
[15:15:42 INFO]: Stopping server
[15:15:42 INFO]: Saving players
>Для продолжения нажмите любую клавишу . . .

Сервер spigot версии 1.12.2 сменил IP с локал хост, что-бы зашли друзья, всё работало

Цитата: Karobochka

—- Minecraft Crash Report —-

WARNING: coremods are present:
MicdoodlePlugin (micdoodlecore-1.12.2-4.0.2.281.jar)
Inventory Tweaks Coremod (inventorytweaks-1.64dev.151.jar)
DLFMLCorePlugin (dynamiclights-1.12.2.jar)
CTMCorePlugin (ctm-mc1.12.2-1.0.2.31.jar)
TLSkinCapeHookLoader (tlskincape_1.12.2-1.4.jar)
Contact their authors BEFORE contacting forge

Time: 6/3/21 6:55 AM
Description: Ticking block entity

java.lang.IllegalArgumentException: Invalid drill: [email protected]
at ic2.core.item.tool.ItemDrill.energyUse(ItemDrill.java:126)
at ic2.core.block.machine.tileentity.TileEntityMiner.mineBlock(TileEntityMiner.java

iner.java:143)
at ic2.core.block.TileEntityBlock.func_73660_a(TileEntityBlock.java:326)
at net.minecraft.world.World.func_72939_s(World.java:1838)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.j

ava:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Unknown Source)


Ну тут всё понятно, моды не соответствуют либо майнкрафту либо друг другу

#25 | 2 января 2022 — 13:24

RimmerRimmer

RimmerRimmer

Поддерживаю, ничего не понимаю в чем рофл.
Пишет порт занят но кем неизвестно, пробывал любой вписать, 16666 55555 любой, ничего не подходит.
JAVA 17
Просто чистый сервер Forge 39.1.2 | 1.18.1

[02:49:08] [Server thread/INFO]: Starting Minecraft server on 31.135.32.130:25565 [02:49:08] [Server thread/INFO]: Using default channel type [02:49:08] [Server thread/WARN]: **** FAILED TO BIND TO PORT! [02:49:08] [Server thread/WARN]: The exception was: java.net.BindException: Cannot assign requested address: bind [02:49:08] [Server thread/WARN]: Perhaps a server is already running on that port? [02:49:08] [Server thread/INFO]: Stopping server [02:49:08] [Server thread/INFO]: Saving worlds [02:49:08] [Server thread/ERROR]: Exception stopping the server

#26 | 2 марта 2022 — 22:49

nidatem

помогите пж у меня сервер с открытыми портами не работает
[17:39:18] [ServerMain/INFO]: Building unoptimized datafixer
[17:39:20] [ServerMain/INFO]: Environment: authHost=’https://authserver.mojang.com’, accountsHost=’https://api.mojang.com’, sessionHost=’https://sessionserver.mojang.com’, servicesHost=’https://api.minecraftservices.com’, name=’PROD’
[17:39:23] [ServerMain/INFO]: Loaded 7 recipes
[17:39:18] [ServerMain/INFO]: Building unoptimized datafixer
[17:39:20] [ServerMain/INFO]: Environment: authHost=’https://authserver.mojang.com’, accountsHost=’https://api.mojang.com’, sessionHost=’https://sessionserver.mojang.com’, servicesHost=’https://api.minecraftservices.com’, name=’PROD’
[17:39:23] [ServerMain/INFO]: Loaded 7 recipes
[17:39:24] [Server thread/INFO]: Starting minecraft server version 1.19.2
>[17:39:24] [Server thread/INFO]: Loading properties
[17:39:25] [Server thread/INFO]: This server is running CraftBukkit version 3600-Spigot-89741d3-aaf484f (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT)
[17:39:25] [Server thread/INFO]: Debug logging is disabled
[17:39:25] [Server thread/INFO]: Using 4 threads for Netty based IO
[17:39:25] [Server thread/INFO]: Server Ping Player Sample Count: 12
[17:39:25] [Server thread/INFO]: Default game type: SURVIVAL
[17:39:25] [Server thread/INFO]: Generating keypair
[17:39:25] [Server thread/INFO]: Starting Minecraft server on *:25565
[17:39:25] [Server thread/INFO]: Using default channel type
[17:39:26] [Server thread/WARN]: **** FAILED TO BIND TO PORT!
[17:39:26] [Server thread/WARN]: The exception was: java.net.BindException: Address already in use: bind
[17:39:26] [Server thread/WARN]: Perhaps a server is already running on that port?
[17:39:26] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.IllegalStateException: Failed to initialize server
at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:969) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at java.lang.Thread.run(Thread.java:833) [. ]
[17:39:26] [Server thread/WARN]: Failed to get system info for World Generation
java.lang.NullPointerException: Cannot invoke «net.minecraft.world.level.storage.SaveData.B()» because «this.m» is null
at net.minecraft.server.MinecraftServer.lambda$20(MinecraftServer.java:1439) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at net.minecraft.SystemReport.a(SourceFile:66) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1438) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1033) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3600-Spigot-89741d3-aaf484f]
at java.lang.Thread.run(Thread.java:833) [. ]
[17:39:26] [Server thread/ERROR]: This crash report has been saved to: C:UsersрЁЄхьDropboxющ (DESKTOP-2NR6AOH)Desktopserver.crash-reportscrash-2022-10-26_17.39.26-
server.txt
[17:39:26] [Server thread/INFO]: Stopping server
[17:39:26] [Server thread/INFO]: Saving players
[17:39:26] [Server thread/INFO]: Saving worlds
[17:39:26] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved

#27 | 26 октября 2022 — 17:41

Статистика форума

Сейчас онлайн: 27

Создано тем 12959 Написано сообщений 816725 Пользователей 366161 Новый участник Данил Шаталов

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Данил Шаталов

Просмотров: 24

Ответов: 0

Просмотров: 16

Ответов: 0

Автор: MrMestro

Просмотров: 6100

Ответов: 15

Просмотров: 38

Ответов: 0

Автор: Kodiweya

Просмотров: 28

Ответов: 0

Автор: lamerok

Источник: ru-minecraft.ru

Не могу зайти на сервер майнкрафт, вылезает ошибка error class java.lang.illegalargumentexception. Что это?

это ошибка Java — скорее всего проблема с каким-то адд-он в твоем браузере, т.к. маловероятно что майкрософт что-то на яве пишет, хотя кто знает.
короче — перезагрузись, попробуй в другом браузере,
попроси друга зайти с его компа — тогда поймете у кого косяк

Ответы

Поиграй в Скайрим,отдохни и замочи пару мамонтов.
Просто ошибка java.

Похожие вопросы

не правда. качаешь пач 1.6 и заходишь на крекованые сервера!
http://www.private-servers.info/CallOfDuty4.html — вот сервера
«ссылка на модерации» — вот латвийские

В папке cstrikegfx посмотри есть ли файл .tga размером 1КБ.
Если есть — удали.

Или удали все .tga файлы в cstrike папке.

прописать ДНС сервера в ручную, узнав их у провайдера или из договора

у меня было подобное после установки одного известного антивирусника, российского производства, типа те сайты не имеют ЕГО сертификата

переустонави майн

Tunngle beta аля имитатор LAN’a(впринципе таже хрень что и Хамачи , только поудобней)
там есть комнаты Майн Крафта , заходиш , конектишся и играеш

minecraft.lv
c-craft.lv

Тут два варианта:
1. Купить игру и играть хоть на пиратских серверах, хоть не на пиратских. Игра стоит 15 евро.
2. Скачать крякнутый клиент и играть только на пиратских серверах. Зато бесплатно, а если есть возможность, то и свой сервер поставить сможешь.

Но лучше всего выруби комп и вали на улицу гулять, и так полно школоты в MC.

Источник: irc.lv


  • Search


    • Search all Forums


    • Search this Forum


    • Search this Thread


  • Tools


    • Jump to Forum


  • #1

    Apr 21, 2019

    UPDATE: Removing Optifine worked at first. Now, however, whenever I create a new world, I get the following crash.

    FINAL UPDATE: Turns out the culprit was, oddly enough, Animania. Removing it completely stopped the crashes. Thank you for your help and ideas <3

    Full report:

    —- Minecraft Crash Report —-
    WARNING: coremods are present:
    llibrary (llibrary-core-1.0.11-1.12.2.jar)
    Inventory Tweaks Coremod (InventoryTweaks-1.63.jar)
    LoadingPlugin (Quark-r1.5-146.jar)
    Do not report to Forge! (If you haven’t disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.5-1.12.2.jar)
    AppleCore (AppleCore-mc1.12.2-3.2.0.jar)
    TheBetweenlandsLoadingPlugin (TheBetweenlands-3.4.6-core.jar)
    PhosphorFMLLoadingPlugin (phosphor-1.12.2-0.1.6+build31.jar)
    SSLoadingPlugin (SereneSeasons-1.12.2-1.2.15-universal.jar)
    DynamicSurroundingsCore (DynamicSurroundings-core-1.12.2-3.5.4.3.jar)
    Contact their authors BEFORE contacting forge
    // There are four lights!
    Time: 4/22/19 9:40 PM
    Description: Exception in server tick loop
    java.lang.IllegalArgumentException
    at net.minecraft.util.WeightedRandom.func_76273_a(SourceFile:18)
    at net.minecraft.util.WeightedRandom.func_76271_a(SourceFile:37)
    at net.minecraft.world.WorldEntitySpawner.func_77191_a(WorldEntitySpawner.java:266)
    at biomesoplenty.common.world.ChunkGeneratorOverworldBOP.func_185931_b(ChunkGeneratorOverworldBOP.java:569)
    at net.minecraft.world.chunk.Chunk.func_186034_a(Chunk.java:1019)
    at net.minecraft.world.chunk.Chunk.func_186030_a(Chunk.java:999)
    at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:157)
    at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:344)
    at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:142)
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:156)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
    at java.lang.Thread.run(Thread.java:745)

    A detailed walkthrough of the error, its code path and all known details is as follows:
    —————————————————————————————
    — System Details —
    Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 1046397416 bytes (997 MB) / 1778384896 bytes (1696 MB) up to 6442450944 bytes (6144 MB)
    JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx6G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    IntCache: cache: 1, tcache: 1, allocated: 3, tallocated: 104
    FML: MCP 9.42 Powered by Forge 14.23.5.2814 43 mods loaded, 43 mods active
    States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored
    | State | ID | Version | Source | Signature |
    |:—— |:—————– |:———————— |:———————————————————– |:—————————————- |
    | LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
    | LCHIJA | mcp | 9.42 | minecraft.jar | None |
    | LCHIJA | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2814.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
    | LCHIJA | forge | 14.23.5.2814 | forge-1.12.2-14.23.5.2814.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
    | LCHIJA | foamfixcore | 7.7.4 | minecraft.jar | None |
    | LCHIJA | dsurroundcore | 3.5.4.3 | minecraft.jar | None |
    | LCHIJA | orbis-lib | 0.2.0 | orbis-lib-1.12.2-0.2.0+build42.jar | db341c083b1b8ce9160a769b569ef6737b3f4cdf |
    | LCHIJA | aether | 0.2.0 | aether_ii-1.12.2-0.2.0+build42-universal.jar | db341c083b1b8ce9160a769b569ef6737b3f4cdf |
    | LCHIJA | biomesoplenty | 7.0.1.2419 | BiomesOPlenty-1.12.2-7.0.1.2419-universal.jar | None |
    | LCHIJA | craftstudioapi | 1.0.0 | CraftStudioAPI-universal-1.0.1.95-mc1.12-alpha.jar | None |
    | LCHIJA | harvestcraft | 1.12.2zb | Pam’s+HarvestCraft+1.12.2zc+The+7mm+Kidney+Stone+Update.jar | None |
    | LCHIJA | twilightforest | 3.8.689 | twilightforest-1.12.2-3.8.689-universal.jar | None |
    | LCHIJA | animania | 1.6.2 | animania-1.12.2-1.6.2.jar | None |
    | LCHIJA | applecore | 3.2.0 | AppleCore-mc1.12.2-3.2.0.jar | None |
    | LCHIJA | jei | 4.15.0.268 | jei_1.12.2-4.15.0.268.jar | None |
    | LCHIJA | appleskin | 1.0.9 | AppleSkin-mc1.12-1.0.9.jar | None |
    | LCHIJA | quark | r1.5-146 | Quark-r1.5-146.jar | None |
    | LCHIJA | autoreglib | 1.3-26 | AutoRegLib-1.3-26.jar | None |
    | LCHIJA | carryon | 1.12.1 | CarryOn+MC1.12.2+v1.12.1.jar | 55e88f24d04398481ae6f1ce76f65fd776f14227 |
    | LCHIJA | ebwizardry | 4.1.4 | Electroblob’s+Wizardry+-+4.1.4+-+MC+1.12.2.jar | None |
    | LCHIJA | erebus | 1.0.29 | Erebus-1.0.29.jar | None |
    | LCHIJA | fbp | 2.4.1 | FancyBlockParticles-1.12.x-2.4.1.jar | None |
    | LCHIJA | foamfix | 0.10.5-1.12.2 | foamfix-0.10.5-1.12.2.jar | None |
    | LCHIJA | gravestone | 1.10.2 | gravestone-1.10.2.jar | None |
    | LCHIJA | waila | 1.8.26 | Hwyla-1.8.26-B41_1.12.2.jar | None |
    | LCHIJA | llibrary | 1.7.18 | llibrary-1.7.18-1.12.2.jar | b9f30a813bee3b9dd5652c460310cfcd54f6b7ec |
    | LCHIJA | iceandfire | 1.7.1 | iceandfire-1.7.1-1.12.2.jar | None |
    | LCHIJA | inventorytweaks | 1.63+release.109.220f184 | InventoryTweaks-1.63.jar | 55d2cd4f5f0961410bf7b91ef6c6bf00a766dcbe |
    | LCHIJA | lex | 1.0.8 | LibEx-1.12.2-1.0.8.jar | None |
    | LCHIJA | radixcore | 1.12.x-2.2.1 | RadixCore-1.12.x-2.2.1-universal.jar | None |
    | LCHIJA | mca | 1.12.2-5.3.1 | MCA-1.12.x-5.3.1-universal.jar | None |
    | LCHIJA | mowziesmobs | 1.5.4 | mowziesmobs-1.5.4.jar | None |
    | LCHIJA | nex | 2.0.8 | NetherEx-1.12.2-2.0.8.jar | None |
    | LCHIJA | nutrition | 4.3.0 | Nutrition-1.12.2-4.3.0.jar | None |
    | LCHIJA | realdrops | 1.2.14 | RealisticItemDrops-1.2.14.jar | None |
    | LCHIJA | sereneseasons | 1.2.15 | SereneSeasons-1.12.2-1.2.15-universal.jar | None |
    | LCHIJA | spiceoflife | 1.3.12 | SpiceOfLife-mc1.12-1.3.12.jar | None |
    | LCHIJA | treechopper | 1.2.4 | Tree-Chopper-Mod-1.12.2.jar | None |
    | LCHIJA | wawla | 2.5.269 | Wawla-1.12.2-2.5.269.jar | d476d1b22b218a10d845928d1665d45fce301b27 |
    | LCHIJA | phosphor-lighting | 1.12.2-0.1.6 | phosphor-1.12.2-0.1.6+build31.jar | f0387d288626cc2d937daa504e74af570c52a2f1 |
    | LCHIJA | orelib | 3.5.2.2 | OreLib-1.12.2-3.5.2.2.jar | 7a2128d395ad96ceb9d9030fbd41d035b435753a |
    | LCHIJA | dsurround | 3.5.4.3 | DynamicSurroundings-1.12.2-3.5.4.3.jar | 7a2128d395ad96ceb9d9030fbd41d035b435753a |
    | LCHIJA | thebetweenlands | 3.4.6 | TheBetweenlands-3.4.6-universal.jar | 38067d6878811efb38b6a045521cfd80b9b60b38 |
    Loaded coremods (and transformers):
    llibrary (llibrary-core-1.0.11-1.12.2.jar)
    net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer
    net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher
    Inventory Tweaks Coremod (InventoryTweaks-1.63.jar)
    invtweaks.forge.asm.ContainerTransformer
    LoadingPlugin (Quark-r1.5-146.jar)
    vazkii.quark.base.asm.ClassTransformer
    Do not report to Forge! (If you haven’t disabled the FoamFix coremod, try disabling it in the config! Note that this bit of text will still appear.) (foamfix-0.10.5-1.12.2.jar)
    pl.asie.foamfix.coremod.FoamFixTransformer
    AppleCore (AppleCore-mc1.12.2-3.2.0.jar)
    squeek.applecore.asm.TransformerModuleHandler
    TheBetweenlandsLoadingPlugin (TheBetweenlands-3.4.6-core.jar)
    thebetweenlands.core.TheBetweenlandsClassTransformer
    PhosphorFMLLoadingPlugin (phosphor-1.12.2-0.1.6+build31.jar)

    SSLoadingPlugin (SereneSeasons-1.12.2-1.2.15-universal.jar)
    sereneseasons.asm.transformer.EntityRendererTransformer
    sereneseasons.asm.transformer.WorldTransformer
    DynamicSurroundingsCore (DynamicSurroundings-core-1.12.2-3.5.4.3.jar)
    org.orecruncher.dsurround.asm.Transformer
    GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    Profiler Position: N/A (disabled)
    Player Count: 0 / 8; []
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to ‘fml,forge’


  • #3

    Apr 21, 2019

    That seems to have fixed it. Thank you!


  • #4

    Apr 22, 2019

    Aaand it’s back to crashing. This time whenever I make a new world. I updated the initial post.


  • #5

    Apr 22, 2019

    Remove mods out one by one to find out which one is causing the issue.

    Say something silly, Laugh ’til it hurts, Take a risk, Sing out loud, Rock the boat, Shake things up, Flirt with disaster, Buy something frivolous, Color outside the lines, Cause a scene, Order dessert, Make waves, Get carried away, Have a great day!

  • To post a comment, please login.

Posts Quoted:

Reply

Clear All Quotes


Thread Status:

Not open for further replies.
  1. Hi, I’m newer to coding Spigot plugins and I’ve run into this error:

    java.lang.IllegalArgumentException: Path cannot be null
        at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.configuration.MemorySection.get(MemorySection.java:237) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.configuration.MemorySection.getBoolean(MemorySection.java:365) ~[patched_1.16.5.jar:git-Paper-735]
        at me.lyndensylvester.halloween.listener.EventListener.spawn(EventListener.java:121) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Paper-735]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:719) ~[patched_1.16.5.jar:git-Paper-735]
        at org.bukkit.craftbukkit.v1_16_R3.event.CraftEventFactory.doEntityAddEventCalling(CraftEventFactory.java:637) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.WorldServer.addEntity0(WorldServer.java:1302) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.WorldServer.addEntity(WorldServer.java:1203) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.WorldAccess.lambda$addAllEntities$0(WorldAccess.java:16) ~[patched_1.16.5.jar:git-Paper-735]
        at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?]
        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) ~[?:?]
        at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[?:?]
        at net.minecraft.server.v1_16_R3.WorldAccess.addAllEntities(WorldAccess.java:16) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.SpawnerCreature.spawnMobsInternal(SpawnerCreature.java:286) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.SpawnerCreature.spawnMobs(SpawnerCreature.java:212) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.SpawnerCreature.a(SpawnerCreature.java:188) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.ChunkProviderServer.lambda$tickChunks$14(ChunkProviderServer.java:867) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.PlayerChunkMap.forEachVisibleChunk(PlayerChunkMap.java:683) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.ChunkProviderServer.tickChunks(ChunkProviderServer.java:849) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.ChunkProviderServer.tick(ChunkProviderServer.java:767) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:576) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1489) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:436) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1341) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1129) ~[patched_1.16.5.jar:git-Paper-735]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:290) ~[patched_1.16.5.jar:git-Paper-735]
        at java.lang.Thread.run(Thread.java:832) [?:?]

    Here’s the code I’m trying to run in my EventListener:

    package me.lyndensylvester.halloween.listener;
    
    import java.util.Random;
    import org.bukkit.Bukkit;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.block.Block;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.LivingEntity;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.Skeleton;
    import org.bukkit.entity.Zombie;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.block.BlockBreakEvent;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.entity.EntitySpawnEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.inventory.EntityEquipment;
    import org.bukkit.inventory.ItemStack;
    import me.lyndensylvester.halloween.utils.Utils;
    import me.lyndensylvester.halloween.Main;
    import me.lyndensylvester.halloween.items.ItemManager;
    
    public class EventListener implements Listener {
    
        private static Main plugin;
       
        @SuppressWarnings("static-access")
        public EventListener(Main plugin) {
            this.plugin = plugin;
           
            Bukkit.getPluginManager().registerEvents(this, plugin);
        }
       
        Player p;
        Block b;
        EntityType t;
       
        /**
        * BlockBreak event
        * 
        * Detect if the player broke a melon block
        * and send a success or failure spawn message
        * 
        * @param event
        */
        @EventHandler
        public void onBlockBreak(BlockBreakEvent event) {
            p = (Player) event.getPlayer();
            b = (Block) event.getBlock();
    
            if (b.getType() == Material.MELON) {
                Random rand = new Random();
                var max = 100;
                var min = 0;
                int chance = rand.nextInt(max - min + 1)  + min;
    
                if (chance > 33) {
                    Location spawnLoc = p.getLocation().add(2,0,0);
                    World world = p.getWorld();
    
                    @SuppressWarnings("unused")
                    Skeleton skeleton = (Skeleton) world.spawnEntity(spawnLoc, EntityType.SKELETON);
                    Bukkit.broadcastMessage(Utils.chat(plugin.getConfig().getString("melon_succes").replace("<player>", p.getName())));
                }
               
                else {
                    Bukkit.broadcastMessage(Utils.chat(plugin.getConfig().getString("melon_fail").replace("<player>", p.getName())));
                }
            }
           
            if (b.getType() == Material.PUMPKIN) {
                Random rand = new Random();
                var max = 100;
                var min = 0;
                int chance = rand.nextInt(max - min + 1) + min;
               
                if (chance > 50) {
                    Location spawnLoc = p.getLocation().add(2,0,0);
                    World world = p.getWorld();
                   
                    @SuppressWarnings("unused")
                    Zombie zombie =(Zombie) world.spawnEntity(spawnLoc, EntityType.ZOMBIE);
                    Bukkit.broadcastMessage(Utils.chat(plugin.getConfig().getString("pumpkin_succes").replace("<player>", p.getName())));
                }
               
                else {
                    Bukkit.broadcastMessage(Utils.chat(plugin.getConfig().getString("pumpkin_fail").replace("<player>", p.getName())));
                }
            }
           
        }
       
        /**
        * EntitySpawn event
        * 
        * Spawn a skeleton 2 blocks to the right of the player
        * 
        * @param event
        */
        @SuppressWarnings({ })
        @EventHandler
        public void spawn(EntitySpawnEvent event) {
    
                Entity entity = event.getEntity();
               
            if (plugin.getConfig().getBoolean(null, true) && (entity instanceof Skeleton)) {
                EntityEquipment  ee = ((Skeleton)entity).getEquipment();
                ee.setHelmet(new ItemStack(Material.MELON));
                ee.setHelmetDropChance(100);
            }
            if (plugin.getConfig().getBoolean(null, true) && (entity instanceof Zombie)) {
                EntityEquipment  ee = ((Zombie)entity).getEquipment();
                ee.setHelmet(new ItemStack(Material.PUMPKIN));
                ee.setHelmetDropChance(100);
            }
            if (plugin.getConfig().getBoolean(null, false)) {
                p.sendMessage("This feature has been disabled! Go to the config to re-enable it!");
            }
        }
       
        /**
        * EntityDeath event
        * 
        * Add custom Drops to the mob
        * 
        * @param event
        */
        @EventHandler
        public void onDeath(EntityDeathEvent event) {
            LivingEntity e = event.getEntity();
            Random rand = new Random();
            var max = 100;
            var min = 0;
            int chance = rand.nextInt(max - min + 1)  + min;
           
            if (e instanceof Skeleton) {
                // 50%
                if (chance < 50) {
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.COAL));
                }
                // 25%
                else if ((49 < chance) && (chance < 75)) {
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.IRON_INGOT));
                }
                // 13%
                else if ((74 < chance) && (chance < 88)) {
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.GOLD_INGOT));
                }
                // 7%
                else if ((87 < chance) && (chance < 95))
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.REDSTONE_WIRE));
                }
                // 4%
                else if ((94 < chance) && (chance < 99)) {
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.DIAMOND));
                }
                // 2%
                else {
                    e.getLocation().getWorld().dropItem(e.getLocation(), new ItemStack(Material.EMERALD));
                }
        }
       
        @EventHandler
        public static void onRightClick(PlayerInteractEvent event) {
            if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
                if (event.getItem() != null) {
                    if (event.getItem().getItemMeta().equals(ItemManager.superSword.getItemMeta()))  {
                        Player p = event.getPlayer();
                        p.getWorld().createExplosion(p.getLocation(), 2.0f);
                        p.sendMessage("&7 You Dare use the Super Sword!");
                    }
                }
            }
           
        }
    }
    
    

    This is what ItemManager does:

    package me.lyndensylvester.halloween.items;
    
    import java.util.ArrayList;
    import java.util.List;
    import org.bukkit.Material;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.inventory.ItemFlag;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    publicclassItemManager {
    
        publicstaticItemStacksuperSword;
    
        publicstaticvoidinit() {
            createSuperSword();
        }
    
        privatestaticvoidcreateSuperSword() {
    
            ItemStack item = new ItemStack(Material.IRON_SWORD, 1);
            ItemMetameta = item.getItemMeta();
            meta.setDisplayName("Super Sword");
            List<String> lore = new ArrayList<>();
            lore.add("&7This is the most powerful sword");
            lore.add("&7in all of Minecradt's history");
            meta.setLore(lore);
            meta.addEnchant(Enchantment.SWEEPING_EDGE, 3, false);
            meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
            item.setItemMeta(meta);
            superSword = item;  
        }
    }
    

    This is how I have my Main file setup:

    package me.lyndensylvester.halloween;
    
    import org.bukkit.plugin.java.JavaPlugin;
    import me.lyndensylvester.halloween.commands.HalloweenCommand;
    import me.lyndensylvester.halloween.items.ItemManager;
    import me.lyndensylvester.halloween.listener.EventListener;
    
    public class Main extends JavaPlugin {
    
        @Override
        public void onEnable() {
            new EventListener(this);
            ItemManager.init();
            getServer().getPluginManager().registerEvents(new EventListener(this), this);
            getCommand("superSword").setExecutor(new HalloweenCommand());
        }
    }

    And this is how I have HalloweenCommand setup:

    package me.lyndensylvester.halloween.commands;
    
    import org.bukkit.Location;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.Skeleton;
    import me.lyndensylvester.halloween.items.ItemManager;
    
    public class HalloweenCommand implements CommandExecutor {
       
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if(!(sender instanceof Player)) {
                sender.sendMessage("Only players may execute this command");
                return true;
            }
           
            Player p = (Player) sender;
           
            if (cmd.getName().equalsIgnoreCase("Halloween")) {
                p.sendMessage("Happy Halloween >:)");
                Location spawnLoc = p.getLocation().add(2,0,0);
                World world = p.getWorld();
               
                @SuppressWarnings("unused")
                Skeleton skeleton = (Skeleton) world.spawnEntity(spawnLoc, EntityType.SKELETON);
                return true;
            }
           
            if (cmd.getName().equalsIgnoreCase("superSword")) {
                p.getInventory().addItem(ItemManager.superSword);
            }
           
            else {
                p.sendMessage("You do not have the permission to execute this command");
            }
            return true;   
        }   
    }
    

    What’s causing the error and how do I fix it? everything in the code is logically sound, but only the superSword works and not the EntitySpawning. Help would be greatly appreciated!

  2. @Lynden Sylver
    Your error says it’s a IllegalArgumentException and path cannot be null.
    Then you can look at your stacktrace and it’s saying:
    at me.lyndensylvester.halloween.listener.EventListener.spawn(EventListener.java:121) ~[?:?]

    You can then deduce that there’s a problem in the EventListener.java file, at line 121, in the method spawn().


    if (plugin.getConfig().getBoolean(nullfalse)) { // This line!
        
    p.sendMessage("This feature has been disabled! Go to the config to re-enable it!");
    }


    The signature of the getBoolean() method is getBoolean(path, defaultValue)
    path cannot be null” is the error message. You get the point.

    psst @timtower wrong section no?

  3. Online

    timtower


    Administrator

    Administrator

    Moderator

    Psst, report button no? :p

    Moved to plugin development.

  4. Forgot the existence of that button shh tim dont make it obvious


    KarimAKL and timtower like this.

  5. @Shqep

    I know Java, but I haven’t worked with paths before.

    Are there any resources available explaining how I can identify the path I need?

    That error has been driving crazy the last couple of days.

    Also, thanks for pinpointing the source of my error, being newer to the API, I’m still learning about all the nuances of the methods I’m using.

    Last edited: Jun 16, 2021

  6. @Lynden Sylver
    Assuming this is a yaml file:

    testString:
      key1: true
      key2: "Hello"
    testString2:
      key3: 1.0
      key4:
      - "List"
      - "of"
      - "String"

    Consider the yaml file as a very big HashMap, and the path is just the key to point to the value. So if you want to get the list of string above, you need to specify the path as “testString2.key4”. Likewise:

    1. config.getBoolean("testString.key1"); // returns true
    2. config.getString("testString.key2"); // returns "Hello"
    3. config.getDouble("testString2.key3"); // returns 1.0
    4. config.getStringList("testString2.key4"); // returns a list containing "List", "of", and "String"
    5. config.getKeys(false); // returns a list of the main keys "testString" and "testString2"

    You can specify the second argument as the “default value”:

    1. config.getBoolean("testString.key4", true); // "testString.key4" path returns null, so true is returned instead
  7. @Shqep

    Just a quick follow-up,

    How would I pass a casted Player into my EntitySpawnEvent so that I can use p.sendMessage?

    I understand Player is not a child of the EntitySpawnEvent, so what’s a workaround that would let me pass a casted Player so I can send the player a message?

    I already have Player p declared in global scope, but how can I instantiate it for use in EntitySpawnEvent? (Refer back to my original post for the EventListener Class where I declare Player as p)

  8. @Lynden Sylver
    That really didn’t make a lot of sense. EntitySpawnEvents are only called only when an entity is created/spawned. They have absolutely nothing to do with a player.
    If you want to detect who used the spawn egg, you might want to refer to the event PlayerInteractEvent or some similar ones.

    If you want to send a player a message (why?), use the Bukkit.getPlayer(name) or Bukkit.getPlayer(uuid). You don’t create a new instance of Player because the new thing won’t be bound to any actual players. Unless you know exactly what you are doing and how to bind that new instance to an existing player for Bukkit to recognize, it’s better to just stay away.

    Defining a Player property for the class is a very bad idea. Just imagine, what if there are many players being assigned to that variable, they keep overriding each other and from your standpoint, you do not know who you are sending the message to.


    Show Spoiler
    Hide Spoiler

    Some more advice since you are new to the api:
    1. You have a class named HalloweenCommand, why not make another small class for the supersword command? Cleans up a bit and you don’t have to call checks for cmd.getName().

    1. getCommand("halloween").setExecutor(new HalloweenCommand());
    2. getCommand("supersword").setExecutor(new SuperswordCommand());
    3. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    4. // No need to check cmd.getName() anymore since it's always "halloween"
    5. assert cmd.getName().equalsIgnoreCase("halloween");
    6. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    7. // No need to check cmd.getName() anymore since it's always "supersword"
    8. assert cmd.getName().equalsIgnoreCase("supersword");

    2. Currently from your codes, the cmd.getName() will never be “halloween” since you never specified its executor.

    1. getCommand("halloween").setExecutor(...);

    3. You’re not checking for permissions in your command class:

    1. // Reread it and you should see it's pretty weird.
    2. if (cmd.getName().equalsIgnoreCase("superSword")) {
    3. p.getInventory().addItem(ItemManager.superSword);
    4. p.sendMessage("You do not have the permission to execute this command");
    5. if(p.hasPermission("permission.node")) {
    6. } else p.sendMessage("no perms L");
    7. // Proper way 2 "negative checks"
    8. if(!p.hasPermission("permission.node")) {
    9. p.sendMessage("no perms lol");
    10. // Stuff down here to avoid too much indentation.

    4. You keep trying to get a key from path null in config in the spawn event. But I assume you already got this fixed by now.

    Other random stuff such as instantiating a Random instance every time the event is called, kind of inefficient, you can probably define a global scope variable for this class.
    Also why static on an event handler method?

Thread Status:

Not open for further replies.

Share This Page


Bukkit Forums

  • #1

Скомпилировал мод, запускаю клиент и выдает такую ошибку.

2016-06-01 08:49:26 [WARNING] [ForgeModLoader] Zip file minecraft.jar failed to read properly, it will be ignored
java.lang.IllegalArgumentException: MALFORMED
    at java.util.zip.ZipCoder.toString(Unknown Source)
    at java.util.zip.ZipFile.getZipEntry(Unknown Source)
    at java.util.zip.ZipFile.access$900(Unknown Source)
    at java.util.zip.ZipFile$ZipEntryIterator.next(Unknown Source)
    at java.util.zip.ZipFile$ZipEntryIterator.nextElement(Unknown Source)
    at java.util.zip.ZipFile$ZipEntryIterator.nextElement(Unknown Source)
    at java.util.jar.JarFile$JarEntryIterator.next(Unknown Source)
    at java.util.jar.JarFile$JarEntryIterator.nextElement(Unknown Source)
    at java.util.jar.JarFile$JarEntryIterator.nextElement(Unknown Source)
    at java.util.Collections.list(Unknown Source)
    at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:60)
    at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42)
    at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71)
    at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:137)
    at cpw.mods.fml.common.Loader.identifyMods(Loader.java:353)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:484)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:183)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:473)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:808)
    at net.minecraft.client.main.Main.main(SourceFile:101)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:27)

Не могу понять как это исправлять. Зарание спасибо.

timaxa007


  • #2

Запаковать в нормальный кодек zip (обычно некоторые пользуются 7-Zip и выбирают не подходящий кодек для запаковывания).

  • #3

так дело в том, что в предыдущих версиях мода все работало как надо.

timaxa007 написал(а):

Запаковать в нормальный кодек zip (обычно некоторые пользуются 7-Zip и выбирают не подходящий кодек для запаковывания).

timaxa007


  • #4

А ты уверен, что в архив не попал какой-нибудь файл с кириллицей?

  • #5

Так, сейчас точно проверю.

timaxa007 написал(а):

А ты уверен, что в архив не попал какой-нибудь файл с кириллицей?

  • #6

Да, если попадает файл с кирилицей, то изменять архив нельзя.

  • #7

timaxa007 написал(а):

А ты уверен, что в архив не попал какой-нибудь файл с кириллицей?

Странно, но нет

timaxa007


  • #8

Тогда я не знаю почему у тебя minecraft.jar не хочет запускаться.

  • #9

У меня тоже такая фигня часто была(не помню как исправил), может попробуй minecraft.jar переустановить и в своем моде покопаться.

  • #10

Понял где искать ошибку, поставил старые ассетсы и теперь стало крашить, уже хоть что-то

  • #11

Всем спасибо за помощь, нашел битые текстуры. Закрывайте.

Содержание

  1. Java MemoryClassLoader (IllegalArgumentException)
  2. 2 Answers 2
  3. java lang illegalargumentexception как исправить
  4. Что это за ошибка java.lang.nullpointerexception
  5. Как исправить ошибку java.lang.nullpointerexception
  6. Для пользователей
  7. Для разработчиков
  8. 12 ответов

Java MemoryClassLoader (IllegalArgumentException)

I have a memory class loader (here) that I am using in a custom Minecraft launcher.

Whenever I load up Minecraft (a Java LWJGL game), I am getting the following error:

I am creating the class loader like this:

As you can see, it manages to load up the first part then suddenly after LWJGL Version it crashes with «input == null».

Edit — Here is the new getResource method.
The error is on «URL()», as shown.

2 Answers 2

A wild guess. it could be this: Warning: URLs for this are not yet implemented! You cannot call getResource() or getResources()!

So your code expects to retrieve an image from the JAR using the unimplemented method. An equivalent of this is probably being executed:

Except that, as we have seen, the Error thrown from getResource is getting ignored and null being used as the value. ImageIO.read goes like this:

Sounds familiar? So, this is roughly what you need to implement:

The MemoryClassLoader is pretty much broken. It does not implement getResource() (as stated in the comment in the source), and also it does not define Packages for the classes it loads (this may or may not break an application).

Most likely that ClassLoader was quickly hacked for testing purposes, leaving the more complicated methods out.

Implementing your own URL protocol to handle getResource() is not too difficult, in getResource() you return an URL that uses a custom protocol name (e.g. «myclassloader://resourcename»), and also a custom implementation of URLStreamHandler that handles that protocol. That may not cover all the loopholes that might cause trouble in locating a resource, if the code loaded through the ClassLoader uses URL.toString() and converts it back it will still break.

Implementing a fully working ClassLoader that does not simple delegation to existing ClassLoaders, is not as simple as most examples make it look.

Источник

java lang illegalargumentexception как исправить

Ряд пользователей (да и разработчиков) программных продуктов на языке Java могут столкнуться с ошибкой java.lang.nullpointerexception (сокращённо NPE), при возникновении которой запущенная программа прекращает свою работу. Обычно это связано с некорректно написанным телом какой-либо программы на Java, требуя от разработчиков соответствующих действий для исправления проблемы. В этом материале я расскажу, что это за ошибка, какова её специфика, а также поясню, как исправить ошибку java.lang.nullpointerexception.

Скриншот ошибки NPE

Что это за ошибка java.lang.nullpointerexception

Появление данной ошибки знаменует собой ситуацию, при которой разработчик программы пытается вызвать метод по нулевой ссылке на объект. В тексте сообщения об ошибке система обычно указывает stack trace и номер строки, в которой возникла ошибка, по которым проблему будет легко отследить.

Номер строки с ошибкой

Что в отношении обычных пользователей, то появление ошибки java.lang.nullpointerexception у вас на ПК сигнализирует, что у вас что-то не так с функционалом пакетом Java на вашем компьютере, или что программа (или онлайн-приложение), работающие на Java, функционируют не совсем корректно. Если у вас возникает проблема, при которой Java апплет не загружен, рекомендую изучить материал по ссылке.

Как исправить ошибку java.lang.nullpointerexception

Как избавиться от ошибки java.lang.nullpointerexception? Способы борьбы с проблемой можно разделить на две основные группы – для пользователей и для разработчиков.

Для пользователей

Если вы встретились с данной ошибкой во время запуска (или работы) какой-либо программы (особенно это касается java.lang.nullpointerexception minecraft), то рекомендую выполнить следующее:

  1. Переустановите пакет Java на своём компьютере. Скачать пакет можно, к примеру, вот отсюда;
  2. Переустановите саму проблемную программу (или удалите проблемное обновление, если ошибка начала появляться после такового);
  3. Напишите письмо в техническую поддержку программы (или ресурса) с подробным описанием проблемы и ждите ответа, возможно, разработчики скоро пофиксят баг.
  4. Также, в случае проблем в работе игры Майнкрафт, некоторым пользователям помогло создание новой учётной записи с административными правами, и запуск игры от её имени.

Java ошибка в Майнкрафт

Для разработчиков

Разработчикам стоит обратить внимание на следующее:

  1. Вызывайте методы equals(), а также equalsIgnoreCase() в известной строке литерала, и избегайте вызова данных методов у неизвестного объекта;
  2. Вместо toString() используйте valueOf() в ситуации, когда результат равнозначен;
  3. Применяйте null-безопасные библиотеки и методы;
  4. Старайтесь избегать возвращения null из метода, лучше возвращайте пустую коллекцию;
  5. Применяйте аннотации @Nullable и @NotNull;
  6. Не нужно лишней автоупаковки и автораспаковки в создаваемом вами коде, что приводит к созданию ненужных временных объектов;
  7. Регламентируйте границы на уровне СУБД;
  8. Правильно объявляйте соглашения о кодировании и выполняйте их.

Есть три страницы наследованные от Fragment

И в одном из них создаются еще 2 фрагмента.

При перемещении по фрагментам быстро вылетает ошибка

Если убрать эти строки , то ошибка пропадает но при переходе на нужный фрагмент он пустой.

Что такое исключения Null Pointer ( java.lang.NullPointerException ) и что их вызывает?

Какие методы / инструменты могут использоваться для определения причины, чтобы исключить исключение из-за преждевременного прекращения работы программы?

12 ответов

Когда вы объявляете ссылочную переменную (т. е. объект), вы действительно создаете указатель на объект. Рассмотрим следующий код, в котором вы объявляете переменную примитивного типа int :

В этом примере переменная x является int , и Java инициализирует ее для 0. Когда вы назначаете его 10 во второй строке, ваше значение 10 записывается в ячейку памяти, на которую указывает x.

Но когда вы пытаетесь объявить ссылочный тип, произойдет что-то другое. Возьмите следующий код:

Первая строка объявляет переменную с именем num , но она не содержит примитивного значения. Вместо этого он содержит указатель (потому что тип Integer является ссылочным типом). Поскольку вы еще не указали, что указать на Java, он устанавливает значение null, что означает «Я ничего не указываю».

Во второй строке ключевое слово new используется для создания экземпляра (или создания ) объекту типа Integer и переменной указателя num присваивается этот объект. Теперь вы можете ссылаться на объект, используя оператор разыменования . (точка).

Exception , о котором вы просили, возникает, когда вы объявляете переменную, но не создавали объект. Если вы попытаетесь разыменовать num . Перед созданием объекта вы получите NullPointerException . В самых тривиальных случаях компилятор поймает проблему и сообщит вам, что «num не может быть инициализирован», но иногда вы пишете код, который непосредственно не создает объект.

Например, вы можете имеют следующий метод:

В этом случае вы не создаете объект obj , скорее предполагая, что он был создан до вызова метода doSomething . К сожалению, этот метод можно вызвать следующим образом:

В этом случае obj имеет значение null. Если метод предназначен для того, чтобы что-то сделать для переданного объекта, целесообразно бросить NullPointerException , потому что это ошибка программиста, и программисту понадобится эта информация для целей отладки.

Альтернативно, там могут быть случаи, когда цель метода заключается не только в том, чтобы работать с переданным в объекте, и поэтому нулевой параметр может быть приемлемым. В этом случае вам нужно будет проверить нулевой параметр и вести себя по-другому. Вы также должны объяснить это в документации. Например, doSomething может быть записано как:

Источник

Добавить комментарий