Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

1.14.4 What does the discriminator byte do in PacketBuffers?


Keheck
 Share

Recommended Posts

I am currently setting up some networking to synchronize data between Clients and Servers, and I've been running into a problem where I got an invalid discriminator byte on my channel.

I've fixed that by "shifting" the data written to the PacketBuffer in my encoding method by one byte.

To know what exactly what I'm talking about, you can take a look at this and that class, they contain the important stuff (Mod's main class and the Message class, respectively). The packet is sent off here . (An Item class' onItemRightClick method)

 

Or you can open the spoiler:

 
 
 
 
 
 
 
 
Spoiler

In the mod's main class (io.github.kehek.mobfighters.Mobfighters)


private static int MSG_ID = 0;
// CHANNEL is a SimpleChannel instance named "mobfighters:main" and a simple version cheking of "1".equals("1") and a Supplier<String> returning "1"
public void doCommonSetup(FMLCommonSetupEvent event)
{                               //Originally MSG_ID++, doesn't change the outcome in any notable ways though
    MobfightersNetworkHandler.CHANNEL.registerMessage(++MSG_ID, FightStartPacket.class, FightStartPacket::encode, FightStartPacket::decode, FightStartPacket::handle);
}

In the message class (io.github.keheck.mobfighters.util.network.FightStartPacket)


// Offset the data by one byte, to get a valid discriminator at index 0
// Was previously not present, and caused invalid discriminator problems
private static final int off = 1;
public static void encode(FightStartPacket packet, PacketBuffer buffer)
{
    for(int i = 0; i < 4; i++)
    {
        // Put the least significant bits in the buffer
        boolean putLeast = i%2 == 0;

        // Put the player in the buffer
        if(i < 2)
        {
            if(putLeast)
                buffer.setLong(i*Long.BYTES+off, packet.playerUUID.getLeastSignificantBits());
            else
                buffer.setLong(i*Long.BYTES+off, packet.playerUUID.getMostSignificantBits());
        }
        // Put the enemy in the buffer
        else
        {
            if(putLeast)
                buffer.setLong(i*Long.BYTES+off, packet.enemyUUID.getLeastSignificantBits());
            else
                buffer.setLong(i*Long.BYTES+off, packet.enemyUUID.getMostSignificantBits());
        }
    }
    buffer.setInt(Long.BYTES*4+off, packet.fightID);
    buffer.setBoolean(Long.BYTES*4 + Integer.BYTES+off, packet.enemyWild);
}

In the item's class (io.github.keheck.mobfighters.item.FightInitiatorItem)


@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn)
{
    // Disclaimer: Simplified for readability
    if(!worldIn.isRemote())
    {
        ServerPlayerEntity serverPlayer = (ServerPlayerEntity)playerIn;

        // I know, there are convenience-methods for sending packets to clients.
        MobfightersNetworkHandler.CHANNEL.sendTo
                (
                        new FightStartPacket(1, playerIn, playerIn),
                        serverPlayer.connection.getNetworkManager(),
                        NetworkDirection.PLAY_TO_CLIENT
                );
    }

    return super.onItemRightClick(worldIn, playerIn, handIn);
}

 

 

It seems like the discriminator is somehow tied to the id of the Message registered on the channel but I would like some confirmation/correction on that theory.

What is the discriminator actually used for?

Link to comment
Share on other sites

2 minutes ago, Keheck said:

It seems like the discriminator is somehow tied to the id of the Message registered on the channel but I would like some confirmation/correction on that theory.

It's not tied to it. It is it.

 

Do not use the set methods on PacketBuffer. Use writeXXX to write and readXXX to read. Both must be done in the same order and you must write and read exactly the same data.

Link to comment
Share on other sites

So if I understood correctly, the first byte of a packet payload is always(?) the id of the message in the specific channel. It is to correctly identify the message that the payload needs to be decoded into, since there is no (more efficient) way to store the message type itself into the payload, correct?

Link to comment
Share on other sites

9 minutes ago, Keheck said:

So if I understood correctly, the first byte of a packet payload is always(?) the id of the message in the specific channel.

If you use SimpleChannel, yes. You can also do completely custom packets by using newEventChannel.

 

10 minutes ago, Keheck said:

It is to correctly identify the message that the payload needs to be decoded into, since there is no (more efficient) way to store the message type itself into the payload, correct?

It's how SimpleChannel is implemented. It gives every message an ID and sends that ID as the first byte, so that the receiver knows which message type it is. You could use newEventChannel and write your own implementation, if you need it.

Link to comment
Share on other sites

3 minutes ago, diesieben07 said:

You could use newEventChannel and write your own implementation, if you need it.

When would it be better to use that instead of a SimpleChannel? Like, what are some example cases you could name?

Link to comment
Share on other sites

Just now, Keheck said:

When would it be better to use that instead of a SimpleChannel? Like, what are some example cases you could name?

I have never used it. You would need to use it if you had more than 256 different packets (you would run out of IDs with SimpleChannel then). It can also be useful when communicating with a plugin on a non-forge server (Sponge or Bukkit), which don't have the SimpleChannel implementation and might use a custom encoding.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • quiero dormir uwu
    • Hi, mod called "charging gadgets" is crushing forge minecraft 1.18.1 when i place block from this mod, im temporary playing On 1.18 cuz its not happening on 1.18 but c'mon, pls fix it, 1.18.1 is better and I Wonder i could use this version
    • I am trying to add an entity into minecraft using forge. i had gotten the game to run without errors until i tried to /summon him ingame.  I dont understand what im missing but i assume it has to do with the attributes not registering.  Entity class:https://pastebin.com/WVBGZWBZ Player Events class:https://pastebin.com/NpuTE53S Error log:  https://pastebin.com/Dj59TPSf I will be forever in debt if you decide to help with this
    • Server console errors are shown below:   [main/FATAL]: Crash report saved to ./crash-reports/crash-2022-01-28_20.38.08-fml.txt [main/FATAL]: Preparing crash report with UUID 4b95805c-d1ad-46d0-8f4b-3246b497f79c ---- Minecraft Crash Report ---- // This doesn't make any sense! Time: 1/28/22, 8:38 PM Description: Mod loading error has occurred java.lang.Exception: Mod Loading has failed at net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:69) ~[forge-1.18.1-39.0.63-universal.jar%2366!/:?] {re:classloading} at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:53) ~[forge-1.18.1-39.0.63-universal.jar%2366!/:?] {re:classloading} at net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2362!/:?] {re:classloading} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.63.jar%2323!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: main Stacktrace: at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:71) ~[fmlloader-1.18.1-39.0.63.jar%2323!/:1.0] {} -- MOD notenoughanimations -- Details: Mod File: notenoughanimations-forge-1.4.0-mc1.18.jar Failure message: NotEnoughAnimations Mod (notenoughanimations) has failed to load correctly java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER Mod Version: 1.4.0 Mod Issue URL: https://github.com/tr7zw/NotEnoughAnimations/issues Exception message: java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER Stacktrace: at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:71) ~[fmlloader-1.18.1-39.0.63.jar%2323!/:1.0] {} at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-9.1.0.jar%235!/:?] {} at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:110) ~[securejarhandler-1.0.1.jar:?] {} at cpw.mods.cl.ModuleClassLoader.lambda$findClass$16(ModuleClassLoader.java:213) ~[securejarhandler-1.0.1.jar:?] {} at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:223) ~[securejarhandler-1.0.1.jar:?] {} at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:213) ~[securejarhandler-1.0.1.jar:?] {} at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:130) ~[securejarhandler-1.0.1.jar:?] {} at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {} at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?] {} at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?] {} at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?] {} at java.lang.Class.getDeclaredConstructor(Class.java:2754) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[javafmllanguage-1.18.1-39.0.63.jar%2364!/:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- MOD death_compass -- Details: Caused by 0: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/item/ItemPropertyFunction at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?] {} at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?] {} at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?] {} at java.lang.Class.getDeclaredConstructor(Class.java:2754) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[javafmllanguage-1.18.1-39.0.63.jar%2364!/:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} Mod File: DeathCompass-0.1.1.jar Failure message: DeathCompass (death_compass) has failed to load correctly java.lang.NoClassDefFoundError: net/minecraft/client/renderer/item/ItemPropertyFunction Mod Version: 0.1.1 Mod Issue URL: Exception message: java.lang.ClassNotFoundException: net.minecraft.client.renderer.item.ItemPropertyFunction Stacktrace: at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-1.0.1.jar:?] {} at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {} at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?] {} at java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?] {} at java.lang.Class.getConstructor0(Class.java:3578) ~[?:?] {} at java.lang.Class.getDeclaredConstructor(Class.java:2754) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[javafmllanguage-1.18.1-39.0.63.jar%2364!/:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- System Details -- Details: Minecraft Version: 1.18.1 Minecraft Version ID: 1.18.1 Operating System: Linux (amd64) version 4.15.0-159-generic Java Version: 17.0.1, Eclipse Adoptium Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium Memory: 800094208 bytes (763 MiB) / 1073741824 bytes (1024 MiB) up to 3221225472 bytes (3072 MiB) CPUs: 3 Processor Vendor: AuthenticAMD Processor Name: AMD EPYC 7351P 16-Core Processor Identifier: AuthenticAMD Family 23 Model 1 Stepping 2 Microarchitecture: Zen Frequency (GHz): -0.00 Number of physical packages: 1 Number of physical CPUs: 16 Number of logical CPUs: 32 Graphics card #0 name: unknown Graphics card #0 vendor: unknown Graphics card #0 VRAM (MB): 0.00 Graphics card #0 deviceId: unknown Graphics card #0 versionInfo: unknown Virtual memory max (MB): 98199.23 Virtual memory used (MB): 96554.03 Swap memory total (MB): 33789.99 Swap memory used (MB): 705.40 JVM Flags: 3 total; -Xms1024M -Xmx3072M -XX:-UsePerfData ModLauncher: 9.1.0+9.1.0+main.6690ee51 ModLauncher launch target: forgeserver ModLauncher naming: srg ModLauncher services: mixin PLUGINSERVICE eventbus PLUGINSERVICE object_holder_definalize PLUGINSERVICE runtime_enum_extender PLUGINSERVICE capability_token_subclass PLUGINSERVICE accesstransformer PLUGINSERVICE runtimedistcleaner PLUGINSERVICE mixin TRANSFORMATIONSERVICE fml TRANSFORMATIONSERVICE FML Language Providers: minecraft@1.0 javafml@null Mod List: server-1.18.1-20211210.034407-srg.jar |Minecraft |minecraft |1.18.1 |COMMON_SET|Manifest: NOSIGNATURE maessentials-1.18.1-5.0.0.jar |Ma Enchants |maenchants |1.18.1-5.0.0 |COMMON_SET|Manifest: NOSIGNATURE cleancut-mc1.18-3.0-forge.jar |Clean Cut |cleancut |3.0 |COMMON_SET|Manifest: NOSIGNATURE voicechat-forge-1.18.1-2.2.15.jar |Simple Voice Chat |voicechat |1.18.1-2.2.15 |COMMON_SET|Manifest: NOSIGNATURE torchslabmod-1.18.1_v1.7.5.jar |Torch Slab Mod |torchslabmod |1.7.5 |COMMON_SET|Manifest: NOSIGNATURE endrem_forge-5.0.1-R-1.18.1.jar |End Remastered |endrem |5.0-R-1.18.1 |COMMON_SET|Manifest: NOSIGNATURE [ERROR] notenoughanimations-forge-1.4.0-mc1.18.jar |NotEnoughAnimations Mod |notenoughanimations |1.4.0 |ERROR |Manifest: NOSIGNATURE curios-forge-1.18.1-5.0.6.0.jar |Curios API |curios |1.18.1-5.0.6.0 |COMMON_SET|Manifest: NOSIGNATURE sodium_reloaded-mc1.18.1-1.0.jar |Sodium Reloaded |sodium_reloaded |1.0 |COMMON_SET|Manifest: NOSIGNATURE Neat 1.8-30.jar |Neat |neat |1.8-30 |COMMON_SET|Manifest: NOSIGNATURE waystones-forge-1.18.1-9.0.3.jar |Waystones |waystones |9.0.3 |COMMON_SET|Manifest: NOSIGNATURE advancednetherite-1.10.0-1.18.1.jar |Advanced Netherite |advancednetherite |1.10.0 |COMMON_SET|Manifest: NOSIGNATURE journeymap-1.18.1-5.8.0beta11.jar |Journeymap |journeymap |5.8.0beta11 |COMMON_SET|Manifest: NOSIGNATURE TravelersBackpack-1.18.1-7.0.1.jar |Traveler's Backpack |travelersbackpack |7.0.1 |COMMON_SET|Manifest: NOSIGNATURE artifacts-1.18.1-4.0.2.jar |Artifacts |artifacts |1.18.1-4.0.2 |COMMON_SET|Manifest: NOSIGNATURE InventoryHud_[1.18].forge-3.4.4.jar |Inventory HUD+(Forge edition) |inventoryhud |3.4.4 |COMMON_SET|Manifest: NOSIGNATURE copper-mod-1.9.jar |Copper Armor & Tools |copperarmorandtools |1.9 |COMMON_SET|Manifest: NOSIGNATURE balm-2.4.1+0.jar |Balm |balm |2.4.1+0 |COMMON_SET|Manifest: NOSIGNATURE [ERROR] DeathCompass-0.1.1.jar |DeathCompass |death_compass |0.1.1 |ERROR |Manifest: NOSIGNATURE justzoom_forge_1.0.1_MC_1.18-1.18.1.jar |Just Zoom |justzoom |1.0.1 |COMMON_SET|Manifest: NOSIGNATURE forge-1.18.1-39.0.63-universal.jar |Forge |forge |39.0.63 |COMMON_SET|Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df::0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90 expandability-5.0.0-forge.jar |ExpandAbility |expandability |5.0.0 |COMMON_SET|Manifest: NOSIGNATURE konkrete_forge_1.3.3_MC_1.18-1.18.1.jar |Konkrete |konkrete |1.3.3 |COMMON_SET|Manifest: NOSIGNATURE corpse-1.18.1-1.0.4.jar |Corpse |corpse |1.18.1-1.0.4 |COMMON_SET|Manifest: NOSIGNATURE responsiveshields-1.1-mc1.18.x.jar |Responsive Shields |responsiveshields |1.1 |COMMON_SET|Manifest: NOSIGNATURE DungeonsArise-1.18.1-2.1.49c-beta.jar |When Dungeons Arise |dungeons_arise |2.1.49c-1.18.1 |COMMON_SET|Manifest: NOSIGNATURE Crash Report UUID: 4b95805c-d1ad-46d0-8f4b-3246b497f79c FML: 39.0 Forge: net.minecraftforge:39.0.63 [main/FATAL]: Failed to start the minecraft server net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [ NotEnoughAnimations Mod (notenoughanimations) has failed to load correctly §7java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/screens/Screen for invalid dist DEDICATED_SERVER, DeathCompass (death_compass) has failed to load correctly §7java.lang.NoClassDefFoundError: net/minecraft/client/renderer/item/ItemPropertyFunction ] at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:235) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$21(ModLoader.java:200) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:200) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$11(ModLoader.java:177) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:177) ~[fmlcore-1.18.1-39.0.63.jar%2363!/:?] at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:46) ~[forge-1.18.1-39.0.63-universal.jar%2366!/:?] at net.minecraft.server.Main.main(Main.java:104) ~[server-1.18.1-20211210.034407-srg.jar%2362!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:46) ~[fmlloader-1.18.1-39.0.63.jar%2323!/:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.0.jar%235!/:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?]
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.