Jump to content

Concept of Layers in Terrain Generation


Sessional

Recommended Posts

I have managed to get terrain generation to work using a series of noise functions. I have an interest in applying a layering attitude for this to avoid rough terrain changes as following

9gxaqh.png

 

 

I'm under the impression that with layers you would start at the most basic layer, and apply more specific ones as you go. The problem I am struggling with is the grasping how this applies to the noise functions I've been using.

 

For example: Using a Voronoi noise function as follows for the determination of a terrain biome. As a basic example each shade would come out to be a different biome.

width=250 height=250http://www.neilblevins.com/cg_education/procedural_noise/cellular_round_bercon_solid.jpg[/img]

It is simple to map these shades into different biomes. But now, how would I go about taking into account that two adjacent shades may be very different heights? For example, the black ones might end up being 100 blocks high, whereas a lighter grey may end up being 60 blocks high.

 

It would be nice to be able to apply a layer into that shade of grey to force it to transition from 60 blocks to 100 blocks in a smooth transition rather than a steep incline. If I knew the shape of the biome ahead of time, and what biomes it is adjacent to I would, in theory, be able to apply a blending function to the noise to force a smooth transition. However, I do not know these values all the time during terrain generation.

 

Any suggestions for where to look?

Link to comment
Share on other sites

Apply a box blur across your biome height map.  It'll soften the edges and provide some transition.  That is, if that grayscale image was your height value, blur it.

 

But basically, this is why vanilla has technical biomes like Extreme Hills Edge and Mushroom Island Edge.

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

What process would you suggest I use to blur something? Would this be a mix of multiplying two height map images together to help reduce the range of difference in it? Or would I be doing something more like just reducing the variation in acceptable noise output?

Link to comment
Share on other sites

A simple blurring algorithm is to make each pixel the average of the surrounding pixel values and itself.

 

To generalize it to your image, instead of having a square pixel grid, the "pixels" here can be other shapes (the different regions in your image), and it doesn't have to be in a grid.

 

You can represent each region of your image as a node of a graph (graph) where nodes are connected if the regions that they represent share a border:

width=400 height=125http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Four_Colour_Planar_Graph.svg/400px-Four_Colour_Planar_Graph.svg.png[/img]

 

For each node, you can do a depth-limited breadth first traversal to obtain the surrounding nodes. Then you can just average the values, and set that source node to the average value.

 

In the case of a regular image, each pixel would be a node, and the graph is like a Cartesian plane, but in your case, the nodes are arbitrarily arranged, but the graph is still planar.

Link to comment
Share on other sites

What process would you suggest I use to blur something? Would this be a mix of multiplying two height map images together to help reduce the range of difference in it? Or would I be doing something more like just reducing the variation in acceptable noise output?

A simple blurring algorithm is to make each pixel the average of the surrounding pixel values and itself.

 

Which is what a box blur is.  But it explicitly deals with pixels.  If the height map thing isn't stored in a grid, then the boxblur doesn't make any sense.

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

What I'm saying is you can generalize the box blur algorithm to things that aren't grids.

 

A grid is essentially a Cartesian plane graph, where each node is a pixel (square region), and two nodes have an edge between them if their respective pixels are adjacent.

 

A generalization of the box blur algorithm is apply it to an arbitrary planar graph instead of a Cartesian plane graph. Each node just represents a polygonal region (like the Voronoi partition above) instead of a square region. Since the Voronoi partition works by using a set of points, the the graph construction is pretty trivial (just take those points and have them be the nodes of the graph, and each point would represent the region that the point is in, like the image above).

 

Of course, I'm assuming that taking the Voronoi distribution and just applying a box blur to the image isn't what the original poster wants (since that distribution is a biome map, not a height map), and he wants to map biomes to the regions without changing the shape of regions themselves.

Link to comment
Share on other sites

True enough.

 

I'm not sure how I'd go about "solving" the problem, as that kind of mesh network doesn't really have a concept of "edges" that you can go "oh that location is at / near an edge, do X."

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

As far as that goes. I think that points me in the right direction.

 

That grey scale image is the biome map, not the height map.

 

What I am using for a height map is some smooth noise that dictates the change from the biomes root height.

What I will do is this: I will populate a height map for the chunk, I will then smooth the final height out by taking the distance (<= 6) from the nearest biome shift and normalizing the height in these areas to simulate the "edge biome". This should allow me to make 6 tiles into each biome as a transitional height period to smooth the height. (Hopefully...)

 

If you have any insight on this method I'd be interested to hear it.

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.