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

Can/How Get A Server Sided Container


8iggy
 Share

Recommended Posts

How Can I Get A Server Menu/Container? For An Example. I Made A Menu On My Server And Have Some Items In It. I Want To Get All The Information From The Container And Be Able To Access It In My Code.

Hope This Is Enough Info!

Link to comment
Share on other sites

To begin where are you trying to access info for the container? From the server or client? If it's the latter you'll need to send a C2S packet. Then the easiest way to collect info is when the player opens the inventory, since they have a containerMenu variable. The packet would look something like:

 Spoiler
public class C2SPacketForContainer {
    private final String input1;
    private final String input2;

    public C2SPacketForContainer(String input1, String input2) {
        this.input1 = input1;
        this.input2 = input2;
    }
    public C2SPacketForContainer(PacketBuffer packetBuffer) {
        input1 = packetBuffer.readUtf();
        input2 = packetBuffer.readUtf();
    }

    public void encode(PacketBuffer packetBuffer) {
        packetBuffer.writeUtf(input1);
        packetBuffer.writeUtf(input2);
    }

    public static C2SPacketForContainer decode(PacketBuffer packetBuffer) {
        return new C2SPacketForContainer(packetBuffer.readUtf(), packetBuffer.readUtf());
    }

    public void handle(Supplier<NetworkEvent.Context> supplier) {
        NetworkEvent.Context context = supplier.get();
        context.enqueueWork(() -> {
            ServerPlayerEntity player = context.getSender();
            if (player != null) {
                Container container = player.containerMenu;
                if (container instanceof MyContainer) {
                    MyContainer menu = (MyContainer) container;
                    (do stuff)
                }
            }
        });
        context.setPacketHandled(true);
    }
}

 

Edited by urbanxx001
Link to comment
Share on other sites

7 minutes ago, urbanxx001 said:

To begin where are you trying to access info for the container? From the server or client? If it's the latter you'll need to send a C2S packet. Then the easiest way to collect info is when the player opens the inventory, since they have a containerMenu variable. The packet would look something like:

  Hide contents
public class C2SPacketForContainer {
    private final String input1;
    private final String input2;

    public C2SPacketForContainer(String input1, String input2) {
        this.input1 = input1;
        this.input2 = input2;
    }
    public C2SPacketForContainer(PacketBuffer packetBuffer) {
        input1 = packetBuffer.readUtf();
        input2 = packetBuffer.readUtf();
    }

    public void encode(PacketBuffer packetBuffer) {
        packetBuffer.writeUtf(input1);
        packetBuffer.writeUtf(input2);
    }

    public static C2SPacketForContainer decode(PacketBuffer packetBuffer) {
        return new C2SPacketForContainer(packetBuffer.readUtf(), packetBuffer.readUtf());
    }

    public void handle(Supplier<NetworkEvent.Context> supplier) {
        NetworkEvent.Context context = supplier.get();
        context.enqueueWork(() -> {
            ServerPlayerEntity player = context.getSender();
            if (player != null) {
                Container container = player.containerMenu;
                if (container instanceof MyContainer) {
                    MyContainer menu = (MyContainer) container;
                    (do stuff)
                }
            }
        });
        context.setPacketHandled(true);
    }
}

 

I'm trying to get it info from the server and into the client. I'm still new to forge so I'm not sure if this will work for that.

Link to comment
Share on other sites

17 minutes ago, urbanxx001 said:

To begin where are you trying to access info for the container? From the server or client? If it's the latter you'll need to send a C2S packet. Then the easiest way to collect info is when the player opens the inventory, since they have a containerMenu variable. The packet would look something like:

  Hide contents
public class C2SPacketForContainer {
    private final String input1;
    private final String input2;

    public C2SPacketForContainer(String input1, String input2) {
        this.input1 = input1;
        this.input2 = input2;
    }
    public C2SPacketForContainer(PacketBuffer packetBuffer) {
        input1 = packetBuffer.readUtf();
        input2 = packetBuffer.readUtf();
    }

    public void encode(PacketBuffer packetBuffer) {
        packetBuffer.writeUtf(input1);
        packetBuffer.writeUtf(input2);
    }

    public static C2SPacketForContainer decode(PacketBuffer packetBuffer) {
        return new C2SPacketForContainer(packetBuffer.readUtf(), packetBuffer.readUtf());
    }

    public void handle(Supplier<NetworkEvent.Context> supplier) {
        NetworkEvent.Context context = supplier.get();
        context.enqueueWork(() -> {
            ServerPlayerEntity player = context.getSender();
            if (player != null) {
                Container container = player.containerMenu;
                if (container instanceof MyContainer) {
                    MyContainer menu = (MyContainer) container;
                    (do stuff)
                }
            }
        });
        context.setPacketHandled(true);
    }
}

 

So I put It into my code and it seems like the class PacketBuffer doesn't have a method called write/readUtf. I'm currently using 1.16.5 forge. And I also don't know how to use the class.

for example

C2SPacketForContainer packet = new C2SPacketForContainer(what do i put here?);

 

Link to comment
Share on other sites

42 minutes ago, 8iggy said:

So I put It into my code and it seems like the class PacketBuffer doesn't have a method called write/readUtf. I'm currently using 1.16.5 forge. And I also don't know how to use the class.

The inputs are just a template- in this case it's two strings, but they can be ints, chars, etc. or none at all, depending if you need to initially send info across sides. I'd suggest reading Forge's documentation on packets first if you haven't used them before: 
Forge Docs Networking

You usually send the packet by invoking handler methods:

ModPacketHandler.sendToServer(new C2SPacketForContainer(input1, input2));

Where the handler class has packet registration and the methods:

Spoiler
public class ModPacketHandler {
    public static int networkId = 0;

    private static final String NETWORK_PROTOCOL_VERSION = "1";
    public static final SimpleChannel CHANNEL = NetworkRegistry.newSimpleChannel(
            Main.getLocation("main"),
            () -> NETWORK_PROTOCOL_VERSION,
            NETWORK_PROTOCOL_VERSION::equals,
            NETWORK_PROTOCOL_VERSION::equals
    );

    public static void registerC2SPackets() {
        CHANNEL.registerMessage(networkId++,
                C2SPacketForContainer.class,
                C2SPacketForContainer::encode,
                C2SPacketForContainer::decode,
                C2SPacketForContainer::handle,
                Optional.of(NetworkDirection.PLAY_TO_SERVER)
        );
    }

    public static void registerS2CPackets() {
        CHANNEL.registerMessage(networkId++,
                S2CPacketForContainer.class,
                S2CPacketForContainer::encode,
                S2CPacketForContainer::decode,
                S2CPacketForContainer::handle,
                Optional.of(NetworkDirection.PLAY_TO_CLIENT)
        );
    };

	// The only C2S Method

    /**
     * Sends a packet to the server
     * @param msg  Packet to send
     */
    public static void sendToServer(Object msg) {
        CHANNEL.sendToServer(msg);
    }

	// Multiple S2C Methods

    /**
     * Sends a packet to a player
     * @param msg     Packet to send
     * @param player  Player to send to
     */
    public static void sendToClient(Object msg, ServerPlayerEntity player) {
        if (!(player instanceof FakePlayer)) {
            CHANNEL.sendTo(msg, player.connection.connection, NetworkDirection.PLAY_TO_CLIENT);
        }
    }

    /**
     * Sends a packet to players tracking an entity. For tile entities, use chunk or all method instead.
     * @param msg     Packet to send
     * @param entity  Entity being tracked
     */
    public static void sendToClientsTrackingEntity(Object msg, Entity entity) {
        CHANNEL.send(PacketDistributor.TRACKING_ENTITY.with(() -> entity), msg);
    }

    /**
     * Sends a packet to the sender and players tracking an entity. For tile entities, use chunk or all method instead.
     * @param msg     Packet to send
     * @param entity  Entity being tracked
     */
    public static void sendToClientAndClientsTrackingEntity(Object msg, Entity entity) {
        CHANNEL.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity), msg);
    }

    /**
     * Sends a packet to players within a chunk at a position
     * @param msg          Packet to send
     * @param serverWorld  World instance
     * @param pos          Position within chunk
     */
    public static void sendToClientsTrackingChunk(Object msg, ServerWorld serverWorld, BlockPos pos) {
        Chunk chunk = serverWorld.getChunkAt(pos);
        CHANNEL.send(PacketDistributor.TRACKING_CHUNK.with(() -> chunk), msg);
    }

    /**
     * Sends a packet to all players
     * @param msg  Packet to send
     */
    public static void sendToAllClients(Object msg) {
        CHANNEL.send(PacketDistributor.ALL.noArg(), msg);
    }

}

 

The register methods are called in common setup.

Spoiler
 private static void commonSetup(FMLCommonSetupEvent event) {
        event.enqueueWork(() -> {
            ModPacketHandler.registerC2SPackets();
            ModPacketHandler.registerS2CPackets();
        });
}

 

Edited by urbanxx001
Link to comment
Share on other sites

5 hours ago, 8iggy said:

I Made A Menu On My Server And Have Some Items In It. I Want To Get All The Information From The Container And Be Able To Access It In My Code.

Please stop capitalizing every word...

You need to call NetworkHooks.openGui on the server to open your GUI. You also need to register your ScreenFactory on the client.

Link to comment
Share on other sites

16 hours ago, diesieben07 said:

Please stop capitalizing every word...

You need to call NetworkHooks.openGui on the server to open your GUI. You also need to register your ScreenFactory on the client.

SoRrY

Link to comment
Share on other sites

19 hours ago, urbanxx001 said:

The inputs are just a template- in this case it's two strings, but they can be ints, chars, etc. or none at all, depending if you need to initially send info across sides. I'd suggest reading Forge's documentation on packets first if you haven't used them before: 
Forge Docs Networking

You usually send the packet by invoking handler methods:

ModPacketHandler.sendToServer(new C2SPacketForContainer(input1, input2));

Where the handler class has packet registration and the methods:

  Reveal hidden contents
public class ModPacketHandler {
    public static int networkId = 0;

    private static final String NETWORK_PROTOCOL_VERSION = "1";
    public static final SimpleChannel CHANNEL = NetworkRegistry.newSimpleChannel(
            Main.getLocation("main"),
            () -> NETWORK_PROTOCOL_VERSION,
            NETWORK_PROTOCOL_VERSION::equals,
            NETWORK_PROTOCOL_VERSION::equals
    );

    public static void registerC2SPackets() {
        CHANNEL.registerMessage(networkId++,
                C2SPacketForContainer.class,
                C2SPacketForContainer::encode,
                C2SPacketForContainer::decode,
                C2SPacketForContainer::handle,
                Optional.of(NetworkDirection.PLAY_TO_SERVER)
        );
    }

    public static void registerS2CPackets() {
        CHANNEL.registerMessage(networkId++,
                S2CPacketForContainer.class,
                S2CPacketForContainer::encode,
                S2CPacketForContainer::decode,
                S2CPacketForContainer::handle,
                Optional.of(NetworkDirection.PLAY_TO_CLIENT)
        );
    };

	// The only C2S Method

    /**
     * Sends a packet to the server
     * @param msg  Packet to send
     */
    public static void sendToServer(Object msg) {
        CHANNEL.sendToServer(msg);
    }

	// Multiple S2C Methods

    /**
     * Sends a packet to a player
     * @param msg     Packet to send
     * @param player  Player to send to
     */
    public static void sendToClient(Object msg, ServerPlayerEntity player) {
        if (!(player instanceof FakePlayer)) {
            CHANNEL.sendTo(msg, player.connection.connection, NetworkDirection.PLAY_TO_CLIENT);
        }
    }

    /**
     * Sends a packet to players tracking an entity. For tile entities, use chunk or all method instead.
     * @param msg     Packet to send
     * @param entity  Entity being tracked
     */
    public static void sendToClientsTrackingEntity(Object msg, Entity entity) {
        CHANNEL.send(PacketDistributor.TRACKING_ENTITY.with(() -> entity), msg);
    }

    /**
     * Sends a packet to the sender and players tracking an entity. For tile entities, use chunk or all method instead.
     * @param msg     Packet to send
     * @param entity  Entity being tracked
     */
    public static void sendToClientAndClientsTrackingEntity(Object msg, Entity entity) {
        CHANNEL.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity), msg);
    }

    /**
     * Sends a packet to players within a chunk at a position
     * @param msg          Packet to send
     * @param serverWorld  World instance
     * @param pos          Position within chunk
     */
    public static void sendToClientsTrackingChunk(Object msg, ServerWorld serverWorld, BlockPos pos) {
        Chunk chunk = serverWorld.getChunkAt(pos);
        CHANNEL.send(PacketDistributor.TRACKING_CHUNK.with(() -> chunk), msg);
    }

    /**
     * Sends a packet to all players
     * @param msg  Packet to send
     */
    public static void sendToAllClients(Object msg) {
        CHANNEL.send(PacketDistributor.ALL.noArg(), msg);
    }

}

 

The register methods are called in common setup.

  Reveal hidden contents
 private static void commonSetup(FMLCommonSetupEvent event) {
        event.enqueueWork(() -> {
            ModPacketHandler.registerC2SPackets();
            ModPacketHandler.registerS2CPackets();
        });
}

 

Thanks! In The ModPacketHandler Class. What Is Main? If It's My Main Class getLocation Isn't A Method In It.

Edited by 8iggy
Link to comment
Share on other sites

You still capitalizing every word...

the name sounds like it will return a ResourceLocation or the mod id, not sure because urbanxx001 didn't say what the method does

can you actually explain your exact goal to us, because it can be that there is a easier way to do this

Link to comment
Share on other sites

15 hours ago, 8iggy said:

Thanks! In The ModPacketHandler Class. What Is Main? If It's My Main Class getLocation Isn't A Method In It.

Sorry, yes Luis is right it's just a helper function for resourcelocation:

public static ResourceLocation getLocation(String name) {
        return new ResourceLocation(MOD_ID, name);
    }

As he and diesieben said though, if it's a simple problem like calling openGui and registering the screen, then packets are unnecessary, but you need to describe it in more detail. 

Edited by urbanxx001
Link to comment
Share on other sites

8 hours ago, urbanxx001 said:

Sorry, yes Luis is right it's just a helper function for resourcelocation:

public static ResourceLocation getLocation(String name) {
        return new ResourceLocation(MOD_ID, name);
    }

As he and diesieben said though, if it's a simple problem like calling openGui and registering the screen, then packets are unnecessary, but you need to describe it in more detail. 

Can I access all the items using openGUI or registering the screen?

Link to comment
Share on other sites

11 hours ago, urbanxx001 said:

Sorry, yes Luis is right it's just a helper function for resourcelocation:

public static ResourceLocation getLocation(String name) {
        return new ResourceLocation(MOD_ID, name);
    }

As he and diesieben said though, if it's a simple problem like calling openGui and registering the screen, then packets are unnecessary, but you need to describe it in more detail. 

Thanks! I'm going to test this but I'm still having some errors with other stuff. If it's ok with you can I send a message here if I have anymore issues?

Link to comment
Share on other sites

21 hours ago, Luis_ST said:

You still capitalizing every word...

the name sounds like it will return a ResourceLocation or the mod id, not sure because urbanxx001 didn't say what the method does

can you actually explain your exact goal to us, because it can be that there is a easier way to do this

I always say the same thing every time and people still don't get it but I'm trying to get all the items from a server sided menu/inventory. Get all the info in them aswell, like the lore and display name. I figured out how to do it all but don't know how to get an instance of a server menu/inventory.

Link to comment
Share on other sites

19 minutes ago, 8iggy said:

but don't know how to get an instance of a server menu/inventory.

You can't if you're on the client. That's why packets exist and why OpenGui does what it does.

You can only interact with the data the client knows about and OpenGui will send the inventory contents to the client (including all of the lore, because how else would you be able to see it?)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

41 minutes ago, 8iggy said:

Thanks! I'm going to test this but I'm still having some errors with other stuff. If it's ok with you can I send a message here if I have anymore issues?

Of course this is your thread and we're here to help you.

If the place you're trying to access the items is a part of the inventory object (the block, tile entity, container, etc. classes) then it's easier. But if you're still in the process of creating your inventory, I'd suggest any of the following:

-Forge docs on Tile Entities

-Minecraft By Example topics. 

-Examine the source code for objects like Chests.

38 minutes ago, 8iggy said:

 I figured out how to do it all but don't know how to get an instance of a server menu/inventory.

Outside of block/TE/container, an easy way is the player's containerMenu value that I mentioned before, which is whatever menu is currently open:

Container container = player.containerMenu
Edited by urbanxx001
Link to comment
Share on other sites

33 minutes ago, urbanxx001 said:

Of course this is your thread and we're here to help you.

If the place you're trying to access the items is a part of the inventory object (the block, tile entity, container, etc. classes) then it's easier. But if you're still in the process of creating your inventory, I'd suggest any of the following:

-Forge docs on Tile Entities

-Minecraft By Example topics. 

-Examine the source code for objects like Chests.

Outside of block/TE/container, an easy way is the player's containerMenu value that I mentioned before, which is whatever menu is currently open:

Container container = player.containerMenu

I feel really dumb... Sorry for being such a pain. Thanks to everyone who replied to this thread!

  • Like 1
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

    • What should you use 1. in the final Mod and 2. for debugging,  LogManager.getLogger().log(text); or System.out.println(text); and why?
    • Hi, I have created a VM with linux on it, and when i run forge without any mod installed, it is working fine. But the moment we copy the mods from curse to the server it crashes openjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-1~deb9u1-b07)OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode) minecraft 1.16.5 Forge-1.16.5-36.2.19   ---- Minecraft Crash Report ---- // Quite honestly, I wouldn't worry myself about that. Time: 12/2/21 9:48 PM Description: Mod loading error has occurred java.lang.Exception: Mod Loading has failed at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:85) ~[forge:?] {re:classloading} at net.minecraftforge.fml.server.ServerModLoader.load(ServerModLoader.java:51) ~[forge:?] {re:classloading} at net.minecraft.server.Main.main(Main.java:95) ~[?:?] {re:classloading} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312] {} at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312] {} at net.minecraftforge.fml.loading.FMLServerLaunchProvider.lambda$launchService$0(FMLServerLaunchProvider.java:51) ~[forge-1.16.5-36.2.19.jar:36.2] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.server.ServerMain$Runner.runLauncher(ServerMain.java:63) [forge-1.16.5-36.2.19.jar:?] {} at net.minecraftforge.server.ServerMain$Runner.access$100(ServerMain.java:60) [forge-1.16.5-36.2.19.jar:?] {} at net.minecraftforge.server.ServerMain.main(ServerMain.java:57) [forge-1.16.5-36.2.19.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: main Stacktrace: at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1572) ~[asm-9.1.jar:9.1] {} -- MOD create -- Details: Caused by 0: java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) ~[?:1.8.0_312] {} at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_312] {} at net.minecraftforge.fml.AutomaticEventSubscriber.lambda$inject$6(AutomaticEventSubscriber.java:75) ~[forge:?] {re:classloading} at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_312] {} at net.minecraftforge.fml.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:62) ~[forge:?] {re:classloading} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:91) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} Mod File: create-mc1.16.5_v0.3.2g.jar Failure message: Create (create) has failed to load correctly java.lang.ExceptionInInitializerError: null Mod Version: v0.3.2g Mod Issue URL: https://github.com/Creators-of-Create/Create/issues Exception message: java.lang.NullPointerException Stacktrace: at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1572) ~[asm-9.1.jar:9.1] {} at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1546) ~[asm-9.1.jar:9.1] {} at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:769) ~[asm-tree-9.1.jar:9.1] {} at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:649) ~[asm-tree-9.1.jar:9.1] {} at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:452) ~[asm-tree-9.1.jar:9.1] {} at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:133) ~[modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:265) ~[modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) ~[modlauncher-8.0.9.jar:?] {re:classloading} at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) ~[modlauncher-8.0.9.jar:?] {re:classloading} at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_312] {} at net.minecraft.entity.Entity.<clinit>(Entity.java:169) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:abnormals_core.mixins.json:EntityMixin,pl:mixin:A,pl:runtimedistcleaner:A} at java.lang.Class.forName0(Native Method) ~[?:1.8.0_312] {} at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_312] {} at net.minecraftforge.fml.AutomaticEventSubscriber.lambda$inject$6(AutomaticEventSubscriber.java:75) ~[forge:?] {re:classloading} at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_312] {} at net.minecraftforge.fml.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:62) ~[forge:?] {re:classloading} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:91) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} -- MOD architectury -- Details: Mod File: architectury-1.25.36-forge.jar Failure message: Architectury (architectury) has failed to load correctly java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.entity.Entity Mod Version: 1.25.36 Mod Issue URL: https://github.com/shedaniel/architectury/issues Exception message: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.entity.Entity Stacktrace: at java.lang.Class.forName0(Native Method) ~[?:1.8.0_312] {} at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_312] {} at com.sun.proxy.$Proxy30.<clinit>(Unknown Source) ~[?:?] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312] {} at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312] {} at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739) ~[?:1.8.0_312] {} at me.shedaniel.architectury.event.EventFactory.lambda$createInteractionResult$2(EventFactory.java:99) ~[architectury:?] {re:classloading} at me.shedaniel.architectury.event.EventFactory$EventImpl.update(EventFactory.java:369) ~[architectury:?] {re:classloading} at me.shedaniel.architectury.event.EventFactory$EventImpl.invoker(EventFactory.java:335) ~[architectury:?] {re:classloading} at me.shedaniel.architectury.event.EventHandler.registerDelegates(EventHandler.java:68) ~[architectury:?] {re:classloading,pl:runtimedistcleaner:A} at me.shedaniel.architectury.event.EventHandler.init(EventHandler.java:46) ~[architectury:?] {re:classloading,pl:runtimedistcleaner:A} at me.shedaniel.architectury.forge.ArchitecturyForge.<init>(ArchitecturyForge.java:33) ~[architectury:?] {re:classloading} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312] {} at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312] {} at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_312] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} -- MOD forbidden_arcanus -- Details: Caused by 0: java.lang.BootstrapMethodError: java.lang.IllegalAccessError: no such constructor: com.stal111.forbidden_arcanus.entity.projectile.EnergyBallEntity.<init>(EntityType,World)void/newInvokeSpecial at com.stal111.forbidden_arcanus.init.ModEntities.<clinit>(ModEntities.java:33) ~[forbidden_arcanus:16.2.1] {re:classloading,pl:runtimedistcleaner:A} at com.stal111.forbidden_arcanus.ForbiddenArcanus.<init>(ForbiddenArcanus.java:100) ~[forbidden_arcanus:16.2.1] {re:classloading} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312] {} at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312] {} at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_312] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} Caused by 1: java.lang.IllegalAccessError: no such constructor: com.stal111.forbidden_arcanus.entity.projectile.EnergyBallEntity.<init>(EntityType,World)void/newInvokeSpecial at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:483) ~[?:1.8.0_312] {} at com.stal111.forbidden_arcanus.init.ModEntities.<clinit>(ModEntities.java:33) ~[forbidden_arcanus:16.2.1] {re:classloading,pl:runtimedistcleaner:A} at com.stal111.forbidden_arcanus.ForbiddenArcanus.<init>(ForbiddenArcanus.java:100) ~[forbidden_arcanus:16.2.1] {re:classloading} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312] {} at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312] {} at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_312] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} Mod File: forbidden_arcanus-16.2.1.jar Failure message: Forbidden & Arcanus (forbidden_arcanus) has failed to load correctly java.lang.BootstrapMethodError: java.lang.IllegalAccessError: no such constructor: com.stal111.forbidden_arcanus.entity.projectile.EnergyBallEntity.<init>(EntityType,World)void/newInvokeSpecial Mod Version: 16.2.1 Mod Issue URL: NOT PROVIDED Exception message: java.lang.NoClassDefFoundError: net.minecraft.entity.Entity Stacktrace: at java.lang.invoke.MethodHandleNatives.resolve(Native Method) ~[?:1.8.0_312] {} at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:975) ~[?:1.8.0_312] {} at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000) ~[?:1.8.0_312] {} at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1394) ~[?:1.8.0_312] {} at java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1750) ~[?:1.8.0_312] {} at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477) ~[?:1.8.0_312] {} at com.stal111.forbidden_arcanus.init.ModEntities.<clinit>(ModEntities.java:33) ~[forbidden_arcanus:16.2.1] {re:classloading,pl:runtimedistcleaner:A} at com.stal111.forbidden_arcanus.ForbiddenArcanus.<init>(ForbiddenArcanus.java:100) ~[forbidden_arcanus:16.2.1] {re:classloading} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312] {} at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312] {} at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312] {} at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312] {} at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_312] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.2] {re:classloading} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_312] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[?:1.8.0_312] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175) ~[?:1.8.0_312] {} -- System Details -- Details: Minecraft Version: 1.16.5 Minecraft Version ID: 1.16.5 Operating System: Linux (amd64) version 4.9.0-16-amd64 Java Version: 1.8.0_312, Oracle Corporation Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 959408000 bytes (914 MB) / 2160590848 bytes (2060 MB) up to 2867331072 bytes (2734 MB) CPUs: 4 JVM Flags: 2 total; -Xmx3076M -Xms1024M ModLauncher: 8.0.9+86+master.3cf110c ModLauncher launch target: fmlserver ModLauncher naming: srg ModLauncher services: /mixin-0.8.4.jar mixin PLUGINSERVICE /eventbus-4.0.0.jar eventbus PLUGINSERVICE /forge-1.16.5-36.2.19.jar object_holder_definalize PLUGINSERVICE /forge-1.16.5-36.2.19.jar runtime_enum_extender PLUGINSERVICE /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE /forge-1.16.5-36.2.19.jar capability_inject_definalize PLUGINSERVICE /forge-1.16.5-36.2.19.jar runtimedistcleaner PLUGINSERVICE /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE /OptiForge-MC1.16.5-0.5.7.jar OptiFine TRANSFORMATIONSERVICE /OptiForge-MC1.16.5-0.5.7.jar optiforge TRANSFORMATIONSERVICE /forge-1.16.5-36.2.19.jar fml TRANSFORMATIONSERVICE /OptiForge-MC1.16.5-0.5.7.jar optiforgewrapper TRANSFORMATIONSERVICE FML: 36.2 Forge: net.minecraftforge:36.2.19 FML Language Providers: javafml@36.2 minecraft@1 Mod List: create-stuff-additions1.16.5_v1.1.5.jar |Create Stuff Additions |create_stuff_additions |1.1.5 |CREATE_REG|Manifest: NOSIGNATURE immersivecooking-1.0.1.jar |Immersive Cooking |immersivecooking |1.0.1 |CREATE_REG|Manifest: NOSIGNATURE torchslabmod-1.16.4_v1.6.19.jar |Torch Slab Mod |torchslabmod |1.6.18 |CREATE_REG|Manifest: NOSIGNATURE Variant16x-1.16.5-v0.23.1_beta_pre3.jar |Variant16x |variant16x |0.23.1_beta_pre3 |CREATE_REG|Manifest: NOSIGNATURE customfence-1-16-5.jar |Customfence |customfence |1-16-5 |CREATE_REG|Manifest: NOSIGNATURE additionallanterns-1.0.0-mc1.16.jar |Additional Lanterns |additionallanterns |1.0.0 |CREATE_REG|Manifest: NOSIGNATURE jei-1.16.5-7.7.1.137.jar |Just Enough Items |jei |7.7.1.137 |CREATE_REG|Manifest: NOSIGNATURE abnormals_core-1.16.5-3.3.0.jar |Abnormals Core |abnormals_core |3.3.0 |CREATE_REG|Manifest: NOSIGNATURE ChineseWorkshop-1.16.3-3.2.1.jar |ChineseWorkshop |chineseworkshop |3.2.1 |CREATE_REG|Manifest: NOSIGNATURE Kiwi-1.16.5-3.6.1.jar |Kiwi |kiwi |3.6.1 |CREATE_REG|Manifest: NOSIGNATURE macawsbridgesbyg-1.16.5-1.1.jar |Macaw's Bridges - Oh The Biome|macawsbridgesbyg |1.16.5-1.1 |CREATE_REG|Manifest: NOSIGNATURE ZYCraft-1.16.5-3.1.29.jar |ZYCraft |zycraft |3.1.29 |CREATE_REG|Manifest: NOSIGNATURE glassential-forge-1.16.5-1.1.7.jar |Glassential |glassential |1.1.7 |CREATE_REG|Manifest: NOSIGNATURE journeymap-1.16.5-5.7.3.jar |Journeymap |journeymap |5.7.3 |CREATE_REG|Manifest: NOSIGNATURE CTM-MC1.16.1-1.1.2.6.jar |ConnectedTexturesMod |ctm |MC1.16.1-1.1.2.6 |CREATE_REG|Manifest: NOSIGNATURE 1.16.5-additionalbars-2.0.3.jar |Additional Bars |additionalbars |2.0.3 |CREATE_REG|Manifest: NOSIGNATURE decorative_blocks-1.16.4-1.7.2.jar |Decorative Blocks |decorative_blocks |1.7.2 |CREATE_REG|Manifest: NOSIGNATURE macawsbridgesbop-1.16.5-1.2.jar |Macaw's Bridges - Biome O' Ple|macawsbridgesbop |1.16.5-1.2 |CREATE_REG|Manifest: NOSIGNATURE create-confectionery1.16.5_v1.0.2.jar |Create Confectionery |create_confectionery |1.0.2 |CREATE_REG|Manifest: NOSIGNATURE mcw-doors-1.0.3-mc1.16.5.jar |Macaw's Doors |mcwdoors |1.0.3 |CREATE_REG|Manifest: NOSIGNATURE mapperbase-1.16.5-2.4.0.0.jar |Mapper Base |mapperbase |1.16.5-2.4.0.0 |CREATE_REG|Manifest: NOSIGNATURE additional_lights-1.16.4-2.1.3.jar |Additional Lights |additional_lights |2.1.3 |CREATE_REG|Manifest: NOSIGNATURE ironagefurniture 1.16.4-1.16.5 0.2.0.5.jar |Iron Age Furniture |ironagefurniture |1.16.4-0.2.0 |CREATE_REG|Manifest: NOSIGNATURE pathundergates-1.16.4-2.0.0-release.jar |Path Under Gates |pathundergates |1.16.4-1.0.0-release|CREATE_REG|Manifest: 1d:d7:18:bd:bc:50:11:ed:51:4c:ed:33:84:87:03:ef:79:b3:d3:b2:0b:62:68:ed:ee:48:76:61:89:d3:8a:ba forge-1.16.5-36.2.19-universal.jar |Forge |forge |36.2.19 |CREATE_REG|Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90 ChinjufuMod[1.16.5]6.0.1.jar |Chinjufu Mod |chinjufumod |[1.16.5]6.0.1 |CREATE_REG|Manifest: NOSIGNATURE forge-1.16.5-36.2.19-server.jar |Minecraft |minecraft |1.16.5 |CREATE_REG|Manifest: NOSIGNATURE mcw-bridges-2.0.0-mc1.16.5.jar |Macaw's Bridges |mcwbridges |2.0.0 |CREATE_REG|Manifest: NOSIGNATURE FarmersDelight-1.16.5-0.5.1.jar |Farmer's Delight |farmersdelight |1.16.5-0.5.1 |CREATE_REG|Manifest: NOSIGNATURE DustrialDecor-1.2.9.jar |'Dustrial Decor |dustrial_decor |1.2.8 |CREATE_REG|Manifest: NOSIGNATURE MorePaths-1.16.1-1.3.2.jar |MorePaths |morepaths |1.16-1.3.2 |CREATE_REG|Manifest: NOSIGNATURE embellishcraft-1.16.5-3.4.0.0.jar |EmbellishCraft |embellishcraft |1.16.5-3.4.0.0 |CREATE_REG|Manifest: NOSIGNATURE BiomesOPlenty-1.16.5-13.1.0.477-universal.jar |Biomes O' Plenty |biomesoplenty |1.16.5-13.1.0.477 |CREATE_REG|Manifest: NOSIGNATURE embellishcraft-bop-1.16.5-3.4.0.jar |EmbellishCraft BoP Addon |embellishcraft-bop |1.16.5-3.4.0 |CREATE_REG|Manifest: NOSIGNATURE nekoration-1.16.X-1.4.2.jar |Nekoration |nekoration |1.4.2 |CREATE_REG|Manifest: NOSIGNATURE mcw-fences-1.0.1-mc1.16.5.jar |Macaw's Fences and Walls |mcwfences |1.0.1 |CREATE_REG|Manifest: NOSIGNATURE create-addon-v5.jar |Create Add-On |create_addon |1.0.0 |CREATE_REG|Manifest: NOSIGNATURE supermartijn642corelib-1.0.14a-mc1.16.5.jar |SuperMartijn642's Core Lib |supermartijn642corelib |1.0.14a |CREATE_REG|Manifest: NOSIGNATURE masonry-1.16.3-0.3.6.jar |Masonry |masonry |NONE |CREATE_REG|Manifest: NOSIGNATURE fairylights-4.0.5-1.16.5.jar |Fairy Lights |fairylights |4.0.5 |CREATE_REG|Manifest: NOSIGNATURE farmersdelightintegration-1.16.5-1.0.3.jar |Farmer's Delight Integration |farmersdelightintegration |1.16.5-1.0.3 |CREATE_REG|Manifest: NOSIGNATURE jeiintegration_1.16.5-7.0.1.15.jar |JEI Integration |jeiintegration |7.0.1.15 |CREATE_REG|Manifest: NOSIGNATURE decorative_winter-0.1.2.jar |Decorative Winter |decorative_winter |0.1.2 |CREATE_REG|Manifest: NOSIGNATURE flywheel-1.16-0.2.5.jar |Flywheel |flywheel |1.16-0.2.5 |CREATE_REG|Manifest: NOSIGNATURE steampowered-1.16.5-1.1.9.jar |Create: Steam Powered |steampowered |1.16.5-1.1.9 |CREATE_REG|Manifest: NOSIGNATURE create-mc1.16.5_v0.3.2g.jar |Create |create |v0.3.2g |ERROR |Manifest: NOSIGNATURE morecreatestuffs-mc1.16-1.4.1b.jar |More Create Stuffs |morecreatestuffs |mc1.16-1.4.1b |CREATE_REG|Manifest: NOSIGNATURE createdeco-1.1.2-1.16.5.jar |Create Deco |createdeco |1.1.2-1.16.5 |CREATE_REG|Manifest: NOSIGNATURE Patchouli-1.16.4-53.2.jar |Patchouli |patchouli |1.16.4-53.2 |CREATE_REG|Manifest: NOSIGNATURE GaiaDimension-Bridges-1.16.5-1.0.1a.jar |Gaia Dimension - Wood Bridges |gaia_dimension_wood_bridges |1.0.0 |CREATE_REG|Manifest: NOSIGNATURE RandomDecorativeThings-1.16.5-0.1.2.jar |Random Decorative Things |randomdecorativethings |0.1.2 |CREATE_REG|Manifest: NOSIGNATURE DoubleSlabs-1.16-3.7.2.jar |Double Slabs |doubleslabs |3.7.2 |CREATE_REG|Manifest: NOSIGNATURE lanterncolors-1.16.3-2.1.1.jar |Lantern Colors |lanterncolors |1.16.2-2.1.1 |CREATE_REG|Manifest: NOSIGNATURE buildersaddition-1.16.5-20210807a.jar |Builders Crafts & Addition |buildersaddition |1.16.5-20210807a |CREATE_REG|Manifest: NOSIGNATURE Blocks+-1.16.5-1.2.jar |Blocks + |blocksplus |1.2 |CREATE_REG|Manifest: NOSIGNATURE worldedit-mod-7.2.5-dist.jar |WorldEdit |worldedit |7.2.5+57d5ac9 |CREATE_REG|Manifest: NOSIGNATURE mcw-roofs-2.0.1-mc1.16.5-4.jar |Macaw's Roofs |mcwroofs |2.0.1 |CREATE_REG|Manifest: NOSIGNATURE nethers_delight-2.1.jar |Nethers Delight |nethers_delight |2.1 |CREATE_REG|Manifest: NOSIGNATURE MarketCrates-1.16.4-35.1.4-v1.1-universal.jar |Market Crates |marketcrates |v1.1-universal |CREATE_REG|Manifest: NOSIGNATURE cfm-7.0.0pre22-1.16.3.jar |MrCrayfish's Furniture Mod |cfm |7.0.0-pre22 |CREATE_REG|Manifest: NOSIGNATURE morecfm-1.3.1-1.16.3.jar |MrCrayfish's More Furniture Mo|morecfm |1.3.1 |CREATE_REG|Manifest: NOSIGNATURE architectury-1.25.36-forge.jar |Architectury |architectury |1.25.36 |ERROR |Manifest: NOSIGNATURE connectedglass-1.1.1-mc1.16.jar |Connected Glass |connectedglass |1.1.1 |CREATE_REG|Manifest: NOSIGNATURE otherblocks-0.1.18.jar |Other Blocks |otherblocks |0.1.18 |CREATE_REG|Manifest: NOSIGNATURE mcw-furniture-2.0.1-mc1.16.5.jar |Macaw's Furniture |mcwfurnitures |2.0.1 |CREATE_REG|Manifest: NOSIGNATURE NefsMedievalPub+v9.8(1.16.5).jar |Nef Deco Mod |nefdecomod |0.9.8 |CREATE_REG|Manifest: NOSIGNATURE byg-1.3.5.jar |Oh The Biomes You'll Go |byg |1.3.4 |CREATE_REG|Manifest: NOSIGNATURE improved_windows-v1.0.1.jar |Improved Windows |improved_windows |v1.0.1 |CREATE_REG|Manifest: NOSIGNATURE additionalbarsbop-2.0.3.jar |Additional Bars (Biomes o' Ple|additionalbarsbop |2.0.3 |CREATE_REG|Manifest: NOSIGNATURE xkdeco_0.2.4.jar |XK's Deco |xkdeco |0.2.4 |CREATE_REG|Manifest: NOSIGNATURE valhelsia_core-16.0.13a.jar |Valhelsia Core |valhelsia_core |16.0.13a |CREATE_REG|Manifest: NOSIGNATURE forbidden_arcanus-16.2.1.jar |Forbidden & Arcanus |forbidden_arcanus |16.2.1 |ERROR |Manifest: NOSIGNATURE effortlessbuilding-1.16.3-2.23.jar |Effortless Building |effortlessbuilding |1.16.3-2.23 |CREATE_REG|Manifest: NOSIGNATURE corail_pillar-1.16-5.0.0.jar |Corail Pillar |corail_pillar |5.0.0 |CREATE_REG|Manifest: NOSIGNATURE mcw-lights-1.0.0-mc1.16.5.jar |Macaw's Lights and Lamps |mcwlights |1.0.0 |CREATE_REG|Manifest: NOSIGNATURE createaddition-1.16.5-20211122b.jar |Create Crafts & Additions |createaddition |1.16.5-20211122b |CREATE_REG|Manifest: NOSIGNATURE Crash Report UUID: 9e544e5e-54e9-47ec-a7c6-ddcc92fb0097  
    • Yes that is an example of a serialization method.
    • Oh, so load from/into memory? Like this is adding a new "serializer" to the "acceptedItems" aka -> 0_0, 0_1, 0_2 etc.???, if the length is 1? If not, it will create a new array which will serialize like 0, 1, 2, 3? I really still don't understand what I'm talking about.
    • In programming serialization usually means converting to a "storable" format. If you have an object in memory and you serialize it to e.g. JSON you can then store that JSON file on disk or send it over the network. If you then deserialize that JSON back into an object of that same type you have an equivalent object back.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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