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

[1.16.5] Creating my own screen overlay for my custom Effect


mclich
 Share

Recommended Posts

Hello. In my mod i created my own Effect and registered it. What i want this effect to do when applying on player is create screen overlay animation, similar to Nausea Effect (or Confusion Effect). I've done some researching in game files and discovered renderConfusionOverlay method in GameRenderer class. This method is private, so i just copy-pasted it in my applyEffectTick method, but it didn't work. That method used some RenderSystem static methods inside itself, and they throwed IllegalStateException("Rendersystem called from wrong thread") when i tried to use them in my files. So that is the problem. Is there any way to implement such kind of an animation since renderConfusionOverlay doesn't work?

Link to comment
Share on other sites

2 hours ago, diesieben07 said:

Tracing the code as to where that overlay is rendered, I think TickEvent.RenderTickEvent with Phase.END is the closest you can get to it, it runs shortly after renderConfusionOverlay.

Seems it won't help much in my case. I mean what i want to do is just make my own renderConfusionOverlay method, since i cannot use renderConfusionOverlay implementation because it needs to be called in a specific thread

Link to comment
Share on other sites

So i just need to call my overlay method inside that event listener? Like this e.g.?

@SubscribeEvent
public void renderOverlay(RenderTickEvent event)
{
	if(event.phase==Phase.END)
	{
		this.createOverlay();
	}
}

Sorry if i am asking obvious things, but i don't understand at all how this should works since RenderTickEvent is called after renderConfusionOverlay. To create overlay in game, i need to manually call my renderOverlay method?

Link to comment
Share on other sites

5 hours ago, mclich said:

but i don't understand at all how this should works since RenderTickEvent is called after renderConfusionOverlay

So?

5 hours ago, mclich said:

To create overlay in game, i need to manually call my renderOverlay method?

Yes, that is why we have events.

Link to comment
Share on other sites

5 minutes ago, diesieben07 said:

Show updated code and the full stacktrace.

Effect class:

@EventBusSubscriber(modid=ElderNorseGods.MOD_ID, bus=EventBusSubscriber.Bus.MOD)
public class DrunkennessEffect extends Effect
{
	public static final String ID="drunkenness";
	public static final int COLOR=0xf0c02c;
	
	private float deformation=1F;
	
	public DrunkennessEffect()
	{
		super(EffectType.HARMFUL, DrunkennessEffect.COLOR);
		this.addAttributeModifier(Attributes.MOVEMENT_SPEED, "1f8955f0-2985-4658-9dd8-0eb83fe32283", -0.05D, AttributeModifier.Operation.MULTIPLY_TOTAL);
		this.addAttributeModifier(Attributes.ATTACK_SPEED, "490e03c0-319b-4b22-b094-a98636fa6a4a", -0.05D, AttributeModifier.Operation.MULTIPLY_TOTAL);
		this.addAttributeModifier(Attributes.ATTACK_DAMAGE, "9855509b-0900-48de-a4b0-82eefaa24d62", 0.1D, AttributeModifier.Operation.MULTIPLY_TOTAL);
	}
	
	@Override
	public boolean isDurationEffectTick(int duration, int amplifier)
	{
		this.deformation=this.deformation==1F?3F:1F;
		this.renderOverlay(new RenderTickEvent(Phase.END, 10F));
		return false;
	}
	
	@SubscribeEvent
	public void renderOverlay(RenderTickEvent event)
	{
		this.createOverlay();
	}
	
	@SuppressWarnings("deprecation")
	private void createOverlay()
	{
		ElderNorseGods.LOGGER.info("createOverlay");
		Minecraft minecraft=Minecraft.getInstance();
		int i = minecraft.getWindow().getGuiScaledWidth();
		int j = minecraft.getWindow().getGuiScaledHeight();
		double d0 = MathHelper.lerp((double)deformation, 2.0D, 1.0D);
		float f = 0.2F * deformation;
		float f1 = 0.4F * deformation;
		float f2 = 0.2F * deformation;
		double d1 = (double)i * d0;
		double d2 = (double)j * d0;
		double d3 = ((double)i - d1) / 2.0D;
		double d4 = ((double)j - d2) / 2.0D;
		RenderSystem.disableDepthTest();
		RenderSystem.depthMask(false);
		RenderSystem.enableBlend();
		RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE);
		RenderSystem.color4f(f, f1, f2, 1.0F);
		minecraft.getTextureManager().bind(new ResourceLocation("minecraft", "textures/misc/nausea.png"));
		Tessellator tessellator = Tessellator.getInstance();
		BufferBuilder bufferbuilder = tessellator.getBuilder();
		bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
		bufferbuilder.vertex(d3, d4 + d2, -90.0D).uv(0.0F, 1.0F).endVertex();
		bufferbuilder.vertex(d3 + d1, d4 + d2, -90.0D).uv(1.0F, 1.0F).endVertex();
		bufferbuilder.vertex(d3 + d1, d4, -90.0D).uv(1.0F, 0.0F).endVertex();
		bufferbuilder.vertex(d3, d4, -90.0D).uv(0.0F, 0.0F).endVertex();
		tessellator.end();
		RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
		RenderSystem.defaultBlendFunc();
		RenderSystem.disableBlend();
		RenderSystem.depthMask(true);
		RenderSystem.enableDepthTest();
	}
}

Logs:

[18:41:35] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID ada9d733-775c-491b-9cb2-7b4d0883f163
[18:41:35] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
net.minecraft.crash.ReportedException: Ticking player
	at net.minecraft.network.NetworkSystem.tick(NetworkSystem.java:137) ~[forge:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:865) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:787) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.tickServer(IntegratedServer.java:78) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:642) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291] {}
Caused by: java.lang.IllegalStateException: Rendersystem called from wrong thread
	at com.mojang.blaze3d.systems.RenderSystem.assertThread(RenderSystem.java:76) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at com.mojang.blaze3d.platform.GlStateManager._disableDepthTest(GlStateManager.java:182) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at com.mojang.blaze3d.systems.RenderSystem.disableDepthTest(RenderSystem.java:192) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at com.mclich.engmod.effect.DrunkennessEffect.createOverlay(DrunkennessEffect.java:73) ~[?:?] {re:classloading}
	at com.mclich.engmod.effect.DrunkennessEffect.renderOverlay(DrunkennessEffect.java:55) ~[?:?] {re:classloading}
	at com.mclich.engmod.effect.DrunkennessEffect.isDurationEffectTick(DrunkennessEffect.java:48) ~[?:?] {re:classloading}
	at net.minecraft.potion.EffectInstance.tick(EffectInstance.java:141) ~[forge:?] {re:classloading,xf:fml:forge:potion}
	at net.minecraft.entity.LivingEntity.tickEffects(LivingEntity.java:671) ~[forge:?] {re:classloading}
	at net.minecraft.entity.LivingEntity.baseTick(LivingEntity.java:386) ~[forge:?] {re:classloading}
	at net.minecraft.entity.Entity.tick(Entity.java:386) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.entity.LivingEntity.tick(LivingEntity.java:2113) ~[forge:?] {re:classloading}
	at net.minecraft.entity.player.PlayerEntity.tick(PlayerEntity.java:223) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.entity.player.ServerPlayerEntity.doTick(ServerPlayerEntity.java:404) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.network.play.ServerPlayNetHandler.tick(ServerPlayNetHandler.java:207) ~[forge:?] {re:classloading}
	at net.minecraft.network.NetworkManager.tick(NetworkManager.java:226) ~[forge:?] {re:classloading}
	at net.minecraft.network.NetworkSystem.tick(NetworkSystem.java:134) ~[forge:?] {re:classloading}
	... 6 more
AL lib: (EE) alc_cleanup: 1 device not closed

 

Link to comment
Share on other sites

Just now, mclich said:
this.renderOverlay(new RenderTickEvent(Phase.END, 10F));

What on earth are you doing this for? What is your goal?

1 minute ago, mclich said:
	@SubscribeEvent
	public void renderOverlay(RenderTickEvent event)
	{
		this.createOverlay();
	}

You have to check the Phase of the event.

Link to comment
Share on other sites

18 minutes ago, diesieben07 said:

What on earth are you doing this for? What is your goal?

6 hours ago, mclich said:

To create overlay in game, i need to manually call my renderOverlay method?

56 minutes ago, diesieben07 said:

Yes, that is why we have events.

That is exactly what you have said previously

18 minutes ago, diesieben07 said:

You have to check the Phase of the event.

I passed Phase.END to event constructor, so i guess there is no need in this

Edited by mclich
Link to comment
Share on other sites

20 minutes ago, diesieben07 said:

You should not be creating the event yourself.

I commented line which was creating event:

//this.renderOverlay(new RenderTickEvent(Phase.END, 10F));

but it still doesn't work. My effect code actually do nothing now, and my createOverlay method is never called

20 minutes ago, diesieben07 said:

Please refer to the documentation on events.

Already read the most of it

Edited by mclich
Link to comment
Share on other sites

6 minutes ago, diesieben07 said:

You are using @EventBusSubscriber, which registers the class to the event bus. This only looks at static methods for event handlers.

Is there way to use non-static methods? Maybe there is another anotation which looks at all methods?

Link to comment
Share on other sites

On 9/12/2021 at 7:53 PM, diesieben07 said:

Read the documentation.

A little update: i discovered that GameRenderer#renderConfusionOverlay just renders a nausea texture, not an actual distortion, which is not what i needed. I found information about EntityRenderer#setupCameraTransform, but it's not currently available in 1.16.5 forge version. In previous versions it looks like this:

f2 = this.mc.thePlayer.prevTimeInPortal + (this.mc.thePlayer.timeInPortal - this.mc.thePlayer.prevTimeInPortal) * par1;
if (f2 > 0.0F)
{
	byte b0 = 20;
	if (this.mc.thePlayer.isPotionActive(Potion.confusion))
	{
		b0 = 7;
	}
	float f3 = 5.0F / (f2 * f2 + 5.0F) - f2 * 0.04F;
	f3 *= f3;
	GL11.glRotatef(((float)this.rendererUpdateCount + par1) * (float)b0, 0.0F, 1.0F, 1.0F);
	GL11.glScalef(1.0F / f3, 1.0F, 1.0F);
	GL11.glRotatef(-((float)this.rendererUpdateCount + par1) * (float)b0, 0.0F, 1.0F, 1.0F);
}

As i understand, an actual distortion is caused by GL11 static methods. I tried to experiment with those methods and some render events to make nausea distortion effect, but it works not as i expected and still doesn't make what i want. Is there any EntityRenderer#setupCameraTransform method, but available in 1.16.5 forge version? Or maybe am i doing something wrong?

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.