Jump to content

[1.10.2] Code Improvement/Optimization


LogicTechCorp

Recommended Posts

Hello everyone!

 

I am working on a mod that will allow others and I to add biomes to the Nether. I have been working on it for quite some time and just updated to 1.10.2. Before I go further, I would like to know if I could improve/optimize my code and what I should and should not be doing. All help is appreciated!

 

Github:

https://github.com/LogicTechCorp/NetherEx

 

-LTC

Link to comment
Share on other sites

You have duplicated code in your proxies: that's not how the proxy system work

 

All game-logic and non-side-specific code should go in a "base" proxy class. You then extend this class to create a "server" proxy class (this will not happen very often) and a "client" proxy class for side-specific code

 

In the most common scenario you will end with a CommonProxy class to use as the server proxy and a ClientProxy (created extending CommonProxy) as the client proxy (you can name the classes as you like it, those are just the most used names)

 

Link to comment
Share on other sites

You have duplicated code in your proxies: that's not how the proxy system work

 

All game-logic and non-side-specific code should go in a "base" proxy class. You then extend this class to create a "server" proxy class (this will not happen very often) and a "client" proxy class for side-specific code

 

In the most common scenario you will end with a CommonProxy class to use as the server proxy and a ClientProxy (created extending CommonProxy) as the client proxy (you can name the classes as you like it, those are just the most used names)

 

 

While it is true - "Code duplicates = bad" - you are wrong with "that's not how the proxy system work".

 

Just because he is not following 1st tutorial you find on google, doesn't mean he's doing it wrong.

 

Code he has is 100% valid, it can just be made better by making abstract common (or default interface), instead of normal interface.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

First off all, I don't care what the 1st tutorial you find on Google say and I was not talking about his use of interfaces to abstract the proxies :)

 

It's his implementation the problem

 

With the way he is doing it, he will end with "common" code both in his ServerProxy and ClientProxy classes, be it a straight copy of the full code (like he has now) or calls to other classes, as he have to execute it on both enviroments

 

And that's "bad" :)

Link to comment
Share on other sites

All game-logic and non-side-specific code should go in a "base" proxy class.

 

Eehhh.  I prefer that common goes goes in the base mod class.  I see way to much "it should be in the proxy" so the main mod class tells the proxy about the init events, then the proxy goes "well all the code is over in the ModBlocks class" and shunts the event over there.

 

It's a right pain in the ass to debug when the person has a problem because we have to ask for THREE classes to identify the problem (oops, their ModBlocks.preInit() method is actually called durring an init event).

 

There's no reason to shunt method calls around, sure it adheres to some abstract notion of encapsulation, but encapsulation really isn't that good (if encapsulation is followed to the letter, then no package would ever import any package other than itself, its direct parent, and its direct children sub-packages and all cross-package invocation would be fired up or down this chain*).

 

*That is, in order for a block to reference an item, the block would have to ask ModBlocks to forward a call to BaseMod, which would then forward the call to ModItems, and so forth.

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

You have duplicated code in your proxies

While it is true - "Code duplicates = bad"

 

I don't see how my post was in any way "against" yours. If any - I agreed with you on moving code to common class.

 

If you smited me for that then damn, you are angry person (again - IF, because some just did, lol) :D

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

It looked like it, a bit at least :D

 

Nop, wasn't me. I like forums so much that I was not aware that you could smite someone gh

 

PS: @Draco18s, to solve your THREE-CLASSES problem you could have a barebone mod class and delegate all the work to the proxy as you are kind of obbligate to use it anyway :D

Link to comment
Share on other sites

Or I could do everything in the base mod class and delegate to the proxy when, and only when, sided code is required.

i.e. the registering of event handlers, renderers, and suchlike.

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

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Exception in thread "main" java.lang.IllegalStateException: Current Java is 1.8.0_271 but we require at least 17         at net.minecraftforge.bootstrap.shim.Main.main(Main.java:32) Never have successfully gotten a minecraft server up and running so I thought i'd try again. Instant unfixable issue.  
    • the block is engineer's workbench and crash when I put a blue print on it, now I dont have access to my world  
    • ---- Minecraft Crash Report ---- // Don't do that. Time: 25/4/24 12:53 Description: Rendering Block Entity java.lang.IllegalStateException: Not filled all elements of the vertex     at com.mojang.blaze3d.vertex.BufferBuilder.m_5752_(BufferBuilder.java:435) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:computing_frames,xf:OptiFine:default,re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BufferBuilderMixin,pl:mixin:A}     at blusunrize.immersiveengineering.client.utils.TransformingVertexBuilder.m_5752_(TransformingVertexBuilder.java:135) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.BlueprintRenderer.lambda$makeQuadLinePainter$0(BlueprintRenderer.java:210) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.BlueprintRenderer$BlueprintLines.draw(BlueprintRenderer.java:256) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.lambda$buildVBO$0(ModWorkbenchRenderer.java:159) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.utils.VertexBufferHolder.renderToBuilder(VertexBufferHolder.java:130) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.client.utils.VertexBufferHolder.render(VertexBufferHolder.java:116) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.api.client.IVertexBufferHolder.render(IVertexBufferHolder.java:58) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.render(ModWorkbenchRenderer.java:61) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.m_6922_(ModWorkbenchRenderer.java:31) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112284_(BlockEntityRenderDispatcher.java:107) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.lambda$renderTileEntity$0(BlockEntityRenderDispatcher.java:79) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112278_(BlockEntityRenderDispatcher.java:154) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112267_(BlockEntityRenderDispatcher.java:77) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1930) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.WorldRendererAccess,pl:mixin:APP:immersiveengineering.mixins.json:coremods.client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererAccessor,pl:mixin:APP:flywheel.mixins.json:fix.FixFabulousDepthMixin,pl:mixin:APP:flywheel.mixins.json:instancemanage.InstanceUpdateMixin,pl:mixin:APP:citadel.mixins.json:client.WorldRendererMixin,pl:mixin:APP:create.mixins.json:client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1569) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:create.mixins.json:accessor.GameRendererAccessor,pl:mixin:APP:create.mixins.json:client.GameRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:1185) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:create.mixins.json:accessor.GameRendererAccessor,pl:mixin:APP:create.mixins.json:client.GameRendererMixin,pl:mixin:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1046) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:665) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:205) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}     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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.2.18.jar%2318!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.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: Render thread Stacktrace:     at com.mojang.blaze3d.vertex.BufferBuilder.m_5752_(BufferBuilder.java:435) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:computing_frames,xf:OptiFine:default,re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BufferBuilderMixin,pl:mixin:A}     at blusunrize.immersiveengineering.client.utils.TransformingVertexBuilder.m_5752_(TransformingVertexBuilder.java:135) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.BlueprintRenderer.lambda$makeQuadLinePainter$0(BlueprintRenderer.java:210) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.BlueprintRenderer$BlueprintLines.draw(BlueprintRenderer.java:256) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.lambda$buildVBO$0(ModWorkbenchRenderer.java:159) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.utils.VertexBufferHolder.renderToBuilder(VertexBufferHolder.java:130) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.client.utils.VertexBufferHolder.render(VertexBufferHolder.java:116) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.api.client.IVertexBufferHolder.render(IVertexBufferHolder.java:58) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:mixin,re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.render(ModWorkbenchRenderer.java:61) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at blusunrize.immersiveengineering.client.render.tile.ModWorkbenchRenderer.m_6922_(ModWorkbenchRenderer.java:31) ~[ImmersiveEngineering-1.18.2-8.4.0-161.jar%2364!/:?] {re:classloading}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112284_(BlockEntityRenderDispatcher.java:107) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.lambda$renderTileEntity$0(BlockEntityRenderDispatcher.java:79) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112278_(BlockEntityRenderDispatcher.java:154) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112267_(BlockEntityRenderDispatcher.java:77) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1930) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.WorldRendererAccess,pl:mixin:APP:immersiveengineering.mixins.json:coremods.client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererAccessor,pl:mixin:APP:flywheel.mixins.json:fix.FixFabulousDepthMixin,pl:mixin:APP:flywheel.mixins.json:instancemanage.InstanceUpdateMixin,pl:mixin:APP:citadel.mixins.json:client.WorldRendererMixin,pl:mixin:APP:create.mixins.json:client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1569) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:create.mixins.json:accessor.GameRendererAccessor,pl:mixin:APP:create.mixins.json:client.GameRendererMixin,pl:mixin:A} -- Block Entity Details -- Details:     Name: immersiveengineering:modworkbench // blusunrize.immersiveengineering.common.blocks.wooden.ModWorkbenchBlockEntity     Block: Block{immersiveengineering:workbench}[facing=south,multiblockslave=false,waterlogged=false]     Block location: World: (-2,-60,-7), Section: (at 14,4,9 in -1,-4,-1; chunk contains blocks -16,-64,-16 to -1,319,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1)     Block: Block{immersiveengineering:workbench}[facing=south,multiblockslave=false,waterlogged=false]     Block location: World: (-2,-60,-7), Section: (at 14,4,9 in -1,-4,-1; chunk contains blocks -16,-64,-16 to -1,319,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1) Stacktrace:     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112278_(BlockEntityRenderDispatcher.java:154) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher.m_112267_(BlockEntityRenderDispatcher.java:77) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:BlockEntityRenderDispatcherAccessor,pl:mixin:A}     at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1930) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.WorldRendererAccess,pl:mixin:APP:immersiveengineering.mixins.json:coremods.client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererAccessor,pl:mixin:APP:flywheel.mixins.json:fix.FixFabulousDepthMixin,pl:mixin:APP:flywheel.mixins.json:instancemanage.InstanceUpdateMixin,pl:mixin:APP:citadel.mixins.json:client.WorldRendererMixin,pl:mixin:APP:create.mixins.json:client.LevelRendererMixin,pl:mixin:APP:flywheel.mixins.json:LevelRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1569) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:create.mixins.json:accessor.GameRendererAccessor,pl:mixin:APP:create.mixins.json:client.GameRendererMixin,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:1185) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,pl:mixin:APP:create.mixins.json:accessor.GameRendererAccessor,pl:mixin:APP:create.mixins.json:client.GameRendererMixin,pl:mixin:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1046) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:665) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:205) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}     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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.2.18.jar%2318!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} -- Affected level -- Details:     All players: 1 total; [LocalPlayer['Kxzer'/102, l='ClientLevel', x=-2.77, y=-60.00, z=-8.63]]     Chunk stats: 4489, 2843     Level dimension: minecraft:overworld     Level spawn location: World: (0,-60,0), Section: (at 0,4,0 in 0,-4,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)     Level time: 33719 game time, 33719 day time     Server brand: forge     Server type: Integrated singleplayer server Stacktrace:     at net.minecraft.client.multiplayer.ClientLevel.m_6026_(ClientLevel.java:522) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:flywheel.mixins.json:ClientLevelMixin,pl:mixin:A}     at net.minecraft.client.Minecraft.m_91354_(Minecraft.java:2264) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:682) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:205) ~[client-1.18.2-20220404.173914-srg.jar%2373!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}     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.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.2.18.jar%2318!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} -- Last reload -- Details:     Reload number: 2     Reload reason: manual     Finished: Yes     Packs: Mod Resources, Default, Kxzer-Totem-pv9.zip, Create Legacy Copper -- System Details -- Details:     Minecraft Version: 1.18.2     Minecraft Version ID: 1.18.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.1, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 137598464 bytes (131 MiB) / 2147483648 bytes (2048 MiB) up to 2147483648 bytes (2048 MiB)     CPUs: 8     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx       Identifier: AuthenticAMD Family 23 Model 24 Stepping 1     Microarchitecture: Zen / Zen+     Frequency (GHz): 2,10     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: AMD Radeon(TM) Vega 8 Graphics     Graphics card #0 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #0 VRAM (MB): 2048,00     Graphics card #0 deviceId: 0x15d8     Graphics card #0 versionInfo: DriverVersion=31.0.14043.7000     Graphics card #1 name: Radeon RX 5500M     Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #1 VRAM (MB): 4080,00     Graphics card #1 deviceId: 0x7340     Graphics card #1 versionInfo: DriverVersion=31.0.14043.7000     Memory slot #0 capacity (MB): 8192,00     Memory slot #0 clockSpeed (GHz): 2,67     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 8192,00     Memory slot #1 clockSpeed (GHz): 2,67     Memory slot #1 type: DDR4     Virtual memory max (MB): 18605,84     Virtual memory used (MB): 14061,94     Swap memory total (MB): 4352,00     Swap memory used (MB): 445,66     JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: 1.18.2-forge-40.2.18     Backend library: LWJGL version 3.2.2 SNAPSHOT     Backend API: AMD Radeon(TM) Vega 8 Graphics  GL version 3.2.0 Core Profile Context 23.4.1.230326, ATI Technologies Inc.     Window size: 1920x1080     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Type: Integrated Server (map_client.txt)     Graphics mode: fabulous     Resource Packs: mod_resources, vanilla, file/Kxzer-Totem-pv9.zip (incompatible), create:legacy_copper     Current Language: English (US)     CPU: 8x AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx      Server Running: true     Player Count: 1 / 8; [ServerPlayer['Kxzer'/102, l='ServerLevel[Mundo nuevo]', x=-2.77, y=-60.00, z=-8.63]]     Data Packs: vanilla, mod:tconstruct (incompatible), mod:farmersdelight, mod:dungeoncrawl, mod:immersivepetroleum (incompatible), mod:immersiveengineering, mod:forge, mod:expandability (incompatible), mod:curios (incompatible), mod:flywheel (incompatible), mod:mantle (incompatible), mod:create, mod:refinedstorage, mod:jei (incompatible), mod:citadel (incompatible), mod:cataclysm (incompatible), mod:storagedrawers (incompatible), mod:artifacts, mod:journeymap, mod:ctm (incompatible), mod:chipped (incompatible)     World Generation: Experimental     OptiFine Version: OptiFine_1.18.2_HD_U_H9     OptiFine Build: 20230626-134040     Render Distance Chunks: 30     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 3.2.0 Core Profile Context 23.4.1.230326     OpenGlRenderer: AMD Radeon(TM) Vega 8 Graphics      OpenGlVendor: ATI Technologies Inc.     CpuCount: 8     ModLauncher: 9.1.3+9.1.3+main.9b69c82a     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:           mixin PLUGINSERVICE           eventbus PLUGINSERVICE           slf4jfixer PLUGINSERVICE           object_holder_definalize PLUGINSERVICE           runtime_enum_extender PLUGINSERVICE           capability_token_subclass PLUGINSERVICE           accesstransformer PLUGINSERVICE           runtimedistcleaner PLUGINSERVICE           mixin TRANSFORMATIONSERVICE           OptiFine TRANSFORMATIONSERVICE           fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         lowcodefml@null         javafml@null     Mod List:          client-1.18.2-20220404.173914-srg.jar             |Minecraft                     |minecraft                     |1.18.2              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         TConstruct-1.18.2-3.7.1.155.jar                   |Tinkers' Construct            |tconstruct                    |3.7.1.155           |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.18.2-1.2.3.jar                   |Farmer's Delight              |farmersdelight                |1.18.2-1.2.3        |DONE      |Manifest: NOSIGNATURE         DungeonCrawl-1.18.2-2.3.14.jar                    |Dungeon Crawl                 |dungeoncrawl                  |2.3.14              |DONE      |Manifest: NOSIGNATURE         ImmersivePetroleum-1.18.2-4.2.0-25.jar            |Immersive Petroleum           |immersivepetroleum            |4.2.0-25            |DONE      |Manifest: NOSIGNATURE         ImmersiveEngineering-1.18.2-8.4.0-161.jar         |Immersive Engineering         |immersiveengineering          |1.18.2-8.4.0-161    |DONE      |Manifest: 44:39:94:cf:1d:8c:be:3c:7f:a9:ee:f4:1e:63:a5:ac:61:f9:c2:87:d5:5b:d9:d6:8c:b5:3e:96:5d:8e:3f:b7         forge-1.18.2-40.2.18-universal.jar                |Forge                         |forge                         |40.2.18             |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         expandability-6.0.0.jar                           |ExpandAbility                 |expandability                 |6.0.0               |DONE      |Manifest: NOSIGNATURE         curios-forge-1.18.2-5.0.9.2.jar                   |Curios API                    |curios                        |1.18.2-5.0.9.2      |DONE      |Manifest: NOSIGNATURE         flywheel-forge-1.18.2-0.6.10-105.jar              |Flywheel                      |flywheel                      |0.6.10-105          |DONE      |Manifest: NOSIGNATURE         Mantle-1.18.2-1.9.50.jar                          |Mantle                        |mantle                        |1.9.50              |DONE      |Manifest: NOSIGNATURE         create-1.18.2-0.5.1.f.jar                         |Create                        |create                        |0.5.1.f             |DONE      |Manifest: NOSIGNATURE         refinedstorage-1.10.6.jar                         |Refined Storage               |refinedstorage                |1.10.6              |DONE      |Manifest: NOSIGNATURE         jei-1.18.2-forge-10.2.1.1006.jar                  |Just Enough Items             |jei                           |10.2.1.1006         |DONE      |Manifest: NOSIGNATURE         journeymap-1.18.2-5.9.8-forge.jar                 |Journeymap                    |journeymap                    |5.9.8               |DONE      |Manifest: NOSIGNATURE         CTM-1.18.2-1.1.5+5.jar                            |ConnectedTexturesMod          |ctm                           |1.18.2-1.1.5+5      |DONE      |Manifest: NOSIGNATURE         citadel-1.11.3-1.18.2.jar                         |Citadel                       |citadel                       |1.11.3              |DONE      |Manifest: NOSIGNATURE         L_Enders Cataclysm-0.51-changed Them -1.18.2.jar  |Cataclysm Mod                 |cataclysm                     |1.0                 |DONE      |Manifest: NOSIGNATURE         chipped-forge-1.18.2-2.0.1.jar                    |Chipped                       |chipped                       |2.0.1               |DONE      |Manifest: NOSIGNATURE         StorageDrawers-1.18.2-10.2.1.jar                  |Storage Drawers               |storagedrawers                |10.2.1              |DONE      |Manifest: NOSIGNATURE         artifacts-1.18.2-4.2.3.jar                        |Artifacts                     |artifacts                     |1.18.2-4.2.3        |DONE      |Manifest: NOSIGNATURE     Flywheel Backend: GL33 Instanced Arrays     Crash Report UUID: 50c1a276-b251-4bf8-b9f4-a76260acd047     FML: 40.2     Forge: net.minecraftforge:40.2.18
    • What MC version? What's the IP? Are any mods needed to be able to join?
    • Thank you for your answer ! Unfortunatly i have the same problem when i use setPos() public static int movingfunction(CommandContext<CommandSourceStack> context){ CommandSourceStack source = context.getSource(); if (!(source.getEntity() instanceof ServerPlayer)) { return 0; } ServerPlayer player = (ServerPlayer ) source.getEntity(); double moveSpeed = 0.5; for (int i =0; i<10000;i++) { LOGGER.info("running for the {} time", i); double x = player.getX() + player.getViewVector(1.0f).x * moveSpeed; double y = player.getY(); double z = player.getZ() + player.getViewVector(1.0f).z * moveSpeed ; Vec3 movementVec = new Vec3(x, y, z); LOGGER.info("x ={} y ={} z ={}", x, y, z); player.setPos( movementVec); } return 1; } With the logs i can see that x and z are increasing but once again my player is not moving. is there a function to use to sync the server and the client ? I also tried to use LocalPlayer instead of ServerPlayer but my code would stop when i got the object. Also i will change a bit the main topic but is there a way to similate key press ? i found KeyBinding.setKeyBindState on others post but it look like there is no more KeyBinding in 1.20   I found this code : KeyMapping.click(Minecraft.getInstance().options.keyUp.getKey()); But it doesn't seems to work   And i found this one : Minecraft.getInstance().options.keyUp.setDown(true); wich works but doesn't exactly do what i want , it doesn't release the key so for exemple i can't make him run. Minecraft.getInstance().options.keyUp.setDown(true); Minecraft.getInstance().options.keyUp.setDown(false); Minecraft.getInstance().options.keyUp.setDown(true); doesn't make him run
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.