Proyecjs
by sisnter @sisnter
- 68
- 0
- 0
var px = Player.getX;
var py = Player.getY;
var pz = Player.getZ;
var ctx = com.mojang.minecraftpe.MainActivity.currentMainActivity.get();
var grave = 176;
Block.defineBlock(grave, "Grave", ["stonebrick", 0],0,false,0);
Block.setShape(grave, .1, 0, .3, .9, 1, .7);
Block.setDestroyTime(grave,3);
var grBottom = 177;
Block.defineBlock(grBottom, "Grave Bottom", ["stonebrick", 0],0,false,0);
Block.setShape(grBottom,0, -1, 0, 1, -.8, 1);
Block.setDestroyTime(grBottom,3);
var myStuff = [];
var myData = [];
var myAmount = [];
function newLevel(){
ctx.runOnUiThread(new java.lang.Runnable() {
run: function() {
try {
android.widget.Toast.makeText(ctx, new android.text.Html.fromHtml("Gravestone v2 by DeltaMsTR550"), 0).show();
} catch (err) {
clientMessage("Error: " + err);
}
}
});
}
function leaveGame(){
ModPE.saveData(myStuff, myData, myAmount);
}
function deathHook(a, v){
if (Entity.getEntityTypeId(v)==63){
for (var t = 0; t < 5; t++){
myStuff.push (Player.getArmorSlot(t));
myData.push(Player.getArmorSlotDamage(t));
myAmount.push(0);
Player.setArmorSlot(t, 0, 0);
}
for (var i = 9; i < 46; i ++){
myStuff.push(Player.getInventorySlot(i));
myData.push(Player.getInventorySlotData(i));
myAmount.push(Player.getInventorySlotCount(i));
Player.clearInventorySlot(i);
}
Level.setTile(px(), py()-1, pz(), grave);
Level.setTile(px(), py(), pz(), grBottom);
}
ready = false;
hologram = false;
Load();
ShowW();
}
function destroyBlock(x,y,z,s){
if (Level.getTile(x,y,z)==grave){
if (Level.getTile(x,y+1,z)==grBottom){
Level.setTile(x,y+1,z,0);
}
preventDefault();
Level.setTile(x,y,z,0);
Level.setTile(x,y+3,z,0);
for (var a = 0; a <= myStuff.length; a++){
Level.dropItem(x,y,z,0,myStuff[a], myAmount[a], myData[a]);
}
myStuff = [];
myData = [];
myAmount = [];
}
}
//================================================================================================
var activity=com.mojang.minecraftpe.MainActivity.currentMainActivity.get();
var hidden=false;
var X,Y,Z=null;
var gps=false;
var display=new android.util.DisplayMetrics();
com.mojang.minecraftpe.MainActivity.currentMainActivity.get().getWindowManager().getDefaultDisplay().getMetrics(display);
var gpsWindow,exitWindow,hudWindow=null;
var arrow;
var arrowImg=new android.widget.ImageView(activity);
var set=false;
var lastDeath={x:null,y:null,z:null};
var coords=false;
var Xcoorinate=new android.widget.TextView(activity);
var Ycoorinate=new android.widget.TextView(activity);
var Zcoorinate=new android.widget.TextView(activity);
var waypoints={};
var mapWindow=null;
var dx=0;
var dz=0;
var ready=false;
var cs=android.graphics.Bitmap.createBitmap(240,120,android.graphics.Bitmap.Config.ARGB_8888);
var comboImage=new android.graphics.Canvas(cs);
var map=new android.widget.ImageView(activity);
var mGLSurfaceView;
var currentWaypoint;
var hologram=false;
var waypointsWindow=null;
function ShowWaypointsGUI() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
waypointsWindow = new android.widget.PopupWindow();
var layout = new android.widget.LinearLayout(activity);
layout.setOrientation(android.widget.LinearLayout.VERTICAL);
var layout2 = new android.widget.LinearLayout(activity);
layout2.setOrientation(android.widget.LinearLayout.VERTICAL);
var closeBtn = new android.widget.Button(activity);
closeBtn.setText("Close");
var addBtn = new android.widget.Button(activity);
addBtn.setText("Create waypoint");
var cBtn = new android.widget.Button(activity);
if (coords)
cBtn.setText(["Hide coordinates"]);
else
cBtn.setText("Show coordinates");
var mBtn = new android.widget.Button(activity);
//if(mapWindow)
if (hologram)
mBtn.setText("Hide Hologram");
//mBtn.setText("Hide Minimap");
else
mBtn.setText("Show Hologram");
//mBtn.setText("Show Minimap");
var ldBtn = new android.widget.Button(activity);
ldBtn.setText("Latest Death");
closeBtn.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
HideWaypointsGUI();
}
}));
layout2.addView(closeBtn);
mBtn.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
//if(mapWindow)
if (hologram)
hologram = false;
//HideMiniMap();
else {
hologram = true;
//ShowMiniMap();
HideW();
ShowW();
}
HideWaypointsGUI();
}
}));
ldBtn.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
if (lastDeath.x && X == lastDeath.x && Z == lastDeath.z) {
X = null;
Y = null;
Z = null;
HideGPSGUI();
HideInGame();
HideWaypointsGUI();
ShowWaypointsGUI();
}
else {
currentWaypoint = "Latest death";
X = lastDeath.x;
Y = lastDeath.y;
Z = lastDeath.z;
HideWaypointsGUI();
ShowGPSGUI();
if (hologram)
ShowInGame();
}
}
}));
if (X == lastDeath.x && Y == lastDeath.y && Z == lastDeath.z)
ldBtn.getBackground().setColorFilter(android.graphics.Color.BLUE, android.graphics.PorterDuff.Mode.MULTIPLY);
if (lastDeath.x && lastDeath.y && lastDeath.z)
layout.addView(ldBtn);
for (var i = 0; i < objectLength(waypoints); i++) {
if (!waypoints[i].removed) {
if (CreateButton(i).getParent() != null)
CreateButton(i).getParent().removeView(CreateButton(i));
layout.addView(CreateButton(i));
}
}
var scrollView = new android.widget.ScrollView(activity);
scrollView.addView(layout);
layout2.addView(scrollView);
waypointsWindow.setContentView(layout2);
waypointsWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
waypointsWindow.setHeight(display.heightPixels);
waypointsWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.DKGRAY));
waypointsWindow.showAtLocation(activity.getWindow().getDecorView(), android.view.Gravity.TOP | android.view.Gravity.LEFT, 0, 0);
}
catch (err) {
clientMessage(err);
}
}
}));
}
function HideWaypointsGUI() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
if (waypointsWindow != null) {
waypointsWindow.dismiss();
waypointsWindow = null;
}
}
}));
}
function procCmd(cmd) {
if (cmd == "hide") {
hidden = !hidden;
if (hidden)
HideW();
else
ShowW();
}
else if (cmd == "tp") {
if (X != null && Y != null && Z != null) {
if (Y != 0)
Entity.setPosition(Player.getEntity(), X, Y + 1, Z);
else
clientMessage("This waypoint was created in older version. You can't teleport there.");
}
else
clientMessage("Select the waypoint first.");
}
}
function AddNewWaypoint(cx, cy, cz) {
var alert = new android.app.AlertDialog.Builder(activity);
alert.setTitle("Create new waypoint");
userInput = new android.widget.EditText(activity);
userInput.setText("New Waypoint");
alert.setView(userInput);
alert.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
Coordinates(userInput.getText(), cx, cy, cz);
}
});
alert.setNegativeButton("Cancel", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
}
});
alert.show();
}
function Coordinates(nme, cx, cy, cz) {
try {
var alert = new android.app.AlertDialog.Builder(activity);
alert.setTitle("Enter the coordinates");
// mostrar coorfenadas en pantalla
userInput = new android.widget.EditText(activity);
userInput.setText(cx + "," + cy + "," + cz);
alert.setView(userInput);
alert.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
try {
if (String(userInput.getText()).split(",").length == 3) {
waypoints[objectLength(waypoints)] = {name: nme, x: parseInt(String(userInput.getText()).split(",")[0]), y: parseInt(String(userInput.getText()).split(",")[1]), z: parseInt(String(userInput.getText()).split(",")[2]), removed: false};
Save();
}
else
Warning(Coordinates(nme, cx, cz),"Error","Input must be X,Z. Example" + ": " + cx + "," + cy + "," + cz);
}
catch (err) {
clientMessage(err);
}
}
});
alert.setNegativeButton("Cancel", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
}
});
alert.show();
}
catch (err) {
clientMessage(err);
}
}
function Warning(funct, title, msg) {
try {
var alert = new android.app.AlertDialog.Builder(activity);
alert.setTitle(title);
alert.setMessage(msg);
alert.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
}
});
alert.show();
}
catch (err) {
clientMessage(err);
}
}
function CreateButton(i) {
try {
var slayout = new android.widget.LinearLayout(activity);
slayout.setOrientation(android.widget.LinearLayout.HORIZONTAL);
var btn = new android.widget.Button(activity);
btn.setText(waypoints[i].name);
if (X == waypoints[i].x && Y == waypoints[i].y && Z == waypoints[i].z)
btn.getBackground().setColorFilter(android.graphics.Color.BLUE, android.graphics.PorterDuff.Mode.MULTIPLY);
btn.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
if (X == waypoints[i].x && Y == waypoints[i].y && Z == waypoints[i].z) {
X = null;
Y = null;
Z = null;
HideInGame();
HideGPSGUI();
HideWaypointsGUI();
ShowWaypointsGUI();
}
else {
currentWaypoint = waypoints[i].name;
X = waypoints[i].x;
Y = waypoints[i].y;
Z = waypoints[i].z;
HideWaypointsGUI();
ShowGPSGUI();
if (hologram)
ShowInGame();
}
}
}));
var btn2 = new android.widget.Button(activity);
btn2.setText("x");
btn2.getBackground().setColorFilter(android.graphics.Color.RED, android.graphics.PorterDuff.Mode.MULTIPLY);
btn2.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
RemoveWaypoint(i);
HideWaypointsGUI();
}
}));
if (btn.getParent() != null)
btn.getParent().removeView(btn);
slayout.addView(btn);
if (btn2.getParent() != null)
btn2.getParent().removeView(btn2);
slayout.addView(btn2);
}
catch (err) {
clientMessage(err);
}
return slayout;
}
function RemoveWaypoint(i) {
var alert = new android.app.AlertDialog.Builder(activity);
alert.setTitle("Are you sure? You can't undo this!");
alert.setPositiveButton("Ok", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
waypoints[i].removed = true;
if (X == waypoints[i].x && Y == waypoints[i].y && Z == waypoints[i].z) {
HideInGame();
X = null;
Y = null;
Z = null;
HideGPSGUI();
}
Save();
}
});
alert.setNegativeButton("Cancel", new android.content.DialogInterface.OnClickListener(){
onClick: function (dialog, whichButton) {
}
});
alert.show();
}
function Save() {
try {
var path = android.os.Environment.getExternalStorageDirectory().getPath() + "/games/com.mojang/minecraftworlds/" + Level.getWorldName() + "/";
java.io.File(path).mkdirs();
var newFile = new java.io.File(path, "waypoints.txt");
newFile.createNewFile();
var outWrite = new java.io.OutputStreamWriter(new java.io.FileOutputStream(newFile));
var k = 0;
if (!lastDeath.x && !lastDeath.y && !lastDeath.z) {
for (var j = 0; j < objectLength(waypoints); j++) {
if (!waypoints[j].removed) {
outWrite.append(waypoints[j].name + "@" + waypoints[j].x + "@" + waypoints[j].y + "@" + waypoints[j].z);
k = j + 1;
break;
}
}
}
else
outWrite.append("lastDeath@" + lastDeath.x + "@" + lastDeath.y + "@" + lastDeath.z);
for (var j = k; j < objectLength(waypoints); j++) {
if (!waypoints[j].removed)
outWrite.append("\n" + waypoints[j].name + "@" + waypoints[j].x + "@" + waypoints[j].y + "@" + waypoints[j].z);
}
outWrite.close();
}
catch (err) {
clientMessage(err);
}
}
function Load(){
var savefile="";
var path=android.os.Environment.getExternalStorageDirectory().getPath()+"/games/com.mojang/minecraftworlds/"+Level.getWorldName()+"/";
if(java.io.File(path+"waypoints.txt").exists()){
var file=new java.io.File(path+"waypoints.txt");
var fos=new java.io.FileInputStream(file);
var str=new java.lang.StringBuilder();
var ch;
while((ch=fos.read())!=-1)
str.append(java.lang.Character(ch));
savefile=String(str.toString());
if(savefile.length>4){
if(savefile.split("\n")[0].split("@").length==3){
var sf=savefile;
savefile="";
for(var i=0;i<sf.split("\n").length;i++)
savefile+=sf.split("\n")[i].split("@")[0]+"@"+sf.split("\n")[i].split("@")[1]+"@"+0+"@"+sf.split("\n")[i].split("@")[2]+"\n";
savefile=savefile.substring(0,savefile.length-2);
}
for(var i=0;i<savefile.split("\n").length;i++){
if(i==0 && savefile.split("\n")[i].split("@")[0]=="lastDeath")
lastDeath={x:parseInt(savefile.split("\n")[i].split("@")[1]),y:parseInt(savefile.split("\n")[i].split("@")[2]),z:parseInt(savefile.split("\n")[i].split("@")[3])};
else
waypoints[objectLength(waypoints)]={name:savefile.split("\n")[i].split("@")[0],x:parseInt(savefile.split("\n")[i].split("@")[1]),y:parseInt(savefile.split("\n")[i].split("@")[2]),z:parseInt(savefile.split("\n")[i].split("@")[3]),removed:false};
}
}
fos.close();
}
}
function objectLength(obj){
var x=0;
for(var i in obj)
x++;
return x;
}
function modTick() {
if (!ready && Level.getTile(parseInt(Player.getX()), parseInt(Player.getY()) - 2, parseInt(Player.getZ())) != 0)
ready = true;
if (mapWindow && ready) {
new java.lang.Thread(new java.lang.Runnable({
run: function () {
try {
for (var dz = 0; dz < 15; dz++) {
var blockID = Level.getTile(parseInt(Player.getX()) - 8 + dx, parseInt(Player.getY()) - 2, parseInt(Player.getZ()) - 8 + dz) + ":" + Level.getData(parseInt(Player.getX()) - 8 + dx, parseInt(Player.getY()) - 2, parseInt(Player.getZ()) - 8 + dz);
if (!img[blockID])
blockID = Level.getTile(parseInt(Player.getX()) - 8 + dx, parseInt(Player.getY()) - 2, parseInt(Player.getZ()) - 8 + dz) + ":0";
if (!img[blockID])
blockID = "0:0";
try {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
comboImage.drawBitmap(img[blockID], dx * 16, dz * 16, null);
map.setImageBitmap(cs);
}
catch (err) {
//clientMessage(err);
}
}
}));
}
catch (err) {
//clientMessage(err);
}
}
dx++;
if (dx == 15)
dx = 0;
}
catch (err) {
//clientMessage(err);
}
}
})).start();
}
if (coords) {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
Xcoorinate.setText("X: " + Math.round(getPlayerX() * 10) / 10);
Ycoorinate.setText("Y: " + Math.round(getPlayerY() * 10) / 10);
Zcoorinate.setText("Z: " + Math.round(getPlayerZ() * 10) / 10);
}
}));
}
if (Entity.getHealth(Player.getEntity()) <= 0 && !set) {
lastDeath.x = Player.getX();
lastDeath.y = Player.getY();
lastDeath.z = Player.getZ();
set = true;
}
if (set && Entity.getHealth(Player.getEntity()) > 0)
set = false;
if (gps) {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
if (Math.sqrt(Math.pow(X - Player.getX(), 2) + Math.pow(Z - Player.getZ(), 2)) < 3)
arrowImg.setRotation(arrowImg.getRotation() + 40);//rotacion de img
else
arrowImg.setRotation(-getYaw() - Math.atan2(X - (Player.getX() + 0.5), Z - (Player.getZ() + 0.5)) * (180 / Math.PI));
}
}));
}
}
var path=android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/games/com.mojang/ModScript/ExtendedCraft/gps/";
if (java.io.File(path + "blocks.png").exists()) {
try {
arrow = new android.graphics.drawable.BitmapDrawable(path + "arrow.png");
blocks = new android.graphics.drawable.BitmapDrawable(path + "blocks.png");
iBlack = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 4 * 16, 11 * 16, 16, 16);
iStone = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 0 * 16, 0 * 16, 16, 16);
iGrass = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 2 * 16, 0 * 16, 16, 16);
iDirt = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 11 * 16, 1 * 16, 16, 16);
iCobble = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 26 * 16, 0 * 16, 16, 16);
iWood = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 14 * 16, 1 * 16, 16, 16);
iBedrock = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 0 * 16, 1 * 16, 16, 16);
iWater = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 0 * 16, 11 * 16, 16, 16);
iLava = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 1 * 16, 11 * 16, 16, 16);
iSand = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 3 * 16, 1 * 16, 16, 16);
iRedSand = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 4 * 16, 1 * 16, 16, 16);
iGravel = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 10 * 16, 1 * 16, 16, 16);
iGoldOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 24 * 16, 3 * 16, 16, 16);
iIronOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 25 * 16, 3 * 16, 16, 16);
iCoalOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 26 * 16, 3 * 16, 16, 16);
iLapisOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 27 * 16, 3 * 16, 16, 16);
iDiamondOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 28 * 16, 3 * 16, 16, 16);
iRedstoneOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 29 * 16, 3 * 16, 16, 16);
iEmeraldOre = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 30 * 16, 3 * 16, 16, 16);
iLog = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 29 * 16, 2 * 16, 16, 16);
iLeaf = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 22 * 16, 4 * 16, 16, 16);
iIron = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 8 * 16, 3 * 16, 16, 16);
iGold = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 9 * 16, 3 * 16, 16, 16);
iDiamond = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 10 * 16, 3 * 16, 16, 16);
iCoal = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 11 * 16, 3 * 16, 16, 16);
iLapis = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 12 * 16, 3 * 16, 16, 16);
iEmerald = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 13 * 16, 3 * 16, 16, 16);
iRedstone = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 14 * 16, 3 * 16, 16, 16);
iSandstone = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 8 * 16, 1 * 16, 16, 16);
iWool0 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 23 * 16, 9 * 16, 16, 16);
iWool1 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 24 * 16, 9 * 16, 16, 16);
iWool2 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 25 * 16, 9 * 16, 16, 16);
iWool3 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 26 * 16, 9 * 16, 16, 16);
iWool4 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 27 * 16, 9 * 16, 16, 16);
iWool5 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 28 * 16, 9 * 16, 16, 16);
iWool6 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 29 * 16, 9 * 16, 16, 16);
iWool7 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 30 * 16, 9 * 16, 16, 16);
iWool8 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 31 * 16, 9 * 16, 16, 16);
iWool9 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 0 * 16, 10 * 16, 16, 16);
iWool10 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 1 * 16, 10 * 16, 16, 16);
iWool11 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 2 * 16, 10 * 16, 16, 16);
iWool12 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 4 * 16, 10 * 16, 16, 16);
iWool13 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 5 * 16, 10 * 16, 16, 16);
iWool14 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 6 * 16, 10 * 16, 16, 16);
iWool15 = android.graphics.Bitmap.createBitmap(blocks.getBitmap(), 7 * 16, 10 * 16, 16, 16);
img = {
"0:0": iBlack, "1:0": iStone, "2:0": iGrass, "3:0": iDirt, "4:0": iCobble, "5:0": iWood, "5:1": iWood, "5:2": iWood, "5:3": iWood, "5:4": iWood, "5:5": iWood, "6:0": iLeaf, "6:1": iLeaf,
"6:2": iLeaf, "6:3": iLeaf, "6:4": iLeaf, "6:5": iLeaf, "7:0": iBedrock, "8:0": iWater, "9:0": iWater, "10:0": iLava, "11:0": iLava, "12:0": iSand, "12:1": iRedSand, "13:0": iGravel, "14:0": iGoldOre,
"15:0": iIronOre, "16:0": iCoalOre, "17:0": iLog, "17:1": iLog, "17:2": iLog, "17:3": iLog, "18:0": iLeaf, "18:1": iLeaf, "18:2": iLeaf, "18:3": iLeaf, "19:0": iBlack,
"20:0": iBlack, "21:0": iLapisOre, "22:0": iLapis, "24:0": iSandstone, "24:1": iSandstone, "24:2": iSandstone, "27:0": iBlack, "30:0": iBlack, "31:0": iBlack, "31:1": iBlack, "31:2": iBlack,
"31:3": iBlack, "32:0": iBlack, "35:0": iWool0, "35:1": iWool1, "35:2": iWool2, "35:3": iWool3, "35:4": iWool4, "35:5": iWool5, "35:6": iWool6, "35:7": iWool7, "35:8": iWool8,
"35:9": iWool9, "35:10": iWool10, "35:11": iWool11, "35:12": iWool12, "35:13": iWool13, "35:14": iWool14, "35:15": iWool15, "37:0": iBlack, "38:0": iBlack, "38:1": iBlack,
"38:2": iBlack, "38:3": iBlack, "38:4": iBlack, "38:5": iBlack, "38:6": iBlack, "38:7": iBlack, "38:8": iBlack, "39:0": iBlack, "40:0": iBlack, "41:0": iGold, "42:0": iIron,
"43:0": iStone, "43:1": iSandstone, "43:2": iWood, "43:3": iBlack, "43:4": iBlack, "43:5": iStone, "43:6": iBlack, "43:7": iBlack, "43:8": iBlack, "43:9": iBlack, "44:0": iBlack,
"44:1": iBlack, "44:2": iBlack, "44:3": iBlack, "44:4": iBlack, "44:5": iBlack, "44:6": iBlack, "44:7": iBlack, "45:0": iBlack, "46:0": iBlack, "47:0": iWood, "48:0": iBlack,
"49:0": iBlack, "50:0": iBlack, "51:0": iBlack, "52:0": iBlack, "53:0": iWood, "54:0": iBlack, "56:0": iDiamondOre, "57:0": iDiamond, "58:0": iBlack, "60:0": iBlack, "61:0": iBlack, "62:0": iBlack, "65:0": iBlack,
"66:0": iBlack, "67:0": iCobble, "73:0": iRedstoneOre, "78:0": iBlack, "79:0": iBlack, "80:0": iBlack, "81:0": iBlack, "82:0": iBlack, "85:0": iBlack, "86:0": iBlack, "87:0": iBlack, "89:0": iBlack, "91:0": iBlack,
"96:0": iBlack, "97:0": iStone, "97:1": iCobble, "97:2": iBlack, "98:0": iBlack, "98:1": iBlack, "98:2": iBlack, "98:3": iBlack, "99:0": iBlack, "100:0": iBlack, "101:0": iBlack,
"102:0": iBlack, "103:0": iBlack, "106:0": iBlack, "107:0": iBlack, "108:0": iBlack, "109:0": iBlack, "110:0": iBlack, "111:0": iBlack, "112:0": iBlack, "114:0": iBlack, "120:0": iBlack,
"121:0": iBlack, "127:0": iBlack, "128:0": iSandstone, "129:0": iEmeraldOre, "133:0": iEmerald, "134:0": iWood, "135:0": iWood, "136:0": iWood, "139:0": iCobble, "139:1": iBlack, "141:0": iBlack,
"142:0": iBlack, "155:0": iBlack, "155:1": iBlack, "155:2": iBlack, "155:3": iBlack, "155:4": iBlack, "156:0": iBlack, "158:0": iWood, "158:1": iWood, "158:2": iWood,
"158:3": iWood, "159:0": iBlack, "159:1": iBlack, "159:2": iBlack, "159:3": iBlack, "159:4": iBlack, "159:5": iBlack, "159:6": iBlack, "159:7": iBlack, "159:8": iBlack,
"159:9": iBlack, "159:10": iBlack, "159:11": iBlack, "159:12": iBlack, "159:13": iBlack, "159:14": iBlack, "159:15": iBlack, "161:0": iLeaf, "161:1": iLeaf,
"162:0": iLog, "162:1": iLog, "170:0": iBlack, "171:0": iWool0, "171:1": iWool1, "171:2": iWool2, "171:3": iWool3, "171:4": iWool4, "171:5": iWool5, "171:6": iWool6,
"171:7": iWool7, "171:8": iWool8, "171:9": iWool9, "171:10": iWool10, "171:11": iWool11, "171:12": iWool12, "171:13": iWool13, "171:14": iWool14, "171:15": iWool15,
"172:0": iBlack, "173:0": iBlack, "175:0": iBlack, "175:1": iBlack, "175:2": iBlack, "175:3": iBlack, "175:4": iBlack, "175:5": iBlack, "243:0": iBlack, "244:0": iBlack,
"245:0": iBlack, "246:0": iBlack, "247:0": iBlack, "247:1": iBlack, "247:2": iBlack, "248:0": iBlack, "249:0": iBlack, "255:0": iBlack
};
}
catch (err) {
print(err);
}
}
function ShowGPSGUI() {
gps = true;
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
if (gpsWindow != null) {
gpsWindow.dismiss();
gpsWindow = null;
}
gpsWindow = new android.widget.PopupWindow();
gpsWindow.setFocusable(false);
gpsWindow.setTouchable(false);
var layout = new android.widget.LinearLayout(activity);
layout.setOrientation(android.widget.LinearLayout.VERTICAL);
if (arrowImg.getParent() != null)
arrowImg.getParent().removeView(arrowImg);
arrowImg.setBackgroundDrawable(arrow);
layout.addView(arrowImg);
gpsWindow.setContentView(layout);
gpsWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
gpsWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
gpsWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT));
gpsWindow.showAtLocation(activity.getWindow().getDecorView(), android.view.Gravity.TOP, 0, display.heightPixels / 10);
}
catch (err) {
clientMessage(err);
}
}
}));
}
function HideGPSGUI() {
gps = false;
X = null;
Y = null;
Z = null;
HideInGame();
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
if (gpsWindow != null) {
gpsWindow.dismiss();
gpsWindow = null;
}
}
}));
}
function ShowHUDGUI() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
hudWindow = new android.widget.PopupWindow();
var layout = new android.widget.LinearLayout(activity);
layout.setOrientation(android.widget.LinearLayout.VERTICAL);
if (Xcoorinate.getParent() != null)
Xcoorinate.getParent().removeView(Xcoorinate);
if (Ycoorinate.getParent() != null)
Ycoorinate.getParent().removeView(Ycoorinate);
if (Zcoorinate.getParent() != null)
Zcoorinate.getParent().removeView(Zcoorinate);
layout.addView(Xcoorinate);
layout.addView(Ycoorinate);
layout.addView(Zcoorinate);
hudWindow.setFocusable(false);
hudWindow.setTouchable(false);
hudWindow.setContentView(layout);
hudWindow.setWidth(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
hudWindow.setHeight(android.widget.RelativeLayout.LayoutParams.WRAP_CONTENT);
hudWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.TRANSPARENT));
hudWindow.showAtLocation(activity.getWindow().getDecorView(), android.view.Gravity.LEFT | android.view.Gravity.TOP, 0, 0);
}
catch (err) {
clientMessage(err);
}
}
}));
}
function HideHUDGUI() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
if (hudWindow != null) {
hudWindow.dismiss();
hudWindow = null;
}
}
}));
}
function ShowW() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
exitWindow = new android.widget.PopupWindow();
var exitLayout = new android.widget.LinearLayout(activity);
exitLayout.setOrientation(android.widget.LinearLayout.VERTICAL);
var exitButton = new android.widget.Button(activity);
exitButton.setText("W");
exitButton.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.DKGRAY));
exitButton.setOnClickListener(new android.view.View.OnClickListener({
onClick: function (viewarg) {
ShowWaypointsGUI();
}
}));
exitLayout.addView(exitButton);
exitWindow.setContentView(exitLayout);
exitWindow.setWidth(Math.ceil(36 * activity.getResources().getDisplayMetrics().density));
exitWindow.setHeight(Math.ceil(34 * activity.getResources().getDisplayMetrics().density));
exitWindow.setBackgroundDrawable(new android.graphics.drawable.ColorDrawable(android.graphics.Color.GRAY));
exitWindow.showAtLocation(activity.getWindow().getDecorView(), android.view.Gravity.TOP | android.view.Gravity.LEFT, 4, display.heightPixels / 7);
}
catch (err) {
clientMessage(err);
}
}
}));
}
function HideW() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
if (exitWindow != null) {
exitWindow.dismiss();
exitWindow = null;
}
}
}));
}
function leaveGame() {
ready = false;
// HideMiniMap();
HideW();
lastDeath = {x: null, y: null, z: null};
waypoints = {};
HideHUDGUI();
HideGPSGUI();
X = null;
Y = null;
Z = null;
HideInGame();
set = false;
}
//DON'T COPY THIS STUFF WITHOUT MY PERMISSION!!
function ShowInGame() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
mGLSurfaceView = new android.opengl.GLSurfaceView(activity);
mGLSurfaceView.setZOrderOnTop(true);
mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mGLSurfaceView.getHolder().setFormat(android.graphics.PixelFormat.TRANSLUCENT);
mGLSurfaceView.setRenderer(new android.opengl.GLSurfaceView.Renderer({
onSurfaceCreated: function (gl, config) {
gl.glEnable(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D);
gl.glShadeModel(javax.microedition.khronos.opengles.GL10.GL_SMOOTH);
gl.glClearColor(0, 0, 0, 0);
gl.glClearDepthf(1);
gl.glEnable(javax.microedition.khronos.opengles.GL10.GL_DEPTH_TEST);
gl.glDepthFunc(javax.microedition.khronos.opengles.GL10.GL_LEQUAL);
gl.glHint(javax.microedition.khronos.opengles.GL10.GL_PERSPECTIVE_CORRECTION_HINT, javax.microedition.khronos.opengles.GL10.GL_NICEST);
},
onDrawFrame: function (gl) {
gl.glClear(javax.microedition.khronos.opengles.GL10.GL_COLOR_BUFFER_BIT | javax.microedition.khronos.opengles.GL10.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
var yaw = Entity.getYaw(Player.getEntity()) % 360;
var pitch = Entity.getPitch(Player.getEntity()) % 360;
var eyeX = Player.getX();
var eyeY = Player.getY() + 1;
var eyeZ = Player.getZ();
var dCenterX = Math.sin(yaw / 180 * Math.PI);
var dCenterZ = Math.cos(yaw / 180 * Math.PI);
var dCenterY = Math.sqrt(dCenterX * dCenterX + dCenterZ * dCenterZ) * Math.tan((pitch - 180) / 180 * Math.PI);
var centerX = eyeX - dCenterX;
var centerZ = eyeZ + dCenterZ;
var centerY = eyeY - dCenterY;
android.opengl.GLU.gluLookAt(gl, eyeX, eyeY, eyeZ, centerX, centerY, centerZ, 0, 1, 0);
if (X && Y && Z) {
loadTxd(gl, currentWaypoint + " [" + Math.round(Math.sqrt((Player.getX() - X) * (Player.getX() - X) + (Player.getY() - Y) * (Player.getY() - Y) + (Player.getZ() - Z) * (Player.getZ() - Z)) * 100) / 100 + "m]");
gl.glTranslatef(X, Y, Z);
gl.glRotatef(180 - yaw, 0, 1, 0);
if (Math.round(Math.sqrt((Player.getX() - X) * (Player.getX() - X) + (Player.getY() - Y) * (Player.getY() - Y) + (Player.getZ() - Z) * (Player.getZ() - Z))) <= 10)
DrawText(gl, 3);
else
DrawText(gl, 2 + (Math.sqrt((Player.getX() - X) * (Player.getX() - X) + (Player.getY() - Y) * (Player.getY() - Y) + (Player.getZ() - Z) * (Player.getZ() - Z))) / 10);
gl.glTranslatef(-X, -Y, -Z);
}
},
onSurfaceChanged: function (gl, width, height) {
gl.glMatrixMode(javax.microedition.khronos.opengles.GL10.GL_PROJECTION);
gl.glLoadIdentity();
android.opengl.GLU.gluPerspective(gl, 70, width / height, 0.1, 100);
gl.glMatrixMode(javax.microedition.khronos.opengles.GL10.GL_MODELVIEW);
gl.glLoadIdentity();
},
}));
activity.getWindow().getDecorView().addView(mGLSurfaceView);
}
catch (err) {
print(err);
}
}
}));
}
function HideInGame() {
activity.runOnUiThread(new java.lang.Runnable({
run: function () {
try {
if (mGLSurfaceView)
activity.getWindow().getDecorView().removeView(mGLSurfaceView);
}
catch (err) {
print(err);
}
}
}));
}
var textures = [0];
function loadTxd(gl, text) {
try {
var bitmap = android.graphics.Bitmap.createBitmap(512, 512, android.graphics.Bitmap.Config.ARGB_4444);
var canvas = new android.graphics.Canvas(bitmap);
bitmap.eraseColor(0);
var textPaint = new android.graphics.Paint();
textPaint.setTextSize(32);
textPaint.setAntiAlias(true);
textPaint.setColor(android.graphics.Color.WHITE);
canvas.drawText(text, (512 - text.length) / 2, 112, textPaint);
gl.glGenTextures(1, textures, 0);
gl.glBindTexture(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D, textures[0]);
gl.glTexParameterf(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D, javax.microedition.khronos.opengles.GL10.GL_TEXTURE_MIN_FILTER, javax.microedition.khronos.opengles.GL10.GL_NEAREST);
gl.glTexParameterf(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D, javax.microedition.khronos.opengles.GL10.GL_TEXTURE_MAG_FILTER, javax.microedition.khronos.opengles.GL10.GL_LINEAR);
android.opengl.GLUtils.texImage2D(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();
}
catch (err) {
print(err);
}
}
function DrawText(gl, size) {
try {
var texture = [0, 1, 0, 0, 1, 1, 1, 0];
var mVertices = [
-size, -size, 0,
-size, size, 0,
size, -size, 0,
size, size, 0
];
var vbb = java.nio.ByteBuffer.allocateDirect(mVertices.length * 4);
vbb.order(java.nio.ByteOrder.nativeOrder());
var mVertexBuffer = vbb.asFloatBuffer();
mVertexBuffer.put(mVertices);
mVertexBuffer.position(0);
vbb = java.nio.ByteBuffer.allocateDirect(texture.length * 4);
vbb.order(java.nio.ByteOrder.nativeOrder());
var mTextureBuffer = vbb.asFloatBuffer();
mTextureBuffer.put(texture);
mTextureBuffer.position(0);
gl.glBindTexture(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_2D, textures[0]);
gl.glEnableClientState(javax.microedition.khronos.opengles.GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_COORD_ARRAY);
gl.glFrontFace(javax.microedition.khronos.opengles.GL10.GL_CW);
gl.glVertexPointer(3, javax.microedition.khronos.opengles.GL10.GL_FLOAT, 0, mVertexBuffer);
gl.glTexCoordPointer(2, javax.microedition.khronos.opengles.GL10.GL_FLOAT, 0, mTextureBuffer);
gl.glDrawArrays(javax.microedition.khronos.opengles.GL10.GL_TRIANGLE_STRIP, 0, mVertices.length / 3);
gl.glDisableClientState(javax.microedition.khronos.opengles.GL10.GL_VERTEX_ARRAY);
gl.glDisableClientState(javax.microedition.khronos.opengles.GL10.GL_TEXTURE_COORD_ARRAY);
}
catch (err) {
print(err);
}
}
0 comments
Log in or join for Free to comment