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