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

[1.16.1] Partly changing JigsawManager's functionality


filips
 Share

Recommended Posts

I want to partly change JigsawManager's functionality for my custom structure in mod. However, vanilla JigsawManager is not really that expendible as almost all code is in the same function and some properties are private so the only possible solution currently seems to be to copy whole JigsawManager and manually customize it. This is not really easy and many mappings are missing (both in 1.15.2 and 1.16.1).

 

This is what I want to achive:

  1. Chose and place first piece from pool "mystructure/entrance."
  2. Start processing all children jigsaw connections.
  3. Normally process all children who aren't in pool "mystructure/special" (but also apply following steps on their children if needed).
  4. If connection's pool is "mystructure/special," chose one piece from that pool. New piece is guaranteed to contain one or more jigsaw connections of that same type/pool. For all of such connections, chose and the exact same piece again with the same orientation. Repeat doing this (chosing the same piece for that pool) until certain condition is meet (y coordinate is almost the same as randomly choosen number between 10 and 50). For all other types/pools, go to step 3 (normally process and place them, but still check for that specific pool). Jigsaw's current depth should not be changed/increased when placing special pieces from pool "mystructure/special," but should be changed/increased normally when placing other pieces.
  5. After that condition is meet, stop placing pieces from "mystructure/special." Place random piece from "mystructure/finish" with same orientation as before, Start placing other pieces normally eith any orientation (step 3).

 

Thing that pieces from special pool should keep rotation from parent piece is probably easy to do in 1.16 as jigsaws now have joint type aligned which seem to cause them to keep rotation from parent (I'm not sure if this is true so it should still be tested. If it not true, some additional things should be done). However, other things are more advanced and it seems there is no good solution currently.

 

I found PRs #6378 and #6732 which add events which enable mods to add custom pieces or remove original ones on generation. However, they still don't help me in current state:

  • First PR provides access to ResourceLocation but only fires on init so I can't dynamically check condition.
  • Second PR fires event on generation so I could check for condition (but I can't because of following limitations) but parses ResourceLocation according to "village pool-naming rules" so it may not be the best for custom structures. Parameters like "generalType," "specificType," and "isZombie" should probably be provided and one more village-specific way and raw ResourceLocation should also be accessble.
  • It should be possible to listen for event just on specific structure type to improve performance and make checks easier.
  • They don't provide a way for me to check my condition (no way to check current BlockPos so I can check if y coordinate is correct). This could probably be solved if event also gets BlockPos parameter.
  • They don't provide a way to prevent depth from chaning. This is harder because you can't modify parameter's value because it is passed by value.
  • I don't know if there is any way to chose that random y coordinate for every structure, keep it forever for that structure and access it from event.

 

Once those limitations are fixed in some way, I could probably implement structure in this way:

  1. Before generation starts, get and save random y coordinate. Also get and save random piece from "mystructure/special" pool. This is part I don't really know how to do.
  2. Listen on event similar to that in #6732. Every time that event is triggered for my specific structure:
  3. Check if target pool is "mystructure/special" and if it is not just skip other steps and return unmodified pool and normally increase depth.
  4. If current y coordinate is bigger/higher than stored random value, remove all existing pieces from pool and add pre-chosen piece into it. Make sure it keeps rotation. Don't increase depth.
  5. If current y coordinate is smaller/lower than stored random value, remove all existing pieces from pool and add random piece from "mystructure/finish" into it.. Make sure it keeps rotation. Don't increase depth. - Then normal generation will start. Because following pieces won't have any connection from "mystructure/special" pool, condition from step 3 won't be evaluated and special generation won't be executed, so there isn't anything special to do.

 

 

Do you think it would make sense to improve event handling from those PRs (and merge them)? Would this be a good way to generate such structure? Does joint type in jigsaw blocks prevent rotation like I think it does? How to chose y coordinate and piece for each structure and keep it until generation is done?

If possible, I would like that this is added to Forge 1.16.

 

Thanks!

Edited by filips
Add few more things
Link to comment
Share on other sites

Yes, that would be one partial solution. However, it has downsides that it requires to make plenty of basically the same pieces (not really a big problem but it makes editing them a bit harder and more confusing) and this will just make that difference in height between top and bottom of structure is random and not random absolute height (if start piece is in y=70 and it randomly choses 10 long piece it will be in y=60 and if it starts in y<40 and choses 38 long piece it will be almost in bedrock, but I always want something random between y=10 and y=50).

 

If there won't be any other solution, I will use this one but I would prefer something which changes jigsaw generation (maybe with events).

Edited by filips
Link to comment
Share on other sites

you can just create the singleton piece and use a structure block to copy them, a bit tedious but better than changing how vanilla generates structures.

 

For your problem of absolute height, a dirty solution could be to have multiple structures generate but with different Y levels each and then associate the correct pattern to each.

Instead of having say MyStructure generate between x and y, have MyStructure_50 generate at y = 50, then figure out the max/min length your piece can be and voila. 
its going to be a bit less random for sure (and more tedious), but your structure does sound a bit weird.

Not sure how complex your structure is, but if this is too much you could look into making a normal structure, without any jigsaws. 

Link to comment
Share on other sites

Parts of what you want are already possible.

U can modify JigsawManager with an accesstransformer to add your own JigsawPatterns. Then you should be able to add a Jigsawbased structure like a village, or whatever you want.

 

I think replacing already choosen JigsawPieces is a much to specific question to be implementet.

Additionally you can extend SingleJigsawPiece to choose at generation (with BlockPos) which you really want to generate.

 

Because the Jigsawsystem works random makes it difficult to unrandomize it.

 

Link to comment
Share on other sites

1 hour ago, Cyborgmas said:

its going to be a bit less random for sure (and more tedious), but your structure does sound a bit weird. Not sure how complex your structure is, but if this is too much you could look into making a normal structure, without any jigsaws. 

I agree that this part of structure is quite specific and weird. Basically what I'm trying to do is to make some nice entrance to underground structure. And after entrance is generated, other parts of structure generate normally so it would be harder to create normal structure without jigsaws.

 

52 minutes ago, cheaterpaul said:

U can modify JigsawManager with an accesstransformer to add your own JigsawPatterns. Then you should be able to add a Jigsawbased structure like a village, or whatever you want.

Ok I will check AccessTransformer and custom JigsawPatterns.

 

53 minutes ago, cheaterpaul said:

I think replacing already choosen JigsawPieces is a much to specific question to be implementet.

Well, with #6732 you can already do this (I think) and it isn't so specific. It's just that it has to be adopted for modded structures and I would also need access to JigsawBlock's position (which probably also isn't very specific) and that and shouldn't be hard to do. Part with static depth would be harder but I don't really need it.

I would also need one way to get random y coordinate and piece (which I already know how to and doesn't require any modifications to JigsawManager), store them for specific structure and access them from event for that structure (which I don't know how to but hopefully doesn't require public modifications to Forge or JigsawManager).

Link to comment
Share on other sites

So yeah you are def able to replace jigsaw pieces with my PR, ill try and remember to change that to be a bit more modded friendly i guess. The point was to use it on vanilla though. 
A interesting thing that could potentially work with is what @cheaterpaul suggested, create your own custom JigsawPiece. Not sure at all how it works, but sounds interesting. It would count for only 1 depth and potentially when placing you could modify some stuff ? I would say its worth looking into.

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

    • Note basic java is required for modding minecraft 
    • I want the monster not to attack the player, this is my realization @Override public void onArmorTick(ItemStack stack, World world, PlayerEntity player) { if (player.isAlive() && Screen.hasShiftDown()) { if (hasFullArmor(player) && hasCorrectArmorOn(ArmorMaterial.SILK_NIGHT_ARMOR, player)) { List<MobEntity> mobEntities = getNearbyEntities(player); for (MobEntity mobEntity : mobEntities) { Optional<LivingEntity> target = Optional.ofNullable(mobEntity.getTarget()); target.ifPresent(res -> { if (target.get().getUUID().equals(player.getUUID())) { mobEntity.setTarget(null); } }); } } } super.onArmorTick(stack, world, player); } I don't know how to explain this situation, please watch my video https://error-1254387167.cos.ap-chengdu.myqcloud.com/bugs-video.mp4   Sometimes it’s useful, sometimes it’s not.  
    • Okay. I have no problems now runing my server. Thanks.
    • I am trying to use the forge version of the origins mod, but every time i attempt to make a singleplayer world, i get to the joining world screen, it suddenly says "saving world" and then crashes my game with the following crash logs:   Description: Unexpected error org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-9.0.7.jar:9.0.7+91+master.8569cdf] {}     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:110) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$16(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:223) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:130) ~[securejarhandler-0.9.54.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?] {}     at net.minecraft.client.renderer.GameRenderer.m_109087_(GameRenderer.java:648) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:origins.mixins.json:PhasingOverlayMixin,pl:mixin:APP:apoli.mixins.json:GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:client.compat115plus.GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:client.compat117plus.GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:reach.client.GameRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91398_(Minecraft.java:1609) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1014) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:659) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:186) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:45) ~[fmlloader-1.17.1-37.1.0.jar%2322!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [pehkui.mixins.json:compat117plus.ProjectileUtilMixin] from phase [DEFAULT] in config [pehkui.mixins.json] FAILED during APPLY     at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:636) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:588) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     ... 31 more Caused by: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Redirect annotation on getEntityCollisionModifyGetBoundingBox could not find any targets matching 'Lnet/minecraft/world/entity/projectile/ProjectileUtil;getEntityCollision(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/AABB;Ljava/util/function/Predicate;F)Lnet/minecraft/world/phys/EntityHitResult;' in net.minecraft.world.entity.projectile.ProjectileUtil. Using refmap Pehkui-refmap.json [PREINJECT Applicator Phase -> pehkui.mixins.json:compat117plus.ProjectileUtilMixin -> Prepare Injections ->  -> redirect$zfm000$getEntityCollisionModifyGetBoundingBox(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/AABB;Ljava/util/function/Predicate;F)Lnet/minecraft/world/phys/AABB; -> Parse]     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.RedirectInjectionInfo.<init>(RedirectInjectionInfo.java:44) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at jdk.internal.reflect.GeneratedConstructorAccessor76.newInstance(Unknown Source) ~[?:?] {}     at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] {}     at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] {}     at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     ... 31 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.4.jar:0.8.4+Jenkins-b308.git-2accda5000f7602229606b39437565542cc6fba4] {}     at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-9.0.7.jar:9.0.7+91+master.8569cdf] {}     at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-9.0.7.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:110) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.lambda$findClass$16(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:223) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:130) ~[securejarhandler-0.9.54.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[?:?] {}     at net.minecraft.client.renderer.GameRenderer.m_109087_(GameRenderer.java:648) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:origins.mixins.json:PhasingOverlayMixin,pl:mixin:APP:apoli.mixins.json:GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:client.compat115plus.GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:client.compat117plus.GameRendererMixin,pl:mixin:APP:pehkui.mixins.json:reach.client.GameRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A} -- Affected level -- Details:     All players: 1 total; [LocalPlayer['TrickyTopher'/165, l='ClientLevel', x=-235.50, y=64.00, z=-36.50]]     Chunk stats: 841, 441     Level dimension: minecraft:overworld     Level spawn location: World: (-240,66,-32), Section: (at 0,2,0 in -15,4,-2; chunk contains blocks -240,0,-32 to -225,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)     Level time: 6 game time, 6 day time     Server brand: forge     Server type: Integrated singleplayer server Stacktrace:     at net.minecraft.client.multiplayer.ClientLevel.m_6026_(ClientLevel.java:364) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91354_(Minecraft.java:2245) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:681) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:186) ~[client-1.17.1-20210706.113038-srg.jar%2358!:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:45) ~[fmlloader-1.17.1-37.1.0.jar%2322!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: Yes     Packs: Default, Mod Resources -- System Details -- Details:     Minecraft Version: 1.17.1     Minecraft Version ID: 1.17.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 16.0.1, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 689238136 bytes (657 MiB) / 1677721600 bytes (1600 MiB) up to 2147483648 bytes (2048 MiB)     CPUs: 8     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz     Identifier: Intel64 Family 6 Model 158 Stepping 9     Microarchitecture: Kaby Lake     Frequency (GHz): 2.81     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: NVIDIA GeForce GTX 1050     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x1c8d     Graphics card #0 versionInfo: DriverVersion=24.21.13.9836     Graphics card #1 name: Intel(R) HD Graphics 630     Graphics card #1 vendor: Intel Corporation (0x8086)     Graphics card #1 VRAM (MB): 1024.00     Graphics card #1 deviceId: 0x591b     Graphics card #1 versionInfo: DriverVersion=23.20.16.4973     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.40     Memory slot #0 type: DDR4     Virtual memory max (MB): 13173.95     Virtual memory used (MB): 11353.88     Swap memory total (MB): 5120.00     Swap memory used (MB): 526.52     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: 1.17.1-forge-37.1.0     Backend library: LWJGL version 3.2.2 SNAPSHOT     Backend API: Intel(R) HD Graphics 630 GL version 3.2.0 - Build 23.20.16.4973, Intel     Window size: 1920x1001     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Integrated Server (map_client.txt)     Graphics mode: fancy     Resource Packs:      Current Language: English (US)     CPU: 8x Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz     Player Count: 1 / 8; [ServerPlayer['TrickyTopher'/165, l='ServerLevel[New World]', x=-235.50, y=64.00, z=-36.50]]     Data Packs: vanilla, mod:pehkui (incompatible), mod:cloth_config (incompatible), mod:caelus, mod:forge, mod:origins     ModLauncher: 9.0.7+91+master.8569cdf     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:           mixin PLUGINSERVICE           eventbus PLUGINSERVICE           object_holder_definalize PLUGINSERVICE           runtime_enum_extender PLUGINSERVICE           capability_token_subclass PLUGINSERVICE           capability_inject_definalize PLUGINSERVICE           accesstransformer PLUGINSERVICE           runtimedistcleaner PLUGINSERVICE           mixin TRANSFORMATIONSERVICE           fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         javafml@null     Mod List:          client-1.17.1-20210706.113038-srg.jar             |Minecraft                     |minecraft                     |1.17.1              |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         Pehkui-3.0.1+1.17.1-forge.jar                     |Pehkui                        |pehkui                        |3.0.1+1.17.1-forge  |DONE      |Manifest: NOSIGNATURE         cloth-config-5.0.38-forge.jar                     |Cloth Config v4 API           |cloth_config                  |5.0.38              |DONE      |Manifest: NOSIGNATURE         caelus-forge-1.17.1-3.0.0.1.jar                   |Caelus API                    |caelus                        |1.17.1-3.0.0.1      |DONE      |Manifest: NOSIGNATURE         forge-1.17.1-37.1.0-universal.jar                 |Forge                         |forge                         |37.1.0              |DONE      |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         origins-1.17.1-1.0.4.4-unified.jar                |Origins                       |origins                       |1.0.4.4             |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 785beee2-3467-4551-b076-b729b886edd0     FML: 37.1     Forge: net.minecraftforge:37.1.0   I have little coding experience so im not sure how to read this, if someone could explain the problem + possibly how they found it out i would appreciate it a ton!
    • The server is up and running according to this but I cant connect to it on minecraft. root@minecraft-server-1-4:/opt/minecraft# cd /opt/minecraft && java -Xms1024M -Xmx2000M -jar /opt/minecraft/forge-1.16.5-36.2.19.jar nogui [03:18:41] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 36.2.19, --fml.mcpVersion, 20210115.111550, --fml.mcVersion, 1.16.5, --fml.forgeGroup, net.minecraftforge, nogui] [03:18:41] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 8.0.9+86+master.3cf110c starting: java version 11.0.11 by UbuntuWARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by cpw.mods.modlauncher.SecureJarHandler (file:/opt/minecraft/libraries/cpw/mods/modlauncher/8.0.9/modlauncher-8.0.9.jar) to field java.util.jar.Manifest.jvWARNING: Please consider reporting this to the maintainers of cpw.mods.modlauncher.SecureJarHandlerWARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operationsWARNING: All illegal access operations will be denied in a future release     [03:19:44] [Worker-Main-2/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 96% [03:19:44] [Server thread/INFO] [minecraft/LoggingChunkStatusListener]: Time elapsed: 26976 ms [03:19:44] [Server thread/INFO] [minecraft/DedicatedServer]: Done (27.457s)! For help, type "help"
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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