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

LangGen - a Minecraft Language Generator


Recommended Posts

Introduction:

 

This is not really a tutorial per se, but as this fits the bill the best, here we are.

 

I got sick of having to manually create new lines for, and every, new item and block in the language file. Sure copy-pasting and run a replace search did kind of solve the issue, but it was still very tedious. So I sat down and made a generator tool written in JavaScript for Node.js. And that is what this post is about.

 

Requirements:

 

You will need Node.js installed on your system if you want to run it locally, but I'm sure there is an online version you can run from too. Anyways, the program needs a Json blueprint from which it will generate all the finished language translations. A generic one is in a spoiler down here:

 

Tutorial:

 

{

    "domain": "examplemod",

    "types": [
        { "ingot" : "%s Ingot" },
        { "nugget" : "%s Nugget" },
        { "dust" : "%s Dust" },
        { "plate" : "%s Plate" },
        { "gear" : "%s Gear" },
        { "block" : "%s Block", "flag" : "block" },
        { "frame" : "%s Frame", "flag" : "block" },
        { "ore" : "%s Ore", "flag" : "ore" }
    ],

    "elements": [
        { "silver" : "Silver" },
        { "gold" : "Gold",
            "filter": [ "ingot","nugget","block","ore" ]
        },
        { "copper" : "Copper" },
        { "iron" : "Iron",
            "filter": [ "ingot","nugget","block","ore" ]
        },
        { "lead" : "Lead" },
        { "tin" : "Tin" }

    ]
}

 

Ok, so what's going on here? The "domain" is your mod's name, that can be anything. Then there are the array "types", it is what type of item you want to make a translation of off. It first needs a name as the key, and then the translation. It is important you have the "%s" symbol in there as that is what is going to be replaced with an entry in the "types" array. You can change however you want of the translated key, as long as it has the "%s" in it. A second optional argument called "flag" can be used. Not sure if you're like me, but I do like to have some structure in my language files, so types with the same flag will be grouped in the output file (if enabled). And if you have it be the same in the program options' blockKeywords array it will automatically make it a block contrary to item. By default, it will make types with the flag "block" or "ore" to be blocks in the output file.

 

In the "elements" array is what materials you want them in. It first needs a key and then a translated version of it. There is an optional argument too called "filter". It is an array of types you don't want translated, ex. you might not want to make a translation for Iron Ingot as Minecraft already adds that, so adding "ingot" in the filter array it will not generate in the output file. Something to note is if it has the keyword "none" it will skip over it entirely, might only be useful in very particular cases like if you go by a pre-decided dictionary.

 

 

In the program (index.js) there are a few options you can tweak, but I have already explained what they do in the file so I'm going to skip that and explain how on to set up the program:

After you've extracted the program you should just have to open the command prompt and type "node .". "node" is the program, and the "." tells it to use the package.json in that directory. If everything worked as intended it should have created a new file in "output/" with the same name as the input file in "input/".

 

Technical part:

 

When creating the language key, it first decides between using "item." or "block.", thereafter the domain. The item/block key name is generated by first using the key name, then dividing it with a "_" and the type key. Example:

Domain: "buildcraftcore"

Type: "gear"

Element: "gold"

"item.buildcraftcore.gold_gear" : "Gold Gear"

 

Download:

 

LangGen.zip

 

The plain index.js file

/**
 * A tool to generate language translations for blocks and items for my Minecraft mods
 * with similar names from a Json file blueprint. A high degree of customization of the Json
 * is possible to generate a large amount of different translations with language keys in specified order
 * ready for file transfer or manually copy-paste into desired language file, written in JavaScript in Node.js.
 *
 * By Simon
 */

const fs = require('fs');


const lang          = 'en_us.json'; // Change this to the desired language file name in input/.
const spacing       = 2;            // The desired spacing in the output file (recom. 2 or 4).
const separated     = true;         // If the flagged types should be separated or mixed in the output file.
const logging       = false;        // Whenever it should write out the language key to the console.
const blockKeywords = [             // If a flag matches a word here it will change the language key to be a block.
    'block', 'ore'
]

//////////////////////// Don't edit below this unless you know what you're doing ////////////////////////

fs.readFile('input/' + lang, (err,data) => {
    if (err) throw err;
    const json = JSON.parse(data);

    let JSONObjects = [{}];

    json.elements.forEach(element => {

        for (let i in json.types) {

            let shouldSkip = false;
            if (element.filter)
                for (var j=0;j<element.filter.length;j++) {
                    if (element.filter[j] == Object.keys(json.types[i])[0] || element.filter[j] == 'none') {
                        shouldSkip = true;
                        break;
                    }
                }
            

            if (shouldSkip) continue;

            let translation = json.types[i][Object.keys(json.types[i])[0]];
            let keyword = json.domain + "." + Object.keys(element)[0] + "_" + Object.keys(json.types[i])[0];

            translation = translation.replace("%s", element[Object.keys(element)[0]]);

            let t = blockKeywords.includes(json.types[i].flag) ? 'block.' : 'item.';

            if (logging) {
                console.log(line(t + keyword, translation));
            }


            if (separated) {
                let index = 0;
                if (json.types[i].flag) {
                    index = json.types[i].flag;
                    if (JSONObjects[index] == undefined) {
                        JSONObjects[index] = {};
                    }
                }                
                JSONObjects[index][t + keyword] = translation;
            }
            else
                JSONObjects[0][t + keyword] = translation;
        }
    });

    fs.readFile('output/' + lang, (err, data) => {

        const text = JSON.stringify(separated ? merge(JSONObjects) : JSONObjects[0], null, spacing);

        if (!err)
            if (text == data.toString()) {
                console.log('No changes to output/' + lang);
                return;
            }
        
        fs.writeFileSync('output/' + lang, text);
        console.log('Wrote to output/' + lang);
    });
});
function line(a,b) { return "\"" + a + "\" : \"" + b + "\"" }
function merge(a) { const r = {};Object.keys(a).forEach(j => Object.keys(a[j]).forEach(key => r[key] = a[j][key]));return r; }

 

Edited by Simon_kungen
Spoilers are bugged here for some reason, removed them*.
Link to post
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.

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

    • Can't run Minecraft for more than 10 seconds without it crashing. Seems to happen to only this one client.  Crash report:  ---- Minecraft Crash Report ---- // Shall we play a game? Time: 4/18/21 1:21 PM Description: Container click java.lang.IllegalStateException: Unrecognized tag     at net.minecraft.tags.ITagCollection.func_232975_b_(ITagCollection.java:35) ~[?:?] {re:classloading}     at net.minecraft.item.crafting.Ingredient$TagList.func_199799_a(Ingredient.java:277) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.lambda$new$4(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient$$Lambda$2558/302312043.test(Unknown Source) ~[?:?] {}     at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_51] {}     at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449) ~[?:1.8.0_51] {}     at net.minecraft.item.crafting.Ingredient.<init>(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_209357_a(Ingredient.java:153) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_199805_a(Ingredient.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.lambda$new$0(WeaponMaterial.java:67) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial$$Lambda$6850/1710435563.get(Unknown Source) ~[?:?] {}     at net.minecraft.util.LazyValue.func_179281_c(SourceFile:16) ~[?:?] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.func_200924_f(WeaponMaterial.java:154) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at net.minecraft.item.TieredItem.func_82789_a(SourceFile:22) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.RepairContainer.func_82848_d(RepairContainer.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:goblintraders.mixins.json:RepairContainerMixin,pl:mixin:A}     at net.minecraft.inventory.container.AbstractRepairContainer.func_75130_a(SourceFile:80) ~[?:?] {re:mixin,re:classloading}     at net.minecraft.inventory.container.AbstractRepairContainer$1.func_70296_d(SourceFile:26) ~[?:?] {re:classloading}     at net.minecraft.inventory.Inventory.func_70299_a(SourceFile:136) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.Slot.func_75215_d(Slot.java:61) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_241440_b_(Container.java:278) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_184996_a(Container.java:160) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.client.multiplayer.PlayerController.func_187098_a(PlayerController.java:379) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_184098_a(ContainerScreen.java:539) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_231048_c_(ContainerScreen.java:509) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$mouseButtonCallback$1(MouseHelper.java:93) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$11471/1792255177.run(Unknown Source) ~[?:?] {}     at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:427) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.func_198023_a(MouseHelper.java:91) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$null$4(MouseHelper.java:175) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9795/1999877134.run(Unknown Source) ~[?:?] {}     at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(ThreadTaskExecutor.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     at net.minecraft.client.MouseHelper.lambda$registerCallbacks$5(MouseHelper.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9524/2041882671.invoke(Unknown Source) ~[?:?] {}     at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10] {}     at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:102) ~[?:?] {re:classloading}     at net.minecraft.client.MainWindow.func_227802_e_(MainWindow.java:398) ~[?:?] {re:classloading,xf:OptiFine:default}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:996) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,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.0.46.jar:36.0] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$486/1227170244.call(Unknown Source) [forge-1.16.5-36.0.46.jar:36.0] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraft.tags.ITagCollection.func_232975_b_(ITagCollection.java:35) ~[?:?] {re:classloading}     at net.minecraft.item.crafting.Ingredient$TagList.func_199799_a(Ingredient.java:277) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.lambda$new$4(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient$$Lambda$2558/302312043.test(Unknown Source) ~[?:?] {}     at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_51] {}     at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449) ~[?:1.8.0_51] {}     at net.minecraft.item.crafting.Ingredient.<init>(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_209357_a(Ingredient.java:153) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_199805_a(Ingredient.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.lambda$new$0(WeaponMaterial.java:67) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial$$Lambda$6850/1710435563.get(Unknown Source) ~[?:?] {}     at net.minecraft.util.LazyValue.func_179281_c(SourceFile:16) ~[?:?] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.func_200924_f(WeaponMaterial.java:154) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at net.minecraft.item.TieredItem.func_82789_a(SourceFile:22) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.RepairContainer.func_82848_d(RepairContainer.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:goblintraders.mixins.json:RepairContainerMixin,pl:mixin:A}     at net.minecraft.inventory.container.AbstractRepairContainer.func_75130_a(SourceFile:80) ~[?:?] {re:mixin,re:classloading}     at net.minecraft.inventory.container.AbstractRepairContainer$1.func_70296_d(SourceFile:26) ~[?:?] {re:classloading}     at net.minecraft.inventory.Inventory.func_70299_a(SourceFile:136) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.Slot.func_75215_d(Slot.java:61) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_241440_b_(Container.java:278) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B} -- Click info -- Details:     Menu Type: minecraft:anvil     Menu Class: net.minecraft.inventory.container.RepairContainer     Slot Count: 39     Slot: 1     Button: 0     Type: PICKUP Stacktrace:     at net.minecraft.inventory.container.Container.func_184996_a(Container.java:160) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.client.multiplayer.PlayerController.func_187098_a(PlayerController.java:379) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_184098_a(ContainerScreen.java:539) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_231048_c_(ContainerScreen.java:509) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$mouseButtonCallback$1(MouseHelper.java:93) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$11471/1792255177.run(Unknown Source) ~[?:?] {} -- Affected screen -- Details:     Screen name: net.minecraft.client.gui.screen.inventory.AnvilScreen Stacktrace:     at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:427) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.func_198023_a(MouseHelper.java:91) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$null$4(MouseHelper.java:175) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9795/1999877134.run(Unknown Source) ~[?:?] {}     at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(ThreadTaskExecutor.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     at net.minecraft.client.MouseHelper.lambda$registerCallbacks$5(MouseHelper.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9524/2041882671.invoke(Unknown Source) ~[?:?] {}     at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10] {}     at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:102) ~[?:?] {re:classloading} -- Affected level -- Details:     All players: 1 total; [ClientPlayerEntity['capelinmoe'/11786, l='ClientLevel', x=-6075.67, y=71.00, z=-1485.13]]     Chunk stats: Client Chunk Cache: 441, 225     Level dimension: minecraft:overworld     Level spawn location: World: (-229,105,240), Chunk: (at 11,6,0 in -15,15; contains blocks -240,0,240 to -225,255,255), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)     Level time: 36986877 game time, 59715 day time     Server brand: forge     Server type: Non-integrated multiplayer server Stacktrace:     at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:617) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:astralsorcery:sun_brightness_client,pl:mixin:APP:mixins.sndctrl.json:MixinClientWorld,pl:mixin:A}     at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2029) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:623) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,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.0.46.jar:36.0] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$486/1227170244.call(Unknown Source) [forge-1.16.5-36.0.46.jar:36.0] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} -- 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: 452627472 bytes (431 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)     CPUs: 4     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     ModLauncher: 8.0.9+86+master.3cf110c     ModLauncher launch target: fmlclient     ModLauncher naming: srg     ModLauncher services:          /mixin-0.8.2.jar mixin PLUGINSERVICE          /eventbus-4.0.0.jar eventbus PLUGINSERVICE          /forge-1.16.5-36.0.46.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.0.46.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.0.46.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.0.46.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE          /OptiFine_1.16.5_HD_U_G7.jar OptiFine TRANSFORMATIONSERVICE          /forge-1.16.5-36.0.46.jar fml TRANSFORMATIONSERVICE      FML: 36.0     Forge: net.minecraftforge:36.0.46     FML Language Providers:          javafml@36.0         minecraft@1     Mod List:          astralsorcery-1.16.4-1.13.9.jar                   |Astral Sorcery                |astralsorcery                 |1.16.4-1.13.9       |DONE      |45:2b:0a:49:6b:65:3b:39:a9:dd:d2:5b:55:7f:82:47:a5:1d:7a:cc:7f:a8:69:73:72:53:6f:57:4d:b2:1a:b7         pamhc2trees-1.16.3-1.0.0.jar                      |Pam's HarvestCraft 2 Fruit Tre|pamhc2trees                   |1.0.0               |DONE      |NOSIGNATURE         jei-1.16.4-7.6.1.71.jar                           |Just Enough Items             |jei                           |7.6.1.71            |DONE      |NOSIGNATURE         Druidcraft-1.16.5-0.4.52.jar                      |Druidcraft                    |druidcraft                    |0.4.52              |DONE      |NOSIGNATURE         goblintraders-1.3.1-1.16.3.jar                    |Goblin Traders                |goblintraders                 |1.3.1               |DONE      |NOSIGNATURE         strawgolem-1.16-1.9.jar                           |Straw Golem                   |strawgolem                    |1.16-1.9            |DONE      |NOSIGNATURE         BetterCaves-Forge-1.16.4-1.1.1.jar                |YUNG's Better Caves           |bettercaves                   |1.16.4-1.1.1        |DONE      |NOSIGNATURE         Waystones_1.16.5-7.4.0.jar                        |Waystones                     |waystones                     |7.4.0               |DONE      |NOSIGNATURE         TerraForged-1.16.4-0.2.9.jar                      |TerraForged                   |terraforged                   |0.2.9               |DONE      |7b:73:d0:a2:c3:40:13:84:35:4f:c9:0e:2b:85:8c:08:ea:3c:3c:eb:f1:98:8b:5b:6e:ca:8a:a0:9a:cf:12:b3         EpicFightMod-1.16.4-3.0.3.jar                     |Epic Fight Mod                |epicfight                     |3.0.2               |DONE      |NOSIGNATURE         CookingForBlockheads_1.16.3-9.2.2.jar             |Cooking for Blockheads        |cookingforblockheads          |9.2.2               |DONE      |NOSIGNATURE         comforts-forge-1.16.4-4.0.1.0.jar                 |Comforts                      |comforts                      |1.16.4-4.0.1.0      |DONE      |NOSIGNATURE         citadel-1.6.2.jar                                 |Citadel                       |citadel                       |1.6.2               |DONE      |NOSIGNATURE         alexsmobs-1.8.1.jar                               |Alex's Mobs                   |alexsmobs                     |1.8.1               |DONE      |NOSIGNATURE         NaturesCompass-1.16.5-1.8.6.jar                   |Nature's Compass              |naturescompass                |1.16.5-1.8.6        |DONE      |NOSIGNATURE         catjammies-1.0.0.jar                              |CatJammies                    |catjammies                    |NONE                |DONE      |NOSIGNATURE         YungsApi-1.16.4-Forge-4.jar                       |YUNG's API                    |yungsapi                      |1.16.4-Forge-4      |DONE      |NOSIGNATURE         MutantBeasts-1.16.4-1.1.3.jar                     |Mutant Beasts                 |mutantbeasts                  |1.16.4-1.1.3        |DONE      |d9:be:bd:b6:9a:e4:14:aa:05:67:fb:84:06:77:a0:c5:10:ec:27:15:1b:d6:c0:88:49:9a:ef:26:77:61:0b:5e         mapperbase-1.16.4-2.3.0.0.jar                     |Mapper Base                   |mapperbase                    |1.16.4-2.3.0.0      |DONE      |NOSIGNATURE         mahoutsukai-1.16.5-v1.28.2.jar                    |Mahou Tsukai                  |mahoutsukai                   |1.16.5-v1.28.2      |DONE      |NOSIGNATURE         FpsReducer-mc1.16.4-1.18.jar                      |FPS Reducer                   |fpsreducer                    |mc1.16.4-1.18       |DONE      |NOSIGNATURE         Paraglider-1.16.2-1.3.1.0.jar                     |Paraglider                    |paraglider                    |1.3.1.0             |DONE      |NOSIGNATURE         forge-1.16.5-36.0.46-universal.jar                |Forge                         |forge                         |36.0.46             |DONE      |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         Waddles-1.16.4-0.8.11.jar                         |Waddles                       |waddles                       |1.16.4-0.8.11       |DONE      |NOSIGNATURE         BloodMagic-1.16.4-3.1.0-15.jar                    |Blood Magic                   |bloodmagic                    |1.16.4-3.1.0-15     |DONE      |NOSIGNATURE         supplementaries-1.16.5-0.11.0b.jar                |Supplementaries               |supplementaries               |1.16.5-0.11.0       |DONE      |NOSIGNATURE         DynamicSurroundings-1.16.4-4.0.4.1.jar            |§3Dynamic Surroundings        |dsurround                     |1.16.4-4.0.4.1      |DONE      |b4:98:14:b9:76:55:25:4f:e5:5f:4d:71:90:87:43:5b:f9:d5:3a:02:60:42:5e:da:1f:15:9c:ff:be:a9:7c:77         structure_gel-1.16.4-1.7.5.jar                    |Structure Gel API             |structure_gel                 |1.7.5               |DONE      |NOSIGNATURE         antiqueatlas-5.4.4-forge.jar                      |Antique Atlas                 |antiqueatlas                  |5.4.4-forge         |DONE      |NOSIGNATURE         forge-1.16.5-36.0.46-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |NOSIGNATURE         embellishcraft-1.16.4-3.3.0.0.jar                 |EmbellishCraft                |embellishcraft                |1.16.4-3.3.0.0      |DONE      |NOSIGNATURE         MouseTweaks-2.14-mc1.16.2.jar                     |Mouse Tweaks                  |mousetweaks                   |2.14                |DONE      |NOSIGNATURE         ShoulderSurfing-1.16.4-2.0.3.jar                  |Shoulder Surfing              |shouldersurfing               |1.16.4-2.0.3        |DONE      |NOSIGNATURE         pamhc2crops-1.16.3-1.0.1.jar                      |Pam's HarvestCraft 2 Crops    |pamhc2crops                   |version             |DONE      |NOSIGNATURE         dungeons_plus-1.16.4-1.1.3.jar                    |Dungeons Plus                 |dungeons_plus                 |1.1.3               |DONE      |NOSIGNATURE         ElenaiDodge2-1.16.X-1.0.8b.jar                    |Elenai Dodge 2                |elenaidodge2                  |1.0.8b              |DONE      |NOSIGNATURE         fairylights-4.0.5-1.16.5.jar                      |Fairy Lights                  |fairylights                   |4.0.5               |DONE      |NOSIGNATURE         jousting-1.16.5-v1.0.3.jar                        |Jousting                      |jousting                      |1.16.5-v1.0.3       |DONE      |NOSIGNATURE         astikorcarts-1.16.5-1.1.1.jar                     |AstikorCarts                  |astikorcarts                  |1.1.1               |DONE      |NOSIGNATURE         pamhc2foodextended-1.16.3-1.0.1.jar               |Pam's HarvestCraft 2 Food Exte|pamhc2foodextended            |version             |DONE      |NOSIGNATURE         curios-forge-1.16.5-4.0.5.0.jar                   |Curios API                    |curios                        |1.16.5-4.0.5.0      |DONE      |NOSIGNATURE         pamhc2foodcore-1.16.3-1.0.2.jar                   |Pam's HarvestCraft 2 Food Core|pamhc2foodcore                |version             |DONE      |NOSIGNATURE         AutoRegLib-1.6-47.jar                             |AutoRegLib                    |autoreglib                    |1.6-47              |DONE      |NOSIGNATURE         Quark-r2.4-308.jar                                |Quark                         |quark                         |r2.4-308            |DONE      |NOSIGNATURE         Runelic-1.16.5-7.0.1.jar                          |Runelic                       |runelic                       |7.0.1               |DONE      |eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         worldedit-mod-7.2.4.jar                           |WorldEdit                     |worldedit                     |7.2.4+5723-e3bfc64  |DONE      |NOSIGNATURE         SpartanWeaponry-1.16.4-2.1.0-beta-3.jar           |Spartan Weaponry              |spartanweaponry               |2.1.0 beta 3        |DONE      |NOSIGNATURE         observerlib-1.16.4-1.5.1.jar                      |ObserverLib                   |observerlib                   |1.16.4-1.5.1        |DONE      |NOSIGNATURE         mcw-furniture-2.0.1-mc1.16.5.jar                  |Macaw's Furniture             |mcwfurnitures                 |2.0.1               |DONE      |NOSIGNATURE         solcarrot-1.16.3-1.9.9.jar                        |Spice of Life: Carrot Edition |solcarrot                     |1.16.3-1.9.9        |DONE      |NOSIGNATURE         byg-1.1.14.jar                                    |Oh The Biomes You'll Go       |byg                           |1.1.14              |DONE      |NOSIGNATURE         FriendlyFire-1.16.5-7.0.2.jar                     |FriendlyFire                  |friendlyfire                  |7.0.2               |DONE      |NOSIGNATURE         CraftableHorseArmour-1.16.X-1.4.0.jar             |CHA&S - Craftable Horse Armour|craftablehorsearmour          |1.16.4-1.4.0        |DONE      |NOSIGNATURE         [1.16.5][Forge]+RPG-HUD-3.8.4.jar                 |RPG-Hud                       |rpg-hud                       |3.8.4               |DONE      |NOSIGNATURE         CosmeticArmorReworked-1.16.5-v1b.jar              |CosmeticArmorReworked         |cosmeticarmorreworked         |1.16.5-v1b          |DONE      |5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         chiselsandbits-0.3.4-RELEASE.jar                  |Chisels & bits                |chiselsandbits                |NONE                |DONE      |NOSIGNATURE         BetterMineshafts-Forge-1.16.4-2.0.3.jar           |YUNG's Better Mineshafts      |bettermineshafts              |1.16.4-2.0.3        |DONE      |NOSIGNATURE     Crash Report UUID: d3c6c2f9-583b-4f97-a3ad-b7eb4811e1d7     Launched Version: 1.16.5-forge-36.0.46     Backend library: LWJGL version 3.2.2 build 10     Backend API: Intel(R) HD Graphics 520 GL version 4.4.0 - Build 21.20.16.4574, 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: English (US)     CPU: 4x Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz     OptiFine Version: OptiFine_1.16.5_HD_U_G7     OptiFine Build: 20210305-003221     Render Distance Chunks: 8     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.4.0 - Build 21.20.16.4574     OpenGlRenderer: Intel(R) HD Graphics 520     OpenGlVendor: Intel     CpuCount: 4
    • Maybe recheck the code a couple of times? Im just a random guy who found this post  
    • world stops loading at 53%2021-04-18-1.log.gz
    • Try to swich versions of the game, if that dest work try to install the game again.
    • Hello There! Yes I know it's been a while and there are reasons that I explain in this video! But in this video talk about some pretty cool updates and announcements to the channel that I am super excited to share with you guys! Also yes this was filmed on the Hive about a day before it shut down! I hope you all enjoy this video and if you did don't forget to like and sub for more!  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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