Jump to content

How to get All Woods and their Planks?


JoeBox9

Recommended Posts

How to get All Woods and their Planks? I want to shorten this piece of code and easily add compatibility for other mods. I want to get logs as an array and their planks as an array, so I can go through a loop and shorten this:

   if (offHandItem.is(Items.OAK_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.OAK_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.SPRUCE_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.SPRUCE_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.BIRCH_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.BIRCH_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.JUNGLE_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.JUNGLE_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items. ACACIA_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.ACACIA_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.DARK_OAK_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.DARK_OAK_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.CRIMSON_HYPHAE)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.CRIMSON_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.WARPED_HYPHAE)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.WARPED_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }
        if (offHandItem.is(Items.MANGROVE_LOG)) {
            offHandItem.shrink(1);
            ItemStack woodStack = Items.MANGROVE_PLANKS.getDefaultInstance();
            woodStack.grow(5);
            player.addItem(woodStack);
        }

I don't want to use a crafting recipe as it is way cooler to have it in your offhand and make wood.

Link to comment
Share on other sites

i do something similar and is complicated 

	 
	        public static Map<String, BlockState> blocklist = new HashMap<String, BlockState>();// list whit all blocks
	        Block actualBlock = null;
        String type = "";
        String nnn = "";
        int count = 0;
	 
	//load hashmap whit all blocks and fix their names 
	        for (Entry<ResourceKey<Block>, Block> ResourceKey : ForgeRegistries.BLOCKS.getEntries()) {
            actualBlock = ResourceKey.getValue();
	            nnn = fix_blkfullname(actualBlock.getName().getString());
            blocklist.put(nnn, actualBlock.defaultBlockState());
	            if (nnn.contains("slab")) {
                slablist.put(nnn, "");
            }
            count++;
        }
	 
	    // ########## ########## ########## ########## ########## ##########
    //
    public static String fix_blkfullname(String blkfullname) {
        if (blkfullname.contains(".")) {
            String[] split1 = blkfullname.split("\\."); // "\\."
	            if (split1.length > 1) {
                blkfullname = split1[split1.length - 1].replaceAll("_", " ");
            }
        }
	        return blkfullname.toLowerCase();
    }
	

is up to you to use the if (nnn.contains("slab")) { slablist.put(nnn, "");  }    to find all tha planks and logs in the list and sort them as it suits you 

 

Link to comment
Share on other sites

18 minutes ago, perromercenary00 said:

i do something similar and is complicated 
 

	 
	        public static Map<String, BlockState> blocklist = new HashMap<String, BlockState>();// list whit all blocks
	        Block actualBlock = null;
        String type = "";
        String nnn = "";
        int count = 0;
	 
	//load hashmap whit all blocks and fix their names 
	        for (Entry<ResourceKey<Block>, Block> ResourceKey : ForgeRegistries.BLOCKS.getEntries()) {
            actualBlock = ResourceKey.getValue();
	            nnn = fix_blkfullname(actualBlock.getName().getString());
            blocklist.put(nnn, actualBlock.defaultBlockState());
	            if (nnn.contains("slab")) {
                slablist.put(nnn, "");
            }
            count++;
        }
	 
	    // ########## ########## ########## ########## ########## ##########
    //
    public static String fix_blkfullname(String blkfullname) {
        if (blkfullname.contains(".")) {
            String[] split1 = blkfullname.split("\\."); // "\\."
	            if (split1.length > 1) {
                blkfullname = split1[split1.length - 1].replaceAll("_", " ");
            }
        }
	        return blkfullname.toLowerCase();
    }
	

 

is up to you to use the if (nnn.contains("slab")) { slablist.put(nnn, "");  }    to find all tha planks and logs in the list and sort them as it suits you 

 

It's giving me only this error:

/home/yusuf/IdeaProjects/Orangecraft/src/main/java/com/mys/orangecraft/Woodcutter.java:57: error: method put in class ConversionTable cannot be applied to given types;
                slablist.put(nnn, "");
                        ^
  required: Class<T>,Function<? super T,Object>
  found:    String,String
  reason: cannot infer type-variable(s) T
    (argument mismatch; String cannot be converted to Class<T>)
  where T is a type-variable:
    T extends Object declared in method <T>put(Class<T>,Function<? super T,Object>)

 

Edited by JoeBox9
Added word only to clarify
Link to comment
Share on other sites

  The way to get the list for all logs (including modded logs) is:

 ForgeRegistries.ITEMS.tags().getTag(ItemTags.LOGS).forEach(item -> blah);

and similar for ItemTags.PLANKS

But there is no association between the 2 lists except for that provided by the recipes.

Edited by warjort

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

8 minutes ago, warjort said:

  The way to get the list for all logs (including modded logs) is:

 ForgeRegistries.ITEMS.tags().getTag(ItemTags.LOGS).forEach(item -> blah);

and similar for ItemTags.PLANKS

But there is no association between the 2 lists except for that provided by the recipes.

How do I declare the blah var?

Link to comment
Share on other sites

That's for you to decide. "blah" is a placeholder for your code. 🙂 

You could also replace the .forEach() with .stream().toList() or .iterator() if you are not familiar with consumer iteration.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

6 minutes ago, warjort said:

That's for you to decide. "blah" is a placeholder for your code. 🙂 

You could also replace the .forEach() with .stream().toList() or .iterator() if you are not familiar with consumer iteration.

I used a list and appended to it like this:

        List<ITag> logs = null;
        for (Item item : ForgeRegistries.ITEMS.tags().getTag(ItemTags.LOGS)) {
            logs.add((ITag) item);
        }

It was an auto suggestion from Intellij, I was able to do planks like:

        for (i = 0; i > logs.size();i++) {
            if (offHandItem.is((Item) logs.get(i))) {

but I can't do:

 ItemStack woodStack = planks.get(i).getDeafultInstance();

It can't find it

Link to comment
Share on other sites

(Re)read what I wrote above about recipes.

Edited by warjort

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

You need to use the RecipeManager

serverLevel.getServer().getRecipeManager()

to find the Crafting(Shapeless)Recipe for the logs you have (assuming there is one).

That is the only thing that associates logs with planks.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

5 minutes ago, warjort said:

You need to use the RecipeManager

serverLevel.getServer().getRecipeManager()

to find the Crafting(Shapeless)Recipe for the logs you have (assuming there is one).

That is the only thing that associates logs with planks.

I am very confused. What is the exact code I need to associate logs with planks?

Link to comment
Share on other sites

Enough. You need to spend more than 5 minutes researching this. Instead of expecting us to write your mod for you.

e.g. look at how the 2x2 crafting grid works in InventoryMenu

Edited by warjort

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

There is no "Exact code".

You need to loop through the list of logs (that you got from the tag), and then compare those blocks with recipes which you can find from the recipemanager.

Minecraft doesn't make any links between logs and planks other than the recipes. There is no good way to do what you want, because there is no way to define "Block Y is a plank version of log X". Just "If you craft log X by itself, you get block Y". If someone adds a recipe for a single log to a diamond block, does that make a diamond block a plank?

Link to comment
Share on other sites

1 hour ago, warjort said:

You need to use the RecipeManager

serverLevel.getServer().getRecipeManager()

to find the Crafting(Shapeless)Recipe for the logs you have (assuming there is one).

That is the only thing that associates logs with planks.

What is the method that returns the crafting recipe for each log, I can't find any doc on this from a search and the autocomplete is not enough

Link to comment
Share on other sites

There isn't one, you have to loop through all the (shapeless) recipes and check them yourself (i.e. check that there is a single ingredient and it is in the logs tag (and probably also check the output is something sensible, as I mentioned before)).

Alternatively, you might be able to look up the recipes manually by looping through the items in the logs tag, converting them to a single ingredient, then looking up the recipe for that single ingredient. I haven't ever tried, so I don't know how that would work, but it is probably more efficient.

Edited by Alpvax
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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Every time I try to enter a world with Baubles reborn installed it crashes and this log appears:. ---- Minecraft Crash Report ---- // Why did you do that?   Time: 25/03/23 21:06 Description: Unexpected error   java.lang.NoClassDefFoundError: com/lazy/baubles/api/BaublesAPI  at org.cyclops.cyclopscore.modcompat.baubles.InventoryExtenderBaubles.getInventory(InventoryExtenderBaubles.java:18) ~[?:1.13.0] {re:classloading}  at org.cyclops.cyclopscore.inventory.PlayerExtendedInventoryIterator.<init>(PlayerExtendedInventoryIterator.java:32) ~[?:1.13.0] {re:classloading}  at org.cyclops.evilcraft.event.RenderOverlayEventHook.onRenderOverlayEvent(RenderOverlayEventHook.java:46) ~[?:1.1.17] {re:classloading}  at net.minecraftforge.eventbus.ASMEventHandler_702_RenderOverlayEventHook_onRenderOverlayEvent_Post.invoke(.dynamic) ~[?:?] {}  at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.eventbus.EventBus$$Lambda$3151/1831953318.invoke(Unknown Source) ~[?:?] {}  at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.client.gui.ForgeIngameGui.post(ForgeIngameGui.java:832) ~[?:?] {re:classloading}  at net.minecraftforge.client.gui.ForgeIngameGui.func_238445_a_(ForgeIngameGui.java:222) ~[?:?] {re:classloading}  at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:472) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:tombstone.mixins.json:GameRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}  at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}  at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}  at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}  at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}  at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] {}  at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$527/1610014012.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] {}  at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}  at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading} Caused by: java.lang.ClassNotFoundException: com.lazy.baubles.api.BaublesAPI  at java.lang.ClassLoader.findClass(ClassLoader.java:530) ~[?:1.8.0_51] {}  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_51] {}  at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:106) ~[modlauncher-8.1.3.jar:?] {re:classloading}  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_51] {}  ... 25 more  Suppressed: java.lang.ClassNotFoundException   at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:282) ~[modlauncher-8.1.3.jar:?] {}   at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) ~[modlauncher-8.1.3.jar:?] {re:classloading}   at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) ~[modlauncher-8.1.3.jar:?] {re:classloading}   at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_51] {}   at org.cyclops.cyclopscore.modcompat.baubles.InventoryExtenderBaubles.getInventory(InventoryExtenderBaubles.java:18) ~[?:1.13.0] {re:classloading}   at org.cyclops.cyclopscore.inventory.PlayerExtendedInventoryIterator.<init>(PlayerExtendedInventoryIterator.java:32) ~[?:1.13.0] {re:classloading}   at org.cyclops.evilcraft.event.RenderOverlayEventHook.onRenderOverlayEvent(RenderOverlayEventHook.java:46) ~[?:1.1.17] {re:classloading}   at net.minecraftforge.eventbus.ASMEventHandler_702_RenderOverlayEventHook_onRenderOverlayEvent_Post.invoke(.dynamic) ~[?:?] {}   at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}   at net.minecraftforge.eventbus.EventBus$$Lambda$3151/1831953318.invoke(Unknown Source) ~[?:?] {}   at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}   at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}   at net.minecraftforge.client.gui.ForgeIngameGui.post(ForgeIngameGui.java:832) ~[?:?] {re:classloading}   at net.minecraftforge.client.gui.ForgeIngameGui.func_238445_a_(ForgeIngameGui.java:222) ~[?:?] {re:classloading}   at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:472) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:tombstone.mixins.json:GameRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}   at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}   at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}   at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}   at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}   at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] {}   at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$527/1610014012.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] {}   at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}   at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}   at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}   at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}   at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading}     A detailed walkthrough of the error, its code path and all known details is as follows: ---------------------------------------------------------------------------------------   -- Head -- Thread: Render thread Stacktrace:  at org.cyclops.cyclopscore.modcompat.baubles.InventoryExtenderBaubles.getInventory(InventoryExtenderBaubles.java:18) ~[?:1.13.0] {re:classloading}  at org.cyclops.cyclopscore.inventory.PlayerExtendedInventoryIterator.<init>(PlayerExtendedInventoryIterator.java:32) ~[?:1.13.0] {re:classloading}  at org.cyclops.evilcraft.event.RenderOverlayEventHook.onRenderOverlayEvent(RenderOverlayEventHook.java:46) ~[?:1.1.17] {re:classloading}  at net.minecraftforge.eventbus.ASMEventHandler_702_RenderOverlayEventHook_onRenderOverlayEvent_Post.invoke(.dynamic) ~[?:?] {}  at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.eventbus.EventBus$$Lambda$3151/1831953318.invoke(Unknown Source) ~[?:?] {}  at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}  at net.minecraftforge.client.gui.ForgeIngameGui.post(ForgeIngameGui.java:832) ~[?:?] {re:classloading}  at net.minecraftforge.client.gui.ForgeIngameGui.func_238445_a_(ForgeIngameGui.java:222) ~[?:?] {re:classloading} -- Affected level -- Details:  All players: 1 total; [ClientPlayerEntity['IHarazuI'/387, l='ClientLevel', x=-102.50, y=63.00, z=132.50]]  Chunk stats: Client Chunk Cache: 841, 441  Level dimension: minecraft:overworld  Level spawn location: World: (-112,65,140), Chunk: (at 0,4,12 in -7,8; contains blocks -112,0,128 to -97,255,143), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)  Level time: 262 game time, 262 day time  Server brand: forge  Server type: Integrated singleplayer server Stacktrace:  at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:447) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}  at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2031) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}  at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:628) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A}  at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}  at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}  at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] {}  at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$527/1610014012.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] {}  at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}  at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}  at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading}     -- System Details -- Details:  Minecraft Version: 1.16.5  Minecraft Version ID: 1.16.5  Operating System: Windows 10 (amd64) version 10.0  Java Version: 1.8.0_51, Oracle Corporation  Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation  Memory: 3582537656 bytes (3416 MB) / 5368709120 bytes (5120 MB) up to 5368709120 bytes (5120 MB)  CPUs: 4  JVM Flags: 9 total; -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M -Xmx5120m -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -XX:+IgnoreUnrecognizedVMOptions  ModLauncher: 8.1.3+8.1.3+main-8.1.x.c94d18ec  ModLauncher launch target: fmlclient  ModLauncher naming: srg  ModLauncher services:    /mixin-0.8.4.jar mixin PLUGINSERVICE    /eventbus-4.0.0.jar eventbus PLUGINSERVICE    /forge-1.16.5-36.2.34.jar object_holder_definalize PLUGINSERVICE    /forge-1.16.5-36.2.34.jar runtime_enum_extender PLUGINSERVICE    /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE    /forge-1.16.5-36.2.34.jar capability_inject_definalize PLUGINSERVICE    /forge-1.16.5-36.2.34.jar runtimedistcleaner PLUGINSERVICE    /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE    /forge-1.16.5-36.2.34.jar fml TRANSFORMATIONSERVICE   FML: 36.2  Forge: net.minecraftforge:36.2.34  FML Language Providers:    javafml@36.2   minecraft@1  Mod List:    forge-1.16.5-36.2.34-client.jar |Minecraft |minecraft |1.16.5 |DONE |Manifest: NOSIGNATURE   TConstruct-1.16.5-3.3.4.335.jar |Tinkers' Construct |tconstruct |3.3.4.335 |DONE |Manifest: NOSIGNATURE   CyclopsCore-1.16.5-1.13.0.jar |Cyclops Core |cyclopscore |1.13.0 |DONE |Manifest: NOSIGNATURE   Jade-1.16.4-2.8.3.jar |Jade |jade |2.8.3 |DONE |Manifest: NOSIGNATURE   baubles-1.8.7.1-1.16.5.jar |Baubles |baubles |1.8.7 |DONE |Manifest: NOSIGNATURE   ironfurnaces-1.16.5-2.7.7.jar |Iron Furnaces |ironfurnaces |2.7.7 |DONE |Manifest: NOSIGNATURE   jei-1.16.5-7.8.0.1009.jar |Just Enough Items |jei |7.8.0.1009 |DONE |Manifest: NOSIGNATURE   constructsarmory-forge-2.0.0-alpha.2+1.16.5.jar |Construct's Armory |constructsarmory |2.0.0-alpha.2+1.16.5|DONE |Manifest: NOSIGNATURE   jousting-1.16.5-v1.0.5.jar |Jousting |jousting |1.16.5-v1.0.5 |DONE |Manifest: NOSIGNATURE   scannable-1.16.5-forge-1.7.6+00198b7.jar |Scannable |scannable |1.7.6 |DONE |Manifest: NOSIGNATURE   ProjectE-1.16.5-PE1.0.2.jar |ProjectE |projecte |PE1.0.2 |DONE |Manifest: NOSIGNATURE   Mekanism-1.16.5-10.1.2.457.jar |Mekanism |mekanism |10.1.2 |DONE |Manifest: NOSIGNATURE   Patchouli-1.16.4-53.3.jar |Patchouli |patchouli |1.16.4-53.3 |DONE |Manifest: NOSIGNATURE   Mantle-1.16.5-1.6.157.jar |Mantle |mantle |1.6.157 |DONE |Manifest: NOSIGNATURE   dragonseeker-1.1.jar |Dragonseeker |dragonseeker |1.1 |DONE |Manifest: NOSIGNATURE   journeymap-1.16.5-5.8.5p6.jar |Journeymap |journeymap |5.8.5p6 |DONE |Manifest: NOSIGNATURE   citadel-1.8.1-1.16.5.jar |Citadel |citadel |1.8.1 |DONE |Manifest: NOSIGNATURE   TravelersBackpack-1.16.5-5.4.33.jar |Traveler's Backpack |travelersbackpack |5.4.33 |DONE |Manifest: NOSIGNATURE   FluxNetworks-1.16.5-6.2.1.14.jar |Flux Networks |fluxnetworks |6.2.1.14 |DONE |Manifest: NOSIGNATURE   EvilCraft-1.16.5-1.1.17.jar |EvilCraft |evilcraft |1.1.17 |DONE |Manifest: NOSIGNATURE   tombstone-6.8.11-1.16.5.jar |Corail Tombstone |tombstone |6.8.11 |DONE |Manifest: NOSIGNATURE   MekanismTools-1.16.5-10.1.2.457.jar |Mekanism: Tools |mekanismtools |10.1.2 |DONE |Manifest: NOSIGNATURE   mcjtylib-1.16-5.1.8.jar |McJtyLib |mcjtylib |1.16-5.1.8 |DONE |Manifest: NOSIGNATURE   rftoolsbase-1.16-2.1.5.jar |RFToolsBase |rftoolsbase |1.16-2.1.5 |DONE |Manifest: NOSIGNATURE   notenoughwands-1.16-3.0.2.jar |Not Enough Wands |notenoughwands |1.16-3.0.2 |DONE |Manifest: NOSIGNATURE   Vampirism-1.16.5-1.9.3.jar |Vampirism |vampirism |1.9.3 |DONE |Manifest: NOSIGNATURE   VampirismIntegrations-1.16.5-1.6.1.jar |Vampirism Integrations |vampirism_integrations |1.6.1 |DONE |Manifest: NOSIGNATURE   Werewolves-1.16.5-1.1.0.1.jar |Werewolves |werewolves |1.1.0.1 |DONE |Manifest: NOSIGNATURE   mahoutsukai-1.16.5-v1.34.43.jar |Mahou Tsukai |mahoutsukai |1.16.5-v1.34.43 |DONE |Manifest: NOSIGNATURE   iceandfire-2.1.12-1.16.5.jar |Ice and Fire |iceandfire |2.1.12-1.16.5 |DONE |Manifest: NOSIGNATURE   projecte-integration-1.16.5-4.6.1.jar |ProjectE Integration |projecteintegration |4.6.1 |DONE |Manifest: NOSIGNATURE   MekanismGenerators-1.16.5-10.1.2.457.jar |Mekanism: Generators |mekanismgenerators |10.1.2 |DONE |Manifest: NOSIGNATURE   cloth-config-4.15.82-forge.jar |Cloth Config v4 API |cloth-config |4.15.82 |DONE |Manifest: NOSIGNATURE   inventorypets-1.16.5-2.0.15.jar |Inventory Pets |inventorypets |2.0.15 |DONE |Manifest: NOSIGNATURE   Auxilium-1.16.5-1.0.1.1.jar |Auxilium |auxilium |1.0.1.1 |DONE |Manifest: NOSIGNATURE   VampiresNeedUmbrellas-1.16.5-1.1.5.jar |Vampires Need Umbrellas |vampiresneedumbrellas |1.1.5 |DONE |Manifest: NOSIGNATURE   conjuring-forgery-0.2.2.jar |Conjuring - Forgery |conjuring |0.2.2 |DONE |Manifest: NOSIGNATURE   forge-1.16.5-36.2.34-universal.jar |Forge |forge |36.2.34 |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   wings-2.1.0-1.16.5.jar |Wings |wings |2.1.0 |DONE |Manifest: NOSIGNATURE   refinedstorage-1.9.18.jar |Refined Storage |refinedstorage |1.9.18 |DONE |Manifest: NOSIGNATURE   GodlyVampirism-1.16.5-1.0.2.jar |Godly Vampirism |godly-vampirism |1.0.2 |DONE |Manifest: NOSIGNATURE   ironchest-1.16.5-11.2.21.jar |Iron Chests |ironchest |1.16.5-11.2.21 |DONE |Manifest: NOSIGNATURE   extra-utilities-reborn-1.7.3-1.16.5.jar |Extra Utilities Rebirth |extrautilitiesrebirth |1.7.3 |DONE |Manifest: NOSIGNATURE  Crash Report UUID: 6bfb8873-9c40-461b-943f-eb5fc600a7d0  Patchouli open book context: n/a  Launched Version: 1.16.5-forge-36.2.34  Backend library: LWJGL version 3.2.2 build 10  Backend API: Intel(R) HD Graphics 620 GL version 4.6.0 - Build 31.0.101.2111, Intel  GL Caps: Using framebuffer using OpenGL 3.0  Using VBOs: Yes  Is Modded: Definitely; Client brand changed to 'forge'  Type: Client (map_client.txt)  Graphics mode: fancy  Resource Packs:   Current Language: Português (Brasil)  CPU: 4x Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz  
    • JVM info: Oracle Corporation - 1.8.0_45 - 25.45-b02 java.net.preferIPv4Stack=true Found java version 1.8.0_45 Added Lets Encrypt root certificates as additional trust Extracting json Considering minecraft client jar javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at sun.security.ssl.Alerts.getSSLException(Unknown Source)     at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)     at sun.security.ssl.Handshaker.fatalSE(Unknown Source)     at sun.security.ssl.Handshaker.fatalSE(Unknown Source)     at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)     at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)     at sun.security.ssl.Handshaker.processLoop(Unknown Source)     at sun.security.ssl.Handshaker.process_record(Unknown Source)     at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)     at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)     at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)     at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)     at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)     at java.net.HttpURLConnection.getResponseCode(Unknown Source)     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)     at net.minecraftforge.installer.DownloadUtils.getConnection(DownloadUtils.java:243)     at net.minecraftforge.installer.DownloadUtils.downloadManifest(DownloadUtils.java:307)     at net.minecraftforge.installer.json.Util.getVanillaVersion(Util.java:73)     at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:89)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:423)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:175)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at sun.security.validator.PKIXValidator.doBuild(Unknown Source)     at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)     at sun.security.validator.Validator.validate(Unknown Source)     at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)     at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)     at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)     ... 21 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)     at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)     at java.security.cert.CertPathBuilder.build(Unknown Source)     ... 27 more Failed to download version manifest, can not find client jar URL.   me sale esto en el docuento que crea el archivo cuando me da error
    • Hola, buenas, escribo porque me sale este error al descargar forge-1.16.5-36.2.34-installer, el cliente, como puedo solucionarlo ?
    • Well, as the configurations imply regardless of version, it simply removes an entity or block entity when it crashes while ticking. The only time this really occurs is when unexpected behavior occurs or the mod itself is programmed badly, which I've rarely seen in small mods. So, unless you're doing something ridiculous that is outside the bounds of survival gameplay, I don't expect you ever to run into this issue. Additionally, if the issue occurs, you'll be able to see the action within the output log, so you'll know that it happened.   As I didn't understand the question originally after posing it to the discord, one of the members mentioned that the 'optimization modpack' might be using this to hide errors caused by the performance mods. Additionally, you shouldn't normally expect errors to occur, so it makes no sense to leave the option on until you need to recover the world after the crash already happens.
    • Well, the method in question for the logic would be via LocateCommand#locateStructure which delegates to ChunkGenerator#findNearestMapStructure. You would of course need the ServerLevel as structures can only exist in the world. So, what context are you executing this in such that you don't have the level?
  • Topics

×
×
  • Create New...

Important Information

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