Results 1 to 4 of 4

Thread: JavaScript for Minecraft Client for OpenGL-changes!

  1. #1
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,010
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts

    JavaScript for Minecraft Client for OpenGL-changes!

    At first, you need to install LiteLoader: http://killtube.org/downloads/minecr...r-1.6.2-01.jar

    Click image for larger version. 

Name:	1.jpg 
Views:	55 
Size:	67.6 KB 
ID:	380

    Click image for larger version. 

Name:	2.jpg 
Views:	55 
Size:	20.7 KB 
ID:	381

    Now you have this folder in Win+R %appdata%/.minecraft/version

    Click image for larger version. 

Name:	3.jpg 
Views:	55 
Size:	59.0 KB 
ID:	382
    Replace the file LiteLoader1.6.2.jar with my updated LiteLoader: http://killtube.org/downloads/minecr...oader1.6.2.jar

    Click image for larger version. 

Name:	4.jpg 
Views:	55 
Size:	49.2 KB 
ID:	383


    Create a file named C:/minecraft/1.js with this content:

    PHP Code:
    importPackage(Packages.java.lang)
    importPackage(Packages.java.io)
    //importPackage(Packages.com.mumfrey.liteloader);
    importClass(Packages.ats);
    importClass(Packages.bgi);

    //importPackage(Packages.wecui);
    //importClass(Packages.wecui.ChatCommandEvent);
     
    //importPackage(Packages.paulscode.sound.libraries.LibraryLWJGLOpenAL)
    //bla = importPackage(Packages.jworms.openAL.OpenALWave)
    //importClass(Packages.org.lwjgl.openal.AL)
    importClass(Packages.paulscode.sound.SoundSystem);


    importClass(org.lwjgl.opengl.GL11)

    function echo(
    str) {
        
    System.out.println(str);
    }

    // rhino c:\minecraft\1.js

    calm "C:\\Users\\Admin\\AppData\\Roaming\\.minecraft\\assets\music\\calm1.ogg";

    /*
    importClass(Packages.paulscode.sound.SoundSystem)
    var tick = function()
    {
        soundsystem = new SoundSystem();
        soundsystem.backgroundMusic("Calm Music", calm, true);
        //java.lang.Thread.sleep(1000);
    };
    new java.lang.Thread(tick).start();
    */

    //Packages.paulscode.sound.SoundSystem.getDeclaredField("soundLibrary").setAccessible(true);
    //Class.forName("paulscode.sound.SoundSystem").getClass().getDeclaredField("randomNumberGenerator");
    //ss = Packages.paulscode.sound.SoundSystem.soundLibrary;
    //ss.playing(calm);

    // globals: EntityClientPlayerMP, lolz

    // FD: abv/i net/minecraft/src/World/weatherEffects

    // b = sendMessage
    //System.out.println("Test" + EntityClientPlayerMP.b("Yo")); // thats working lol
    //System.out.println("Test" + EntityClientPlayerMP.q);

    // rhino c:\minecraft\1.js

    //echo("Set health: "  + EntityClientPlayerMP.n(20))
    //echo("oldRotationYaw(): "  + EntityClientPlayerMP.bT())

    minecraft ats.w();
    fullscreen minecraft.G();
    echo(
    "Fullscreen (F11): "  fullscreen)

    rendermanager bgi.a// instance of it
    viewerPosX rendermanager.m
    asd 
    rendermanager.q
    echo("Rendermanager: " asd)


    //echo("wecui: " + Packages.wecui.WorldEditCUI.VERSION);
    //echo("wecui: " + Packages.wecui.event.ChatCommendEvent.getHandlers("we"));

    liteloader Packages.com.mumfrey.liteloader.core.LiteLoader.getInstance();
    // echo(liteloader.getLoadedModsList());


    render = new Packages.com.mumfrey.liteloader.RenderListener() {
        
    onRender: function() {},
        
    onRenderGui: function(currentScreen) {},
        
    onRenderWorld: function() {},
        
    onSetupCameraTransform: function() {}
    }
    //liteloader.addRenderListener(render)


    function getPlayerXGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.r) * renderTick;
    }
    function 
    getPlayerYGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.s) * renderTick;
    }
    function 
    getPlayerZGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.t) * renderTick;
    }

    function 
    renderJavascript(partialTicks)
    {
            
    GL11.glPushMatrix();
            
    GL11.glTranslatef(0,1,0);
            
    //GL11.glLoadIdentity();

            
    GL11.glBlendFunc(770771);
            
    GL11.glEnable(3042);
            
    GL11.glDisable(3553);
            
    GL11.glDepthMask(false);

            
    GL11.glTranslated(-getPlayerXGuess(partialTicks), -getPlayerYGuess(partialTicks), -getPlayerZGuess(partialTicks));
            
            
    GL11.glTranslated(-422,104,-38);

            
    // pointcube, needs WorldEdit CUI in /mods/-folder
            
    if (0)
            {
                
    pointcube = new Packages.wecui.render.points.PointCube(0,0,0);
                
    pointcube.render();
            }
            
            
    // polygone pyramid
            
    if (1)
            {
                
    GL11.glBegin(GL11.GL_TRIANGLES);        
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f(0,1,0);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f(-1,-11);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f1,-11);    
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f1,-11);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f1,-1, -1);
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f1,-1, -1);
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f(-1,-1, -1);
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f(-1,-1,-1);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f(-1,-11);
                
    GL11.glEnd();
            }
            
            
    GL11.glDepthFunc(515);
            
    GL11.glDepthMask(true);
            
    GL11.glEnable(3553);
            
    GL11.glDisable(3042);
            
    GL11.glPopMatrix();
    }

    // only add callback once
    if (typeof renderAdded == "undefined")
    {
        
    renderAdded true;
        
        
    //oldTime = 0;
        
    renderPost = new Packages.com.mumfrey.liteloader.PostRenderListener() {
            
    onPostRenderEntities: function(partialTicks)
            {
                
    //diff = new Date().getTime() - oldTime;
                //echo ("Diff: " + diff);
                
    renderJavascript(partialTicks); // as callback, so we can change the callback-function dynamically, since we cant delete events in core/LiteLoader.java (yet)
                //oldTime = new Date().getTime();
            
    },
            
            
    onPostRender: function(partialTicks)
            {
            }
        }
        
    liteloader.addPostRenderListener(renderPost)
    }

    //if (typeof someGlobalVariable == "undefined")
    //    someGlobalVariable = 1;
    //someGlobalVariable++;
    //echo("someGlobalVariable: " + someGlobalVariable);

    echo("rhino_cf: " rhino_cf)

    // rhino c:\minecraft\1.js 
    Execute that .js-file in Minecraft:

    Click image for larger version. 

Name:	5.jpg 
Views:	54 
Size:	174.1 KB 
ID:	384

    Donezor! JavaScript in Minecraft with Opengl-Listeners... in next days I gonna render CoD2-Maps in Minecraft lol
    timescale 0.01

  2. #2
    ... connecting woodchop146's Avatar
    Join Date
    Aug 2013
    Posts
    9
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Splendid job good friend, I foresee myself using this beautiful tool.
    Attached Thumbnails Attached Thumbnails 2413937-2169924-kappa.png  

  3. #3
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,010
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    The DMT cat in Minecraft!

    Click image for larger version. 

Name:	dmtcat.jpg 
Views:	49 
Size:	194.0 KB 
ID:	393

    Image file in: http://killtube.org/downloads/minecr...ft/dmt_cat.jpg

    To add textures, I've added slick-utils.jar into the LiteLoader1.6.2.jar: http://killtube.org/downloads/minecraft/

    Source:

    PHP Code:
    importPackage(Packages.java.lang)
    importPackage(Packages.java.io)
    //importPackage(Packages.com.mumfrey.liteloader);
    importClass(Packages.ats);
    importClass(Packages.bgi);

    //importPackage(Packages.wecui);
    //importClass(Packages.wecui.ChatCommandEvent);
     
    //importPackage(Packages.paulscode.sound.libraries.LibraryLWJGLOpenAL)
    //bla = importPackage(Packages.jworms.openAL.OpenALWave)
    //importClass(Packages.org.lwjgl.openal.AL)
    importClass(Packages.paulscode.sound.SoundSystem);


    importClass(org.lwjgl.opengl.GL11)

    function echo(
    str) {
        
    System.out.println(str);
    }

    // rhino c:\minecraft\1.js

    calm "C:\\Users\\Admin\\AppData\\Roaming\\.minecraft\\assets\music\\calm1.ogg";

    /*
    importClass(Packages.paulscode.sound.SoundSystem)
    var tick = function()
    {
        soundsystem = new SoundSystem();
        soundsystem.backgroundMusic("Calm Music", calm, true);
        //java.lang.Thread.sleep(1000);
    };
    new java.lang.Thread(tick).start();
    */

    //Packages.paulscode.sound.SoundSystem.getDeclaredField("soundLibrary").setAccessible(true);
    //Class.forName("paulscode.sound.SoundSystem").getClass().getDeclaredField("randomNumberGenerator");
    //ss = Packages.paulscode.sound.SoundSystem.soundLibrary;
    //ss.playing(calm);

    // globals: EntityClientPlayerMP, lolz

    // FD: abv/i net/minecraft/src/World/weatherEffects

    // b = sendMessage
    //System.out.println("Test" + EntityClientPlayerMP.b("Yo")); // thats working lol
    //System.out.println("Test" + EntityClientPlayerMP.q);

    // rhino c:\minecraft\1.js

    //echo("Set health: "  + EntityClientPlayerMP.n(20))
    //echo("oldRotationYaw(): "  + EntityClientPlayerMP.bT())

    minecraft ats.w();
    fullscreen minecraft.G();
    echo(
    "Fullscreen (F11): "  fullscreen)

    rendermanager bgi.a// instance of it
    viewerPosX rendermanager.m
    asd 
    rendermanager.q
    echo("Rendermanager: " asd)


    //echo("wecui: " + Packages.wecui.WorldEditCUI.VERSION);
    //echo("wecui: " + Packages.wecui.event.ChatCommendEvent.getHandlers("we"));

    liteloader Packages.com.mumfrey.liteloader.core.LiteLoader.getInstance();
    // echo(liteloader.getLoadedModsList());


    render = new Packages.com.mumfrey.liteloader.RenderListener() {
        
    onRender: function() {},
        
    onRenderGui: function(currentScreen) {},
        
    onRenderWorld: function() {},
        
    onSetupCameraTransform: function() {}
    }
    //liteloader.addRenderListener(render)


    function getPlayerXGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.r) * renderTick;
    }
    function 
    getPlayerYGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.s) * renderTick;
    }
    function 
    getPlayerZGuess(renderTick) {
        
    /*bdf*/ thePlayer EntityClientPlayerMP;
        return 
    thePlayer.+ (thePlayer.thePlayer.t) * renderTick;
    }

    importClass(Packages.org.newdawn.slick.Color);
    importClass(Packages.org.newdawn.slick.opengl.Texture);
    importClass(Packages.org.newdawn.slick.opengl.TextureLoader);
    importClass(Packages.org.newdawn.slick.util.ResourceLoader);

    texture TextureLoader.getTexture("JPG"ResourceLoader.getResourceAsStream("C:\\minecraft\\dmt_cat.jpg"));

    echo(
    "Texture loaded: "+texture);
    echo(
    ">> Image width: "+texture.getImageWidth());
    echo(
    ">> Image height: "+texture.getImageHeight());
    echo(
    ">> Texture width: "+texture.getTextureWidth());
    echo(
    ">> Texture height: "+texture.getTextureHeight());
    echo(
    ">> Texture ID: "+texture.getTextureID());
     

    function 
    renderJavascript(partialTicks)
    {
            
    GL11.glPushMatrix();
            
    GL11.glTranslatef(0,1,0);
            
    //GL11.glLoadIdentity();

            
    GL11.glBlendFunc(770771);
            
    GL11.glEnable(3042);
            
    GL11.glDisable(3553);
            
    GL11.glDepthMask(false);

            
    GL11.glTranslated(-getPlayerXGuess(partialTicks), -getPlayerYGuess(partialTicks), -getPlayerZGuess(partialTicks));
            

            
    // pointcube, needs WorldEdit CUI in /mods/-folder
            
    if (1)
            {
                
    GL11.glPushMatrix();
                
    GL11.glTranslated(-422,104,-38);
                
    pointcube = new Packages.wecui.render.points.PointCube(0,0,0);
                
    pointcube.render();
                
    GL11.glPopMatrix();
            }
            
            
    // polygone pyramid
            
    if (1)
            {
                
    GL11.glPushMatrix();
                
    GL11.glTranslated(-422,104,-38);
                
    GL11.glBegin(GL11.GL_TRIANGLES);        
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f(0,1,0);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f(-1,-11);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f1,-11);    
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f1,-11);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f1,-1, -1);
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f1,-1, -1);
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f(-1,-1, -1);
                    
    GL11.glColor3f(1,0,0);        
                    
    GL11.glVertex3f010);    
                    
    GL11.glColor3f(0,0,1);        
                    
    GL11.glVertex3f(-1,-1,-1);    
                    
    GL11.glColor3f(0,1,0);        
                    
    GL11.glVertex3f(-1,-11);
                
    GL11.glEnd();
                
            
    GL11.glPopMatrix();
            }
            
    // rhino c:\minecraft\1.js
            
    if (1)
            {
                
    GL11.glPushMatrix();
                
    GL11.glTranslated(-461-0.01,62,-71);
                
    GL11.glEnable(GL11.GL_TEXTURE_2D);
                
    //texture.bind(); // or GL11.glBind(texture.getTextureID());
                
    GL11.glBindTexture(GL11.GL_TEXTURE_2Dtexture.getTextureID());

                
    GL11.glBegin(GL11.GL_QUADS);
            

                    
    // this is likely 512x512
                    // width = texture.getTextureWidth() / 70;
                    // height = texture.getTextureHeight() / 70;
                    
                    
    width texture.getImageWidth() / 70;
                    
    height texture.getImageHeight() / 70;
                    
                    
    GL11.glColor3f(0,0,1); // make the texture look like dark/blue
                    
                    
    GL11.glTexCoord2f(0,0);
                    
    GL11.glVertex3f(0,0,0);
                    
                    
    sx texture.getImageWidth() / texture.getTextureWidth();
                    
    sy texture.getImageHeight() / texture.getTextureHeight();

                    
    GL11.glTexCoord2f(sx,0);
                    
    GL11.glVertex3f(width,0,0);
                    
                    
    GL11.glTexCoord2f(sx,sy);
                    
    GL11.glVertex3f(width,0,height);
                    
                    
    GL11.glTexCoord2f(0,sy);
                    
    GL11.glVertex3f(0,0,height);
                    
                
    GL11.glEnd();
                
                
    GL11.glTranslatef(0,1,0);
                
    GL11.glBegin(GL11.GL_QUADS)
                
    GL11.glColor3f(0,1,0)
                
                    
    GL11.glTexCoord2f(0,sy);
                
    GL11.glVertex3f(0,      0,     0// bottom left
                
                
                    
    GL11.glTexCoord2f(sx,sy);
                
    GL11.glVertex3f(0,      0width// bottom right
                
                
                    
    GL11.glTexCoord2f(sx,0);
                
    GL11.glVertex3f(0heightwidth// top right
                
                
                    
    GL11.glTexCoord2f(0,0);
                
    GL11.glVertex3f(0height,     0// top left
                
    GL11.glEnd();
                
                
    GL11.glPopMatrix();
            }
            
            
    GL11.glDepthFunc(515);
            
    GL11.glDepthMask(true);
            
    GL11.glEnable(3553);
            
    GL11.glDisable(3042);
            
    GL11.glPopMatrix();
    }

    // only add callback once
    if (typeof renderAdded == "undefined")
    {
        
    renderAdded true;
        
        
    //oldTime = 0;
        
    renderPost = new Packages.com.mumfrey.liteloader.PostRenderListener() {
            
    onPostRenderEntities: function(partialTicks)
            {
                
    //diff = new Date().getTime() - oldTime;
                //echo ("Diff: " + diff);
                
    renderJavascript(partialTicks); // as callback, so we can change the callback-function dynamically, since we cant delete events in core/LiteLoader.java (yet)
                //oldTime = new Date().getTime();
            
    },
            
            
    onPostRender: function(partialTicks)
            {
            }
        }
        
    liteloader.addPostRenderListener(renderPost)
    }

    //if (typeof someGlobalVariable == "undefined")
    //    someGlobalVariable = 1;
    //someGlobalVariable++;
    //echo("someGlobalVariable: " + someGlobalVariable);

    echo("rhino_cf: " rhino_cf)


    // rhino c:\minecraft\1.js 
    timescale 0.01

  4. #4
    Mossaderator Jared's Avatar
    Join Date
    Jul 2012
    Location
    United States
    Posts
    137
    Thanks
    71
    Thanked 120 Times in 72 Posts
    Looks epic
    One day it will come back
    Over the lands, over the seas

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •