Escolar Documentos
Profissional Documentos
Cultura Documentos
(C): MISTER_CHAN
usefulCommands Toolbox .
You must not use com.duowan.groundhog.mctools or other pupilar apps.*/
function addPlayer(player) {
for (var p in list) if (list[p] == player) return;
list.push(player);
preventDefault();
}
function antiduowan() {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("useful Commands");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("V" + VERSION);
layout.addView(text);
if (isInGame) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Player.player();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
game();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText((inv.dontGetItame ? "[] " : "") +
ModPE.getI18n("container.inventory"));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
inv.inv();
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
inv.dontGetItame = !inv.dontGetItame;
wndMnu.dismiss();
antiduowan();
return true;
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Player.players();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Ench.ench(Player.getSelectedSlotId(), 0);
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.effect(getPlayerEnt());
}}));
layout.addView(button);
if (pe) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
quickBuilding.build();
}}));
layout.addView(button);
}
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.ent();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
ports.pm();
}}));
layout.addView(button);
}
if (TMI) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
ModPE.screenshot();
}}));
layout.addView(button);
}
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
calc.calc();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
webView("http://www.baidu.com/");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("JS ");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
popupWindow();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("\u5173\u4e8e");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
credits();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
wndMnu = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndMnu.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndMnu.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.LEFT | android.view.Gravity.TOP, 0, 0);
}
function argbToRgb(color) {
return (color - Int.MIN_VALUE) % 0x1000000;
}
bi.add = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText(ModPE.getI18n("entity.Item.name") + " ID");
text.setTextSize(text.getTextSize());
layout.addView(text);
var lytId = new android.widget.LinearLayout(CTX);
layout.addView(lytId);
var edtId = new android.widget.EditText(CTX);
edtId.setText("46");
edtId.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytId.addView(edtId);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytId.addView(text);
var edtDamage = new android.widget.EditText(CTX);
edtDamage.setHint("");
edtDamage.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytId.addView(edtDamage);
var text = new android.widget.TextView(CTX);
text.setText(ModPE.getI18n("entity.Item.name") + " ID ");
layout.addView(text);
var edtKeyword = new android.widget.EditText(CTX);
edtKeyword.setHint("");
edtKeyword.setLayoutParams(TEXT_PARAMS);
layout.addView(edtKeyword);
var btnSearch = new android.widget.Button(CTX);
btnSearch.setText("");
btnSearch.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const RESULTS = Item.searchItem(edtKeyword.getText());
txtResult.setText(" " + RESULTS.length + " ");
lytSearch.removeView(lytResults[lytResults.length - 1]);
lytResults.push();
lytResults[lytResults.length - 1] = new
android.widget.LinearLayout(CTX);
lytResults[lytResults.length -
1].setOrientation(lytResults[lytResults.length - 1].VERTICAL);
lytSearch.addView(lytResults[lytResults.length - 1]);
for (var r in RESULTS) {
var button = new android.widget.Button(CTX);
button.setText(RESULTS[r] + "\n" +
Item.getName(RESULTS[r].split(":")[0],
RESULTS[r].split(":")[1]));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
edtId.setText(view.getText().split("\n")[0].split(":")[0]);
if (view.getText().split("\n")[0].split(":")[1] != 0)
edtDamage.setText(view.getText().split("\n")[0].split(":")[1]);
}}));
lytResults[lytResults.length - 1].addView(button);
}
}}));
layout.addView(btnSearch);
var lytSearch = new android.widget.LinearLayout(CTX);
lytSearch.setOrientation(lytSearch.VERTICAL);
layout.addView(lytSearch);
var lytResults = [];
lytResults[0] = new android.widget.LinearLayout(CTX);
lytSearch.addView(lytResults[lytResults.length - 1]);
var txtResult = new android.widget.TextView(CTX);
lytSearch.addView(txtResult);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const ID = edtId.getText() + ":" + edtDamage.getText();
if (("," + bi.items.join() + ",").indexOf("," + ID + ",") == -1)
bi.items.push(ID);
wndAddBi.dismiss();
wndBi.dismiss();
bi.bi();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndAddBi = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndAddBi.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndAddBi.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH * 2, 0);
}
bi.bi = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var scroll = new android.widget.ScrollView(CTX);
layout.addView(scroll);
var lytItems = new android.widget.LinearLayout(CTX);
lytItems.setOrientation(lytItems.VERTICAL);
scroll.addView(lytItems);
var button = new android.widget.Button(CTX);
button.setText("+\n");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
bi.add();
}}));
lytItems.addView(button);
for (var i in bi.items) {
var button = new android.widget.Button(CTX);
button.setText(bi.items[i] + "\n" + Item.getName(bi.items[i].split(":")
[0], bi.items[i].split(":")[1]));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
for (var i in bi.items) if (bi.items[i] ==
(view.getText()).split("\n")[0]) bi.items.splice(i, 1);
wndBi.dismiss();
bi.bi();
return true;
}}));
lytItems.addView(button);
}
wndBi = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndBi.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndBi.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
calc.calc = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var edtExp = new android.widget.EditText(CTX);
edtExp.setText(calc.prev);
layout.addView(edtExp);
button = new android.widget.Button(CTX);
button.setText("Return");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
try {
txtReturn.setText(String(eval(String(edtExp.getText()))));
}
catch (err) {
txtReturn.setText("Error: " + err);
}
calc.prev = edtExp.getText();
}}));
layout.addView(button);
var txtReturn = new android.widget.TextView(CTX);
txtReturn.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
CTX.getSystemService(CTX.CLIPBOARD_SERVICE).setText(txtReturn.getText());
print("\n ");
return true;
}}));
layout.addView(txtReturn);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH * 3, Wnd.HEIGHT
* 4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
chat.load = function () {
var layout = new android.widget.LinearLayout(CTX);
var button = new android.widget.Button(CTX);
button.setText(" android ");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var edtChat = new android.widget.EditText(CTX);
edtChat.setText(chat.prev);
layout.addView(edtChat);
var button = new android.widget.Button(CTX);
button.setText("");
button.setLayoutParams(TEXT_PARAMS);
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Server.sendChat(edtChat.getText());
chat.prev = edtChat.getText();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH * 3,
Wnd.HEIGHT * 3, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.CENTER | android.view.Gravity.CENTER, 0, 0);
}}));
layout.addView(button);
chat.window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 3,
Wnd.HEIGHT / 2);
chat.window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
}
function credits() {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("\x42\x79\x20\x4d\x49\x53\x54\x45\x52\x5f\x43\x48\x41\x4e\n" +
"\u767e\u5ea6\x20\x49\x44\x3a\x20\x4c\x31\x38\x39\x32\x39\x35\x36\x37\x
36\x35\x34\n" +
eval("\x55\x50\x44\x41\x54\x45\x53"));
layout.addView(text);
var button = new android.widget.Button(CTX);
button.setText("\u5e38\u7528\u529f\u80fd");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
eval("\x73\x68\x6f\x77\x55\x73\x65\x66\x75\x6c\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x28\
x29\x3b");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("\u68c0\u67e5\u66f4\u65b0");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
webView("ht tp://p an.b aid u.c om/s/1nvhJ9Uh".replace(/[
]/g, ""));
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("\u53cd\u9988\u4e0e\u5efa\u8bae");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
webView("ht tp://ti eba.b aid u.c om/p/4755088955?
share=9105&fr=share&see_lz=0".replace(/[]/g, ""));
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH * 3, Wnd.HEIGHT
* 4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
ctrller.load = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setOnTouchListener(new android.view.View.OnTouchListener({onTouch:
function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
ctrller.velY = 16;
break;
case event.ACTION_UP:
ctrller.velY = 0;
break;
}
return false;
}}));
button.setText("");
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setOnTouchListener(new android.view.View.OnTouchListener({onTouch:
function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
ctrller.velY = -16;
break;
case event.ACTION_UP:
ctrller.velY = 0;
break;
}
return false;
}}));
button.setText("");
layout.addView(button);
ctrller.window = new android.widget.PopupWindow(layout, Wnd.WIDTH / 2,
Wnd.HEIGHT);
ctrller.window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
}
function dipToPx(dips) {
return Math.ceil(dips * CTX.getResources().getDisplayMetrics().density);
}
edtEnches[e].setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
lytEnch.addView(edtEnches[e]);
}
var sclEnches = new android.widget.ScrollView(CTX);
sclEnches.addView(lytEnches);
layout.addView(sclEnches);
} else {
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
}
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 2, Wnd.HEIGHT
* 4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
Entity.be.ban = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
for (var e in chkEnts) try {
chkEnts[e].setChecked(!chkEnts[e].isChecked());
}
catch (err) {
}
}}));
layout.addView(button);
var lytEnts = new android.widget.LinearLayout(CTX);
lytEnts.setOrientation(lytEnts.VERTICAL);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(lytEnts);
layout.addView(scroll);
var chkEnts = [];
for (e = 10; e <= 100; e++) if (Entity.getName(e) != "") {
chkEnts[e] = new android.widget.CheckBox(CTX);
chkEnts[e].setText(e + " " + Entity.getName(e));
chkEnts[e].setChecked(("," + Entity.be.types.join() + ",").indexOf(","
+ e + ",") > -1);
chkEnts[e].setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) Entity.be.types.push(view.getText().split(" ")[0]);
else for (var ent in Entity.be.types) if (Entity.be.types[ent] ==
view.getText().split(" ")[0]) Entity.be.types.splice(ent, 1);
}}));
lytEnts.addView(chkEnts[e]);
}
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Entity.effect = function (entity) {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var hslCtrl = new android.widget.HorizontalScrollView(CTX);
layout.addView(hslCtrl);
var lytCtrl = new android.widget.LinearLayout(CTX);
hslCtrl.addView(lytCtrl);
var chkLocked = {isChecked: function () {
return false;
}};
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (pe) if (chkEfv.isChecked()) Entity.efv = {e: entity, effects: []};
var showParticle = true;
if (pe || lan) showParticle = chkParticle.isChecked();
if (chkLocked.isChecked()) Entity.lockEffects = {effects: [],
showParticle: showParticle};
for (var e in chkEffects) try {
if (chkEffects[e].isChecked()) {
if (pe || lan) if (chkEfv.isChecked())
Entity.efv.effects.push({lvl: edtLvl[e].getText() - 1, t: edtSeconds[e].getText() *
20, type: e});
if (chkLocked.isChecked())
Entity.lockEffects.effects.push({lvl: edtLvl[e].getText() - 1, type: e}); else
Entity.addEffect(entity, e, (edtMin[e].getText() * 60 + edtSec[e].getText() * 1) *
20, edtLvl[e].getText() - 1, TMI * showParticle, (1 - TMI) * showParticle);
}
}
catch (err) {
}
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
try {
for (var e in chkEffects) if (chkEffects[e].isChecked())
Entity.removeEffect(entity, e);
for (e in Entity.lockEffects.effects) if
(chkEffects[Entity.lockEffects.effects[e].type].isChecked())
Entity.lockEffects.effects.splice(e, 1);
}
catch (err) {
}
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (pe) Entity.removeAllEffects(entity); else for (var e in chkEffects)
Entity.removeEffect(entity, e);
Entity.lockEffects.effects = [];
}}));
lytCtrl.addView(button);
var hslChks = new android.widget.HorizontalScrollView(CTX);
layout.addView(hslChks);
var lytChks = new android.widget.LinearLayout(CTX);
hslChks.addView(lytChks);
if (pe) {
var chkEfv = new android.widget.CheckBox(CTX);
chkEfv.setText("");
lytChks.addView(chkEfv);
}
if (pe || lan) {
var chkParticle = new android.widget.CheckBox(CTX);
chkParticle.setText("");
chkParticle.setChecked(true);
lytChks.addView(chkParticle);
}
if (entity == getPlayerEnt()) {
chkLocked = new android.widget.CheckBox(CTX);
chkLocked.setText("");
lytChks.addView(chkLocked);
}
var text = new android.widget.TextView(CTX);
text.setText(" 0:0 ~ " + Math.floor(Int.MAX_VALUE / 20 / 60) + ":"
+ Math.ceil(Int.MAX_VALUE / 20 % 60 * 100) / 100 + "\n" +
" " + (Int.MIN_VALUE + 1) + " ~ " + (Int.MAX_VALUE + 1) + "
");
layout.addView(text);
var lytEffects = new android.widget.LinearLayout(CTX);
lytEffects.setOrientation(lytEffects.VERTICAL);
const IS_BUFF = [, -11184641, -43691, -11184641, -43691, -11184641,
-11184641, -43691, -11184641, -43691, -11184641, -11184641, -11184641, -11184641,
-11184641, -43691, -11184641, -43691, -43691, -43691, -43691, -11184641, -11184641,
-11184641, -43691];
var chkEffects = [], edtLvl = [], edtMin = [], edtSec = [];
for (e = 1; e <= 24; e++) {
var canHave = /^(3|4|8|9|15|16|24)$/.test(e), lytEffect = new
android.widget.LinearLayout(CTX);
if (pe || canHave) {
chkEffects[e] = new android.widget.CheckBox(CTX);
chkEffects[e].setText(e + " " + Entity.getEffectName(e));
chkEffects[e].setTextColor(IS_BUFF[e]);
lytEffect.addView(chkEffects[e]);
edtLvl[e] = new android.widget.EditText(CTX);
edtLvl[e].setText("128");
edtLvl[e].setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
lytEffect.addView(edtLvl[e]);
var text = new android.widget.TextView(CTX);
text.setText("");
lytEffect.addView(text);
edtMin[e] = new android.widget.EditText(CTX);
edtMin[e].setText("1789569");
edtMin[e].setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
lytEffect.addView(edtMin[e]);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytEffect.addView(text);
edtSec[e] = new android.widget.EditText(CTX);
edtSec[e].setText("42.35");
edtSec[e].setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
lytEffect.addView(edtSec[e]);
lytEffects.addView(lytEffect);
}
}
var sclEffects = new android.widget.ScrollView(CTX);
sclEffects.addView(lytEffects);
layout.addView(sclEffects);
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 2, Wnd.HEIGHT
* 4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
Entity.ent = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
if (pe || lan) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.spawn(getPlayerX(), getPlayerY(), getPlayerZ(), 1);
}}));
layout.addView(button);
}
if (pe) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.rmvMnu();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.be.ban();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.sweeepTheFloor();
}}));
layout.addView(button);
}
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.sel.showEnts();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
wndEnt = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndEnt.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndEnt.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
Entity.rmvMnu = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const E = Entity.getAll();
for (var e in E) try {
if (chkEnts[Entity.getEntityTypeId(E[e])].isChecked() && E[e] !=
getPlayerEnt()) Entity.remove(E[e]);
}
catch (err) {
}
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
for (var e in chkEnts) try {
chkEnts[e].setChecked(!chkEnts[e].isChecked());
}
catch (err) {
}
}}));
layout.addView(button);
var lytEnts = new android.widget.LinearLayout(CTX);
lytEnts.setOrientation(lytEnts.VERTICAL);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(lytEnts);
layout.addView(scroll);
var chkEnts = [];
for (e = 10; e <= 100; e++) if (Entity.getName(e) != "") {
chkEnts[e] = new android.widget.CheckBox(CTX);
chkEnts[e].setText(e + " " + Entity.getName(e));
lytEnts.addView(chkEnts[e]);
}
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Entity.ride = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(Entity.canRide);
checkbox.setText((pe ? "" : "") + "");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Entity.canRide = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
if (pe) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.rider = getPlayerEnt();
print("\n rider = " + getPlayerEnt());
}}));
layout.addView(button);
}
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (pe) {
if (/^(-1|0)$/.test(Entity.rider)) print("\n "); else {
rideAnimal(Entity.rider, getPlayerEnt());
Entity.rider = -1;
print("\n riding = " + getPlayerEnt());
}
} else rideAnimal(getPlayerEnt(), getPlayerEnt());
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Entity.sel.add = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var edtEnt = new android.widget.EditText(CTX);
edtEnt.setText("0");
edtEnt.setLayoutParams(TEXT_PARAMS);
layout.addView(edtEnt);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (("," + Entity.sel.ents.join() + ",").indexOf("," + edtEnt.getText()
+ ",") == -1) Entity.sel.ents.push(Number(edtEnt.getText()));
wndAddEnt.dismiss();
wndEnts.dismiss();
Entity.sel.showEnts();
}}));
layout.addView(button);
wndAddEnt = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndAddEnt.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndAddEnt.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH * 2, 0);
}
Entity.sel.controlPlayer = function () {
Entity.setImmobile(entroller.ent, false);
entroller.ent = -1;
if (!isNaN(entroller.pos.x) && !isNaN(entroller.pos.y) && !
isNaN(entroller.pos.z)) {
setPosition(getPlayerEnt(), entroller.pos.x, entroller.pos.y,
entroller.pos.z);
entroller.pos = new Point();
}
ModPE.scor(getPlayerEnt());
}
Entity.sel.showEnts = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(Entity.canSel);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Entity.canSel = checked;
}}));
layout.addView(checkbox);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (("," + Entity.sel.ents.join() + ",").indexOf("," + getPlayerEnt() +
",") == -1) Entity.sel.ents.push(getPlayerEnt());
wndEnts.dismiss();
Entity.sel.showEnts();
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytEnts = new android.widget.LinearLayout(CTX);
lytEnts.setOrientation(lytEnts.VERTICAL);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(lytEnts);
layout.addView(scroll);
var button = new android.widget.Button(CTX);
button.setText("+\n");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.sel.add();
}}));
lytEnts.addView(button);
for (var e in Entity.sel.ents) {
var button = new android.widget.Button(CTX);
button.setText(e + "\n" + (Entity.getEntityTypeId(Entity.sel.ents[e])
== -1 ? "" : Entity.getNameTag(Entity.sel.ents[e]) == "" ?
Entity.getName(Entity.getEntityTypeId(Entity.sel.ents[e])) :
Entity.getNameTag(Entity.sel.ents[e])));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
if (Entity.getEntityTypeId(Entity.sel.ents[e]) > -1)
Entity.sel.ent(Entity.sel.ents[(view.getText()).split("\n")[0]]);
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
Entity.sel.ents.splice((view.getText()).split("\n")[0], 1);
wndEnts.dismiss();
Entity.sel.showEnts();
return true;
}}));
lytEnts.addView(button);
}
wndEnts = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndEnts.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndEnts.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Entity.sweeepTheFloor = function () {
const E = Entity.getAll();
for (var r in E) if (/^(64|69|80)$/.test(Entity.getEntityTypeId(E[r])))
Entity.remove(E[r]);
}
function entityAddedHook(entity) {
if (("," + Entity.be.types.join() + ",").indexOf("," +
Entity.getEntityTypeId(entity) + ",") > -1) if (TMI) Entity.be.ents.push(entity);
else Entity.remove(entity);
}
function game() {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var rdoSurvival = new android.widget.RadioButton(CTX);
rdoSurvival.setChecked(Level.getGameMode() == 0);
rdoSurvival.setText(ModPE.getI18n("gameMode.survival"));
rdoSurvival.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
rdoCreative.setChecked(false);
Level.setGameMode(0);
}
}}));
layout.addView(rdoSurvival);
var rdoCreative = new android.widget.RadioButton(CTX);
rdoCreative.setChecked(Level.getGameMode() == 1);
rdoCreative.setText(ModPE.getI18n("gameMode.creative"));
rdoCreative.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
rdoSurvival.setChecked(false);
Level.setGameMode(1);
}
}}));
layout.addView(rdoCreative);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(sp);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
sp = checked;
}}));
layout.addView(checkbox);
if (pe) {
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0t ~ " + Int.MAX_VALUE + "t");
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText("");
checkbox.setChecked(lockTime >= 0);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
lockTime = (checked) ? edtTime.getText() : -1;
}}));
layout.addView(checkbox);
var lytTime = new android.widget.LinearLayout(CTX);
layout.addView(lytTime);
var edtTime = new android.widget.EditText(CTX);
edtTime.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtTime.setText(String(Level.getTime()));
lytTime.addView(edtTime);
var text = new android.widget.TextView(CTX);
text.setText("t");
lytTime.addView(text);
var sekTime = new android.widget.SeekBar(CTX);
sekTime.setMax(23999);
Level.setTime(Level.getTime() % 24000);
sekTime.setProgress(Level.getTime());
sekTime.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const TIME = view.getProgress();
if (edtTime.getText() != TIME) edtTime.setText(String(TIME));
Level.setTime(TIME);
}}));
layout.addView(sekTime);
edtTime.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekTime.setProgress(Number(edtTime.getText()) % 24000);
}}));
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
sekTime.setProgress(6000);
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
sekTime.setProgress(18000);
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
setNightMode(true);
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
setNightMode(false);
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
text.setTextSize(text.getTextSize());
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ 1 ");
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(lockWeather.rain >= 0);
if (TMI) checkbox.setEnabled(false);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
lockWeather.rain = (checked) ? edtRain.getText() : -1;
}}));
checkbox.setText("");
layout.addView(checkbox);
var lytRain = new android.widget.LinearLayout(CTX);
layout.addView(lytRain);
var edtRain = new android.widget.EditText(CTX);
if (TMI) edtRain.setEnabled(false);
edtRain.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtRain.setText(String(Level.getRainLevel()));
lytRain.addView(edtRain);
var text = new android.widget.TextView(CTX);
text.setText("");
lytRain.addView(text);
var sekRain = new android.widget.SeekBar(CTX);
if (TMI) sekRain.setEnabled(false);
sekRain.setMax(10);
sekRain.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const RAIN = view.getProgress() / 10;
if (edtRain.getText() != RAIN) edtRain.setText(String(RAIN));
Level.setRainLevel(RAIN);
}}));
sekRain.setProgress(Level.getRainLevel() * 10);
layout.addView(sekRain);
edtRain.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekRain.setProgress(Number(edtRain.getText()) * 10);
}}));
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ 1 ");
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
if (TMI) checkbox.setEnabled(false);
checkbox.setChecked(lockWeather.lightning >= 0);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
lockWeather.lightning = (checked) ? edtLightning.getText() : -1;
}}));
checkbox.setText("");
layout.addView(checkbox);
var lytLightning = new android.widget.LinearLayout(CTX);
layout.addView(lytLightning);
var edtLightning = new android.widget.EditText(CTX);
if (TMI) edtLightning.setEnabled(false);
edtLightning.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtLightning.setText(String(Level.getLightningLevel()));
lytLightning.addView(edtLightning);
var text = new android.widget.TextView(CTX);
text.setText("");
lytLightning.addView(text);
var sekLightning = new android.widget.SeekBar(CTX);
if (TMI) sekLightning.setEnabled(false);
sekLightning.setMax(10);
sekLightning.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const LIGHTNING = view.getProgress() / 10;
if (edtLightning().getText() != LIGHTNING)
edtLightning.setText(String(LIGHTNING));
Level.setLightningLevel(LIGHTNING);
}}));
sekLightning.setProgress(Level.getLightningLevel() * 10);
layout.addView(sekLightning);
edtLightning.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekLightning.setProgress(Number(edtLightning.getText()) * 10);
}}));
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(treeCapitator);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
treeCapitator = checked;
}}));
layout.addView(checkbox);
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
veinMiner.menu();
}}));
layout.addView(button);
}
var text = new android.widget.TextView(CTX);
text.setText(" (TPS)");
text.setTextSize(text.getTextSize());
layout.addView(text);
var lytSpeed = new android.widget.LinearLayout(CTX);
layout.addView(lytSpeed);
var edtSpeed = new android.widget.EditText(CTX);
edtSpeed.setText("20");
edtSpeed.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
lytSpeed.addView(edtSpeed);
var text = new android.widget.TextView(CTX);
text.setText("t/s");
lytSpeed.addView(text);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
ModPE.setGameSpeed(edtSpeed.getText());
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(bl);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
bl = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(tipHp);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
tipHp = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(tipTile);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
tipTile = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(rd);
checkbox.setText("" + ModPE.getI18n("tile.redstone_wire.name") + "
");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
rd = checked;
}}));
layout.addView(checkbox);
if (pe) {
var button = new android.widget.Button(CTX);
button.setText(" " + ModPE.getI18n("entity.Item.name"));
button.setTextSize(button.getTextSize());
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
bi.bi();
}}));
layout.addView(button);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(Item.insoluble);
checkbox.setText(ModPE.getI18n("entity.Item.name") + " " +
ModPE.getI18n("tile.flowing_lava.name"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Item.insoluble = checked;
}}));
layout.addView(checkbox);
}
var button = new android.widget.Button(CTX);
button.setText(ModPE.getI18n("entity.Mob.name") + " ");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.ride();
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText(ModPE.getI18n("item.sign.name"));
text.setTextSize(text.getTextSize());
layout.addView(text);
if (pe) {
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(signTextNa);
checkbox.setText(" " + ModPE.getI18n("item.sign.name"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
signTextNa = checked;
}}));
layout.addView(checkbox);
}
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(st.editable);
checkbox.setText(" " + ModPE.getI18n("item.sign.name") + (pe ? " " : "
"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
st.editable = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(pui);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
pui = checked;
}}));
checkbox.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view, e) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle(view.getText());
alert.setMessage(":\n" +
" " + ModPE.getI18n("entity.Item.name") + " " +
ModPE.getI18n("tile.crafting_table.name") + ", .\n\n" +
", PVP .");
alert.show();
return true;
}}));
layout.addView(checkbox);
if (pe) {
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(axpld);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
axpld = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(hbr.hbr);
checkbox.setText("Herobrine " +
ModPE.getI18n("item.blaze_rod.name"));
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
hbr.hbr = checked;
if (checked) hbr.setFb();
}}));
checkbox.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view, e) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle(view.getText());
alert.setMessage(" " +
ModPE.getI18n("item.blaze_rod.name") + ";\n" +
"1\t " +
Entity.getName(EntityType.LIGHTNING_BOLT) + ";\n" +
"2\t [] " +
ModPE.getI18n("entity.Fireball.name") + ".");
alert.show();
return true;
}}));
layout.addView(checkbox);
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
paint.paint();
}}));
layout.addView(button);
}
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndGame = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndGame.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndGame.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
hbr.setFb = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setText(ModPE.getI18n("entity.Fireball.name") + " : " + hbr.fb + "
");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
hbr.fb += (hbr.fb - 85) / 9 * ((hbr.fb - 94) / 5 * 29.25 + (hbr.fb -
89) / 5 * -14) + 9;
wndSetFb.dismiss();
hbr.setFb();
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var edtVel = new android.widget.EditText(CTX);
edtVel.setText(String(hbr.vel));
edtVel.addTextChangedListener(new android.text.TextWatcher({onTextChanged:
function (s, start, before, count) {
hbr.vel = Number(edtVel.getText());
}}));
edtVel.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtVel.setLayoutParams(TEXT_PARAMS);
layout.addView(edtVel);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndSetFb = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndSetFb.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndSetFb.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
function il(style) {
var alert = new android.app.AlertDialog.Builder(CTX), msg = "";
switch (style.toLowerCase()) {
case "chat":
msg = " + 0123456789abcdefklmnor";
clientMessage("00112233445566778899aabbccddeeffrkkrllroorr")
;
break;
case "effect":
for (var i = 1; i <= 24; i++) msg += i + "\t" +
Entity.getEffectName(i) + "\n";
break;
case "ench":
for (var i = 0; i <= 24; i++) msg += i + "\t" + Ench.getName(i) +
"\n";
break;
case "ent":
for (var i = 10; i <= 100; i++) if (Entity.getName(i) != "") msg
+= i + "\t" + Entity.getName(i) + "\n";
break;
case "item":
for (var i = 256; i <= 498; i++) try {
for (var d = 0; d < 16 && (Item.getName(i, d) !=
Item.getName(i) || d == 0); d++) {
msg += i + ":" + d + "\t" + Item.getName(i, d) +
"\n";
if (i == 325 && d == 1) {
msg += "325:8\t" + Item.getName(325, 8) +
"\n325:10\t" + Item.getName(325, 10) + "\n";
break;
} else if (/^(262|373|438)$/.test(i)) {
for (var e = 1; e < 36; e++) msg += i + ":" + e
+ "\t" + Item.getName(i, e) + "\n";
if (i == 262) msg += "262:36\t" +
Item.getName(262, 36) + "\n";
break;
}
if (/^333$/.test(i) && d == 5) break;
}
}
catch (err) {
}
break;
case "tile":
for (var i = 0; i <= 255; i++) try {
for (var d = 0; d < 16 && (Item.getName(i, d) !=
Item.getName(i) || d == 0); d++) {
msg += i + ":" + d + "\t" + Item.getName(i, d) +
"\n";
if (/^(12|19|37)$/.test(i) && d == 1 || /^(43|
44)$/.test(i) && d == 7 || /^(181|182)$/.test(i) && d == 0) break;
}
}
catch (err) {
}
break;
default:
msg = Item.translatedNameToId(style);
break;
}
alert.setMessage(msg);
alert.show();
}
inv.inv = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (Player.haveItem()) print("\n " +
ModPE.getI18n("container.inventory")); else {
addItemInventory(276, 255); var eids = Ench.bestEnches(276); for
(var e in eids) Player.enchant(9, eids[e], Short.MAX_VALUE);
addItemInventory(277, 255); eids = Ench.bestEnches(277); for (e
in eids) Player.enchant(10, eids[e], Short.MAX_VALUE);
addItemInventory(278, 255); eids = Ench.bestEnches(278); for (e
in eids) Player.enchant(11, eids[e], Short.MAX_VALUE);
addItemInventory(279, 255); eids = Ench.bestEnches(279); for (e
in eids) Player.enchant(12, eids[e], Short.MAX_VALUE);
addItemInventory(347, 255);
addItemInventory(438, 255, 22);
addItemInventory(364, 255);
addItemInventory(1, 255);
addItemInventory(261, 255); eids = Ench.bestEnches(261); for (e
in eids) Player.enchant(17, eids[e], Short.MAX_VALUE);
Player.clearInventorySlot(7);
Player.setInventorySlot(18, 86, 255);
Player.setInventorySlot(19, 262, 255, 25);
Player.setInventorySlot(20, 323, 255);
Player.setInventorySlot(21, 325, 255);
Player.setInventorySlot(22, 345, 255);
Player.setInventorySlot(23, 22, 255, 4);
Player.setInventorySlot(24, 42, 255);
Player.setInventorySlot(25, 41, 255);
Player.setInventorySlot(26, 57, 255);
Player.setInventorySlot(27, 17, 255);
Player.setInventorySlot(28, 5, 255);
Player.setInventorySlot(29, 4, 255);
Player.setInventorySlot(30, 310, 255); eids =
Ench.bestEnches(310); for (e in eids) Player.enchant(30, eids[e], Short.MAX_VALUE);
Player.setInventorySlot(31, 311, 255); eids =
Ench.bestEnches(311); for (e in eids) Player.enchant(31, eids[e], Short.MAX_VALUE);
Player.setInventorySlot(32, 312, 255); eids =
Ench.bestEnches(312); for (e in eids) Player.enchant(32, eids[e], Short.MAX_VALUE);
Player.setInventorySlot(33, 313, 255); eids =
Ench.bestEnches(313); for (e in eids) Player.enchant(33, eids[e], Short.MAX_VALUE);
Player.setArmorSlot(0, 310);
Player.setArmorSlot(1, 311);
Player.setArmorSlot(2, 312);
Player.setArmorSlot(3, 313);
wndInv.dismiss();
inv.inv();
}
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText(" " + ModPE.getI18n("entity.Item.name"));
text.setTextSize(text.getTextSize());
layout.addView(text);
var button = new android.widget.Button(CTX);
button.setText("\n+\n");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
addItem(getPlayerEnt(), 1);
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("\n " + ModPE.getI18n("container.inventory") + "\n");
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
for (var s = 0; s < 45; s++) Player.clearInventorySlot(s);
for (s = 0; s < 4; s++) Player.setArmorSlot(s);
wndInv.dismiss();
inv.inv();
return true;
}}));
layout.addView(button);
for (var s = 9; s < 45; s++) try {
var button = new android.widget.Button(CTX), itemName = "";
if (inv.dontGetItame) itemName = Player.getInventorySlot(s) + ":" +
Player.getInventorySlotData(s); else itemName = (Player.getItemCustomName(s) ==
null || Player.getItemCustomName(s) == "" ?
Item.getName(Player.getInventorySlot(s), Player.getInventorySlotData(s)) :
Player.getItemCustomName(s));
button.setText(s + "\n" +
itemName + "\n" +
Player.getInventorySlotCount(s));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
inv.invMnu(view.getText().split("\n")[0]);
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
Player.clearInventorySlot(view.getText().split("\n")[0]);
wndInv.dismiss();
inv.inv();
return true;
}}));
layout.addView(button);
}
catch (err) {
}
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
for (var s = 0; s < 4; s++) try {
if (Player.getArmorSlot(s) == 0) Player.setArmorSlot(s);
var button = new android.widget.Button(CTX), itemName = "";
if (inv.dontGetItame) itemName = Player.getArmorSlot(s) + ":" +
Player.getArmorSlotDamage(s); else itemName =
(Entity.getArmorCustomName(getPlayerEnt(), s) == null ||
Entity.getArmorCustomName(getPlayerEnt(), s) == "" ?
Item.getName(Player.getArmorSlot(s), Player.getArmorSlotDamage(s)) :
Entity.getArmorCustomName(getPlayerEnt(), s));
button.setText(s + "\n" +
itemName);
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
inv.armorMnu(view.getText().split("\n")[0]);
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
Player.setArmorSlot(view.getText().split("\n")[0]);
wndInv.dismiss();
inv.inv();
return true;
}}));
layout.addView(button);
}
catch (err) {
}
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
wndInv = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndInv.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndInv.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
function langEdit() {
var lang = [];
if (ModPE.getLanguage().indexOf("zh_") > -1) {
lang = [
"toolbox.button.ingame.spawn.exit=",
"toolbox.menu.search=...",
"toolbox.menu.cancel=",
"toolbox.menu.close=",
"toolbox.menu.save=",
"toolbox.menu.rename=",
"toolbox.menu.all=",
"toolbox.menu.add=",
"toolbox.menu.edit=",
"toolbox.menu.remove=",
"toolbox.menu.remove.all=",
"toolbox.menu.set=",
"toolbox.menu.game=",
"toolbox.menu.game.mode=",
"toolbox.menu.game.dimension=",
"toolbox.menu.game.dimension.overworld=",
"toolbox.menu.game.dimension.nether=",
"toolbox.menu.game.fly=",
"toolbox.menu.game.noclip=",
"toolbox.menu.game.health=",
"toolbox.menu.game.health.heal=",
"toolbox.menu.game.health.kill=",
"toolbox.menu.game.hunger=",
"toolbox.menu.game.hunger.restore=",
"toolbox.menu.game.spawnpos=",
"toolbox.menu.game.spawnpos.teleport=",
"toolbox.menu.game.spawnpos.updated=!",
"toolbox.menu.game.speed=",
"toolbox.menu.game.time=",
"toolbox.menu.game.time.stop=",
"toolbox.menu.game.ticking.disable=",
"toolbox.menu.game.weather=",
"toolbox.menu.game.potions=",
"toolbox.menu.game.entities=",
"toolbox.menu.game.entities.spawn=",
"toolbox.menu.game.entities.mobs=",
"toolbox.menu.game.entities.entities=",
"toolbox.menu.game.entities.fire=",
"toolbox.menu.game.entities.health=",
"toolbox.menu.game.sprint=",
"toolbox.menu.game.player.speed=",
"toolbox.menu.game.keepinventory=",
"toolbox.menu.mod=",
"toolbox.menu.mod.button=",
"toolbox.menu.mod.button.xray=",
"toolbox.menu.mod.armorstatus=",
"toolbox.menu.mod.damageindicators=",
"toolbox.menu.mod.debug=",
"toolbox.menu.mod.minimap=",
"toolbox.menu.mod.name=: Toolbox : MISTER_CHAN",
"toolbox.menu.mod.links=",
"toolbox.menu.mod.website=",
"toolbox.menu.tip.enchant=.",
"toolbox.menu.tip.destroy=.",
"toolbox.menu.drop=",
"toolbox.menu.enchant=",
"toolbox.menu.enchant.unavailable=.",
"toolbox.menu.potion.amplifier=",
"toolbox.menu.potion.amplifier.lbl=:",
"toolbox.menu.potion.duration=",
"toolbox.menu.potion.duration.lbl=:",
"toolbox.menu.teleport.add=",
"toolbox.menu.teleport.edit=",
"toolbox.menu.teleport.name=",
"toolbox.menu.teleport.name.lbl=:",
"toolbox.menu.tip.time=. 1 = 20 ",
"toolbox.menu.multiplayer.unavailable=,
.",
"toolbox.menu.multiplayer.mode.simple=",
"toolbox.menu.multiplayer.mode.simple.desc=
, : .",
"toolbox.menu.multiplayer.mode.commands=",
"toolbox.menu.multiplayer.mode.commands.desc=,
: PocketMine.",
"toolbox.menu.mod.button.treecapitator=",
"toolbox.xray.players=",
"toolbox.menu.mod.button.drag=",
"toolbox.menu.drag.help=, ",
"toolbox.menu.minimap.label=",
"toolbox.menu.minimap.size.lbl=:",
"toolbox.menu.minimap.size=",
"toolbox.menu.minimap.scale.lbl=:",
"toolbox.menu.minimap.scale=",
"toolbox.menu.minimap.players=",
"toolbox.menu.minimap.mobs=",
"toolbox.menu.minimap.coords=",
"toolbox.menu.minimap.waypoints="
];
for (var l in lang) {
lang[l] = lang[l].split("=");
ModPE.langEdit(lang[l][0], lang[l][1]);
}
}
}
function leaveGame() {
isInGame = false,
usePlyrLst = false,
pe = false,
list = [],
lan = null,
ModPE.camera = -1,
Entity.lockEffects = {effects: [], showParticle: false};
Entity.efv = {e: -1, effects: []};
miner = false;
lockTime = -1,
lockWeather = {lightning: -1, rain: -1},
tipPos = [],
ndt = [],
nvtm = [];
Scenter.scenter = false;
ModPE.showTipMsgWithoutErr("");
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
try {
ctrller.window.dismiss();
ModPE.wndTipMsg.dismiss();
}
catch (err) {
}
}}));
}
ModPE.loadLeaveGame = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var button = new android.widget.Button(CTX);
button.setText(ModPE.getI18n("gui.cancel"));
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
ModPE.wndLeaveGame.dismiss();
print("\n ...");
ModPE.leaveGame();
}}));
layout.addView(button);
ModPE.wndLeaveGame = new android.widget.PopupWindow(layout, Wnd.WIDTH * 2,
Wnd.HEIGHT / 2);
}
ModPE.loadTipMsg = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
txtTipMsg = new android.widget.TextView(CTX);
txtTipMsg.setGravity(android.view.Gravity.CENTER);
txtTipMsg.setTextSize(txtTipMsg.getTextSize());
layout.addView(txtTipMsg);
ModPE.wndTipMsg = new android.widget.PopupWindow(layout);
ModPE.wndTipMsg.setWidth(Wnd.WIDTH * 7 / 4);
}
ModPE.screenshot = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(ModPE.lockMextToTrot);
checkbox.setText(" [] ");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ModPE.lockMextToTrot = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var edtName = new android.widget.EditText(CTX);
edtName.setHint("");
edtName.setLayoutParams(TEXT_PARAMS);
layout.addView(edtName);
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
edtName.setText(String(edtName.getText()).replace(/(\\|\/|:|\*|\?|"|<|
>|\||\s)/g, "-"));
const NAME = "-usefulCommands.js-screenshot-" + edtName.getText();
ModPE.takeScreenshot(new Date().getSeconds() + NAME);
print("\n" +
"\n" +
"[: " + new
android.os.Environment.getExternalStorageDirectory() + "] /Pictures/MCPEToolbox/
" + NAME + ".png");
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
ModPE.wndTipMsg.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.LEFT | android.view.Gravity.TOP, Wnd.WIDTH * 5 / 4, Wnd.HEIGHT
* 11 / 4);
}
catch (err) {
}
}}));
ModPE.showTime = 60;
}
} else ModPE.showTipMessage(msg);
}
catch (err) {
}
}
function modTick() {
if (!isInGame) {
isInGame = true, list[0] = getPlayerEnt();
if (TMI) langEdit();
if (ctrller.ctrller) CTX.runOnUiThread(new java.lang.Runnable({run:
function () {
ctrller.window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.BOTTOM, 0, 0);
}}));
if (ModTick.type) ModTick.forTick();
}
if (!ModTick.type) ModTick.tick();
}
ModTick.forTick = function () {
const TICK = new java.lang.Thread(new java.lang.Runnable({run: function () {
for (; ModTick.type && isInGame; ) try {
ModTick.tick();
TICK.sleep(ModTick.speed.millis, ModTick.speed.nanos);
}
catch (error) {
throw error;
}
}}))
TICK.start();
}
ModTick.tick = function () {
if (!new RegExp("^(-1|0|" + getPlayerEnt() + ")$").test(ModPE.camera)) if
(Entity.getHealth(ModPE.camera) <= 0) Entity.sel.controlPlayer();
if (ModPE.stim) {
if (ModPE.showTime > 0) ModPE.showTime--;
if (ModPE.showTime <= 0) CTX.runOnUiThread(new java.lang.Runnable({run:
function () {
try {
ModPE.wndTipMsg.dismiss();
}
catch (err) {
}
}}));
}
if (ctrller.ctrller) Entity.addEffect(getPlayerEnt(), 24, 2, ctrller.velY -
1);
if (esc) if (/^(1|2|3|4|5|7|12|13|14|15|16|17|19|21|22|23|24|25|35|41|42|43|
45|47|48|49|56|57|58|60|61|62|73|74|80|82|84|86|87|88|91|97|98|99|100|103|110|112|
121|123|124|125|129|133|137|152|153|155|157|158|159|162|165|168|170|172|173|174|
179|181|182|198|201|202|204|206|208|210|211|213|214|215|216|218|235|236|237|238|
239|240|241|242|243|244|245|246|247|248|249|250|251|252|253|254|
255)$/.test(getTile(Math.floor(getPlayerX()), Math.floor(getPlayerY()),
Math.floor(getPlayerZ()))))
setPositionRelative(getPlayerEnt(), 0, 1, 0);
if (ki.ki) if (pe && died) ki.keep("r"); else
ki.keep(Entity.getHealth(getPlayerEnt()) > 0 || Player.haveItem() ? "w" : "r");
died = false;
if (cantSeeVoid.cantSeeVoid) if (!Player.isFlying() && !ctrller.ctrller) {
var x = getPlayerX(), y = getPlayerY(), z = getPlayerZ();
if (Level.canSeeVoid(x, y, z)) {
if (Math.distance(x, 0, z, cantSeeVoid.x, 0, cantSeeVoid.z) < 1)
setPosition(getPlayerEnt(), cantSeeVoid.x, y, cantSeeVoid.z);
} else cantSeeVoid.x = x, cantSeeVoid.z = z;
}
if (ladder) {
var x = Math.floor(getPlayerX()), y = Math.floor(getPlayerY()), z =
Math.floor(getPlayerZ());
if (getTile(x, y - 1, z) == 65 && getTile(x, y - 2, z) == 65) {
switch (Level.getData(x, y, z)) {
case BlockFace.EAST: case BlockFace.WEST:
setVelZ(getPlayerEnt(), 0); break;
case BlockFace.NORTH: case BlockFace.SOUTH:
setVelX(getPlayerEnt(), 0); break;
}
sprint.x = getPlayerX(), sprint.z = getPlayerZ();
} else if (getTile(x, y - 1, z) == 106 && getTile(x, y - 2, z) == 106)
{
switch (Level.getData(x, y, z)) {
case 1: case 4: setVelX(getPlayerEnt(), 0); break;
case 2: case 8: setVelZ(getPlayerEnt(), 0); break;
}
sprint.x = getPlayerX(), sprint.z = getPlayerZ();
}
}
if (web.web) web: {
var x = Math.floor(getPlayerX()), y = Math.floor(getPlayerY()), z =
Math.floor(getPlayerZ());
if (pe) {
if (!Player.isFlying()) {
for (var wx = x - 1; wx <= x + 1; wx++) for (var wy = y -
2; wy <= y + 1; wy++) for (var wz = z - 1; wz <= z + 1; wz++) if (getTile(wx, wy,
wz) == 30) {
Player.setFlying(true);
setVelY(getPlayerEnt(), -Player.ACCELERATION);
break web;
}
Player.setFlying(false);
}
} else {
for (var wx = x - 1; wx <= x + 1; wx++) for (var wy = y - 2; wy
<= y + 1; wy++) for (var wz = z - 1; wz <= z + 1; wz++) if (getTile(wx, wy, wz) ==
30) setTile(wx, wy, wz);
web.th = false;
}
}
if (sprint.vel != 0 || sprint.velY != 0) {
if (sprint.vel != 0) if (pe) Entity.addEffect(getPlayerEnt(),
MobEffect.movementSpeed, 2, sprint.vel); else {
if (Entity.getHealth(getPlayerEnt()) <= 0) sprint.time = false;
if (!sprint.time) sprint.x = getPlayerX(), sprint.z =
getPlayerZ(); else {
var x = getPlayerX(), z = getPlayerZ();
if (Math.distance(x, 0, z, sprint.x, 0, sprint.z) < 1) {
setVelX(getPlayerEnt(), (x - sprint.x) * sprint.vel);
setVelZ(getPlayerEnt(), (z - sprint.z) * sprint.vel);
}
}
sprint.time = !sprint.time;
}
if (sprint.velY != 0) Entity.addEffect(getPlayerEnt(), MobEffect.jump,
2, sprint.velY);
}
if (Player.insoluble) {
const PLAYER_VEL_Y = Entity.getVelY(getPlayerEnt());
var x = Math.floor(getPlayerX()), y = Math.floor(getPlayerY()), z =
Math.floor(getPlayerZ());
if (PLAYER_VEL_Y < 0) {
if (/^(10|11|51|81)$/.test(getTile(x, y - 2, z)))
setVelY(getPlayerEnt(), -Player.ACCELERATION);
if (PLAYER_VEL_Y < -1) {
if (/^(10|11|51|81)$/.test(getTile(x, y - 3, z)))
setVelY(getPlayerEnt(), -Player.ACCELERATION);
if (PLAYER_VEL_Y < -2) {
if (/^(10|11|51|81)$/.test(getTile(x, y - 4, z)))
setVelY(getPlayerEnt(), -Player.ACCELERATION);
if (PLAYER_VEL_Y < -3) if (/^(10|11|51|
81)$/.test(getTile(x, y - 5, z))) setVelY(getPlayerEnt(), -Player.ACCELERATION);
}
}
}
if (/^(10|11|51|81)$/.test(getTile(x, y - 1.75, z)))
setVelY(getPlayerEnt(), Player.ACCELERATION);
}
for (var e in Entity.lockEffects.effects) Entity.addEffect(getPlayerEnt(),
Entity.lockEffects.effects[e].type, 2, Entity.lockEffects.effects[e].lvl, TMI *
Entity.lockEffects.showParticle, (1 - TMI) * Entity.lockEffects.showParticle);
if (Scenter.scenter) if (!Scenter.isSearching)
Scenter.saveNearestOre(Math.floor(getPlayerX()), Math.floor(getPlayerY()),
Math.floor(getPlayerZ()));
if (miner) {
var x = getPlayerX(), y = getPlayerY(), z = getPlayerZ();
for (var mx = x - 1; mx <= x + 1; mx++) for (var my = y - 1; my <= y +
1; my++) for (var mz = z - 1; mz <= z + 1; mz++) setTile(mx, my, mz);
}
if (pe) {
if (invulnerable) {
Player.setHealth(Int.MAX_VALUE);
Player.setHunger(Int.MAX_VALUE);
}
if (featherFalling) if (Entity.getVelY(getPlayerEnt()) <
-Player.ACCELERATION) Entity.addEffect(getPlayerEnt(), MobEffect.jump, 2, 65535);
for (var p in ndt) try {
Entity.addEffect(ndt[p], MobEffect.digSlowdown, 2, 127);
}
catch (err) {
}
if (quickBuilding.fillRoad) setTile(Math.floor(getPlayerX()),
Math.floor(getPlayerY() - 2), Math.floor(getPlayerZ()), getCarriedItem(),
Player.getCarriedItemData());
if (Item.insoluble) {
const E = Entity.getAll();
var itemVelY = 0;
for (var e in E) if (Entity.getEntityTypeId(E[e]) ==
EntityType.ITEM) {
itemVelY = Entity.getVelY(E[e]);
if (itemVelY < 0) {
if (/^(10|11|51|
81)$/.test(getTile(Math.floor(Entity.getX(E[e])), Math.floor(Entity.getY(E[e]) -
1), Math.floor(Entity.getZ(E[e]))))) setVelY(E[e], -0.04);
if (itemVelY < -1) if (/^(10|11|51|
81)$/.test(getTile(Math.floor(Entity.getX(E[e])), Math.floor(Entity.getY(E[e]) -
2), Math.floor(Entity.getZ(E[e]))))) setVelY(E[e], -0.04);
}
if (/^(10|11|51|
81)$/.test(getTile(Math.floor(Entity.getX(E[e])), Math.floor(Entity.getY(E[e]) -
0.5), Math.floor(Entity.getZ(E[e]))))) setVelY(E[e], 0.16);
}
}
if (!/^(-1|0)$/.test(entroller.ent)) {
Entity.addEffect(getPlayerEnt(), MobEffect.invisibility, 2);
setRot(entroller.ent, getYaw(getPlayerEnt()),
getPitch(getPlayerEnt()));
setPosition(entroller.ent, getPlayerX(), getPlayerY() - 1.8,
getPlayerZ());
Entity.setHealth(entroller.ent,
Entity.getHealth(getPlayerEnt()));
Entity.setCarriedItem(entroller.ent, getCarriedItem(),
Player.getCarriedItemCount(), Player.getCarriedItemData());
for (var s = 0; s < 4; s++) Entity.setArmor(entroller.ent, s,
Player.getArmorSlot(), Player.getArmorSlotDamage());
Entity.setSneaking(entroller.ent,
Entity.isSneaking(getPlayerEnt()));
}
if (xpBottles.isThrowing) Level.spawnMob(xpBottles.pos.x,
xpBottles.pos.y, xpBottles.pos.z, 68);
if (lockTime > -1) Level.setTime(lockTime);
if (lockWeather.lightning >= 0)
Level.setLightningLevel(lockWeather.lightning);
if (lockWeather.rain >= 0) Level.setRainLevel(lockWeather.rain);
if (Level.destrocksByMock.threads.length > 0) {
if (Level.destrocksByMock.cd % 10 != 0) {
Level.destrocksByMock.cd--;
} else {
var index = Level.destrocksByMock.cd / 10;
if (Level.destrocksByMock.threads[index].tiles.length > 0)
{
var tile =
Level.destrocksByMock.threads[index].tiles[0];
Level.destrockBySwitching(tile.x, tile.y, tile.z,
true);
Level.destrocksByMock.threads[index].tiles.splice(0,
1);
if ("plokad" in Level.destrocksByMock.threads[index])
{
var place =
Level.destrocksByMock.threads[index].plokad;
if (getTile(place.pos.x, place.pos.y,
place.pos.z) == 0) setTile(place.pos.x, place.pos.y, place.pos.z, place.id,
place.data);
}
}
for (var t = 0; t < Level.destrocksByMock.threads.length;
t++) {
if (Level.destrocksByMock.cd > 0)
Level.destrocksByMock.cd -= 10 - TMI * 2; else if
(Level.destrocksByMock.threads.length > 0) Level.destrocksByMock.cd =
Level.destrocksByMock.threads.length * 10 - 10 + TMI * 2; else break;
if
(Level.destrocksByMock.threads[(Level.destrocksByMock.cd - 2 * TMI) /
10].tiles.length > 0) break;
Level.destrocksByMock.cd -= 2 * TMI;
}
if (t == Level.destrocksByMock.threads.length)
Level.destrocksByMock.cd = 0;
}
}
if (TMI) for (var r in Entity.be.ents)
Entity.remove(Entity.be.ents[r]);
} else {
if (ld.rec) if (Entity.getHealth(getPlayerEnt()) <= 0) ld.pos = new
Point(getPlayerX(), getPlayerY() + 1, getPlayerZ());
if (atapil) if (Player.isPlayer(Player.getPointedEntity()))
addPlayer(Player.getPointedEntity());
}
tipMessage: {
if (Scenter.scenter) if (Scenter.showTime > 0) {
ModPE.showTipMsgWithoutErr(isNaN(Scenter.distance) ? "
" : Scenter.distance.toFixed(2) + "m");
Scenter.showTime--;
break tipMessage;
}
if (tipHp) {
const PPE = Player.getPointedEntity();
if ((!/^(-1|0)$/.test(PPE) || Entity.getEntityTypeId(ppe) > 0 &&
shl > 0)) {
if (Entity.getEntityTypeId(PPE) < 64) {
if (!/^(-1|0)$/.test(PPE)) ppe = PPE, shl = 60;
const HP = Entity.getHealth(ppe), MAX_HP =
Entity.getMaxHealth(ppe), PRO_MAX = 40 - ModPE.stim * 30;
var hp = "4l", maxHp = "fl";
for (var h = 1; h <= Math.round(PRO_MAX / MAX_HP *
HP); h++) hp += ModPE.stim ? "" : "|";
for (h = 1; h <= PRO_MAX - Math.round(PRO_MAX /
MAX_HP * HP); h++) maxHp += ModPE.stim ? "" : "|";
ModPE.showTipMsgWithoutErr("entity: " + ppe + "\n" +
"id: " + Entity.getEntityTypeId(ppe) + "\n" +
"hp: " + HP + " / " + MAX_HP + " " + hp +
maxHp);
shl--;
} else ModPE.showTipMsgWithoutErr("entity: " + PPE + "\n" +
"id: " + Entity.getEntityTypeId(PPE));
break tipMessage;
}
}
if (tipTile) {
const PBI = Player.getPointedBlockId();
if (PBI > 0) {
var n = "";
try {
n = Item.getName(PBI, Player.getPointedBlockData());
}
catch (err) {
}
ModPE.showTipMsgWithoutErr(PBI + ":" + (rd && PBI == 55 ?
"b" : "") + Player.getPointedBlockData() + "r\n" +
n);
break tipMessage;
}
}
if (rd) if (Player.getPointedBlockId() == 55) {
ModPE.showTipMsgWithoutErr("power: b" +
Player.getPointedBlockData() + "r");
break tipMessage;
}
if (bl || tipPos.length > 0) {
var poses = "";
if (bl) poses = "bl: " +
Math.floor(Level.getBrightness(getPlayerX(), getPlayerY(), getPlayerZ())) + " /
15\n";
if (tipPos.length > 0) for (var p in tipPos) poses +=
Entity.getNameTag(tipPos[p]) + "r: " + Math.floor(Entity.getX(tipPos[p])) +
(tipPos[p] == getPlayerEnt() ? " " + Player.getCompass(0) : "") + ", " +
Math.floor(Entity.getY(tipPos[p])) + ", " + Math.floor(Entity.getZ(tipPos[p])) +
(tipPos[p] == getPlayerEnt() ? " " + Player.getCompass(1) : "") + "\n";
ModPE.showTipMsgWithoutErr(poses);
break tipMessage;
}
}
}
function newLevel() {
pe = true, usePlyrLst = true;
}
paint.paint = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText("");
checkbox.setChecked(paint.grass);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
paint.grass = checked;
}}));
layout.addView(checkbox);
var carriedColor = Player.getItemCustomName(Player.getSelectedSlotId());
if (getCarriedItem() == 0) {
var text = new android.widget.TextView(CTX);
text.setText(" " + ModPE.getI18n("entity.Item.name"));
text.setTextSize(text.getTextSize());
layout.addView(text);
} else {
if (isNaN(carriedColor) || carriedColor == "" || carriedColor == null)
carriedColor = "000000";
else carriedColor = argbToRgb(Number(carriedColor)).toString(16);
carriedColor = new Array(7 - carriedColor.length).join(0) +
carriedColor;
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var rdoPencil = new android.widget.RadioButton(CTX);
rdoPencil.setChecked(Player.getItemCustomName(Player.getSelectedSlotId()) !=
"picker");
rdoPencil.setText("");
rdoPencil.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
Player.setItemCustomName(Player.getSelectedSlotId(),
Number(edtColor.getText()));
rdoPicker.setChecked(false);
}
}}));
layout.addView(rdoPencil);
var rdoPicker = new android.widget.RadioButton(CTX);
rdoPicker.setChecked(Player.getItemCustomName(Player.getSelectedSlotId()) ==
"picker");
rdoPicker.setText("");
rdoPicker.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
Player.setItemCustomName(Player.getSelectedSlotId(),
"picker");
rdoPencil.setChecked(false);
}
}}));
layout.addView(rdoPicker);
var text = new android.widget.TextView(CTX);
text.setText(" [?]");
text.setTextSize(text.getTextSize());
text.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("\n\n" +
" ARGB\n" + Int.MIN_VALUE + " ~ " + Int.MAX_VALUE +
"\n\n" +
" ARGB\n-0x80000000 ~ 0x7fffffff\n\n" +
" ARGB\n-020000000000 ~ 017777777777");
alert.show();
}}));
layout.addView(text);
var edtColor = new android.widget.EditText(CTX);
edtColor.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtColor.setText(String(Number("0x" + carriedColor) - 0x1000000));
edtColor.setTextColor(Number(edtColor.getText()));
edtColor.setLayoutParams(TEXT_PARAMS);
layout.addView(edtColor);
var lytRed = new android.widget.LinearLayout(CTX);
layout.addView(lytRed);
var text = new android.widget.TextView(CTX);
text.setText("");
lytRed.addView(text);
var edtRed = new android.widget.EditText(CTX);
edtRed.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtRed.setText(String(Number("0x" + carriedColor.slice(-6, -4))));
lytRed.addView(edtRed);
var sekRed = new android.widget.SeekBar(CTX);
sekRed.setMax(255);
sekRed.setProgress(edtRed.getText());
sekRed.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const RED = String(sekRed.getProgress());
if (edtRed.getText() != RED) edtRed.setText(RED);
const COLOR = String(android.graphics.Color.argb(255,
Number(edtRed.getText()), Number(edtGreen.getText()), Number(edtBlue.getText())));
if (edtColor.getText() != COLOR) edtColor.setText(COLOR);
}}));
layout.addView(sekRed);
edtRed.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekRed.setProgress(Number(edtRed.getText()));
}}));
var lytGreen = new android.widget.LinearLayout(CTX);
layout.addView(lytGreen);
var text = new android.widget.TextView(CTX);
text.setText("");
lytGreen.addView(text);
var edtGreen = new android.widget.EditText(CTX);
edtGreen.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtGreen.setText(String(Number("0x" + carriedColor.slice(-4, -2))));
lytGreen.addView(edtGreen);
var sekGreen = new android.widget.SeekBar(CTX);
sekGreen.setMax(255);
sekGreen.setProgress(edtGreen.getText());
sekGreen.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const GREEN = String(sekGreen.getProgress());
if (edtGreen.getText() != GREEN) edtGreen.setText(GREEN);
const COLOR = String(android.graphics.Color.argb(255,
Number(edtRed.getText()), Number(edtGreen.getText()), Number(edtBlue.getText())));
if (edtColor.getText() != COLOR) edtColor.setText(COLOR);
}}));
layout.addView(sekGreen);
edtGreen.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekGreen.setProgress(Number(edtGreen.getText()));
}}));
var lytBlue = new android.widget.LinearLayout(CTX);
layout.addView(lytBlue);
var text = new android.widget.TextView(CTX);
text.setText("");
lytBlue.addView(text);
var edtBlue = new android.widget.EditText(CTX);
edtBlue.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtBlue.setText(String(Number("0x" + carriedColor.slice(-2))));
lytBlue.addView(edtBlue);
var sekBlue = new android.widget.SeekBar(CTX);
sekBlue.setMax(255);
sekBlue.setProgress(edtBlue.getText());
sekBlue.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const BLUE = String(sekBlue.getProgress());
if (edtBlue.getText() != BLUE) edtBlue.setText(BLUE);
const COLOR = String(android.graphics.Color.argb(255,
Number(edtRed.getText()), Number(edtGreen.getText()), Number(edtBlue.getText())));
if (edtColor.getText() != COLOR) edtColor.setText(COLOR);
}}));
layout.addView(sekBlue);
edtBlue.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sekBlue.setProgress(Number(edtBlue.getText()));
}}));
edtColor.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
var color = Number(edtColor.getText());
color = argbToRgb(color).toString(16);
color = new Array(7 - color.length).join(0) + color;
sekRed.setProgress(Number("0x" + color.slice(-6, -4)));
sekGreen.setProgress(Number("0x" + color.slice(-4, -2)));
sekBlue.setProgress(Number("0x" + color.slice(-2)));
edtColor.setTextColor(Number(edtColor.getText()));
Player.setItemCustomName(Player.getSelectedSlotId(),
Number(edtColor.getText()));
}}));
}
checkbox = new android.widget.CheckBox(CTX);
checkbox.setText(" " + ModPE.getI18n("tile.wool.name") + " ");
checkbox.setChecked(paint.wool);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
paint.wool = checked;
}}));
layout.addView(checkbox);
checkbox = new android.widget.CheckBox(CTX);
checkbox.setText(" " + ModPE.getI18n("tile.clay.name") + " ");
checkbox.setChecked(paint.clay);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
paint.clay = checked;
}}));
layout.addView(checkbox);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndPaint = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndPaint.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndPaint.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Player.haveItem = function () {
for (var i = 9; i < 45; i++) if (Player.getInventorySlot(i) > 0) return true;
for (var i = 0; i < 4; i++) if (Player.getArmorSlot(i) > 0) return true;
return false;
}
Player.list = function () {
if (usePlyrLst) return list; else if (pe || !lan) return
Server.getAllPlayers(); else {
const E = Entity.getAll();
var e = [];
for (var p in E) if (Player.isPlayer(E[p]) && ("," + e.join() +
",").indexOf("," + E[p] + ",") <= -1) e.push(E[p]);
return e;
}
}
Player.player = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText(ModPE.getI18n("options.fov"));
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ 359");
layout.addView(text);
var lytFov = new android.widget.LinearLayout(CTX);
layout.addView(lytFov);
var edtFov = new android.widget.EditText(CTX);
edtFov.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtFov.setText("90");
lytFov.addView(edtFov);
var text = new android.widget.TextView(CTX);
text.setText("");
lytFov.addView(text);
var sekFov = new android.widget.SeekBar(CTX);
sekFov.setMax(359);
sekFov.setProgress(90);
sekFov.setOnSeekBarChangeListener(new
android.widget.SeekBar.OnSeekBarChangeListener({onProgressChanged: function (view)
{
const FOV = view.getProgress();
if (edtFov.getText() != FOV) edtFov.setText(String(FOV));
ModPE.setFov(FOV);
}}));
layout.addView(sekFov);
edtFov.addTextChangedListener(new android.text.TextWatcher({onTextChanged:
function (s, start, before, count) {
sekFov.setProgress(Number(edtFov.getText()) % 360);
}}));
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
ModPE.resetFov();
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText(" (XP)");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ " + Int.MAX_VALUE + "");
layout.addView(text);
var lytLvl = new android.widget.LinearLayout(CTX);
layout.addView(lytLvl);
var edtLvl = new android.widget.EditText(CTX);
edtLvl.setText(String(Player.getLevel()));
edtLvl.addTextChangedListener(new android.text.TextWatcher({onTextChanged:
function (s, start, before, count) {
Player.setLevel(Number(edtLvl.getText()));
}}));
edtLvl.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytLvl.addView(edtLvl);
var text = new android.widget.TextView(CTX);
text.setText("");
lytLvl.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(pickTile);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
pickTile = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(Player.canFly());
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Player.setCanFly(checked);
if (checked && pe) if (Level.getGameMode() == 0) print("\n " +
ModPE.getI18n("enchantment.protect.fall"));
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(ctrller.ctrller);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ctrller.ctrller = checked;
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
if (checked) {
ctrller.window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.BOTTOM, 0, 0);
if (pe) if (Level.getGameMode() == 0) print("\n " +
ModPE.getI18n("enchantment.protect.fall"));
Player.setFlying(false);
} else {
try {
ctrller.window.dismiss();
}
catch (err) {
}
}
}}));
}}));
layout.addView(checkbox);
var chkUseItemToTp = new android.widget.CheckBox(CTX);
chkUseItemToTp.setChecked(useItemToTp == 1);
chkUseItemToTp.setText("");
chkUseItemToTp.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) chkUseItemForNoclip.setChecked(false);
useItemToTp = Number(checked);
}}));
layout.addView(chkUseItemToTp);
var chkUseItemForNoclip = new android.widget.CheckBox(CTX);
chkUseItemForNoclip.setChecked(useItemToTp == 2);
chkUseItemForNoclip.setText("");
chkUseItemForNoclip.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) chkUseItemToTp.setChecked(false);
useItemToTp = Number(checked) * 2;
}}));
layout.addView(chkUseItemForNoclip);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(Player.insoluble);
checkbox.setText(" " + ModPE.getI18n("tile.flowing_lava.name") + " ");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Player.insoluble = checked;
if (checked && pe) if (Level.getGameMode() == 0) print("\n " +
ModPE.getI18n("enchantment.protect.fall"));
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var edtSprintXz = new android.widget.EditText(CTX);
edtSprintXz.setText(String(sprint.vel));
edtSprintXz.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sprint.vel = Number(edtSprintXz.getText());
if (sprint.vel == 0 && sprint.velY == 0) sprint.time = false;
}}));
edtSprintXz.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtSprintXz.setLayoutParams(TEXT_PARAMS);
layout.addView(edtSprintXz);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var edtSprintY = new android.widget.EditText(CTX);
edtSprintY.setText(String(sprint.velY));
edtSprintY.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
sprint.velY = Number(edtSprintY.getText());
if (sprint.vel == 0 && sprint.velY == 0) sprint.time = false;
}}));
edtSprintY.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
edtSprintY.setLayoutParams(TEXT_PARAMS);
layout.addView(edtSprintY);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
edtSprintXz.setText("0");
edtSprintY.setText("0");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
edtSprintXz.setText("1.0");
edtSprintY.setText("1.0");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Scenter.options();
}}));
layout.addView(button);
if (pe) {
var text = new android.widget.TextView(CTX);
text.setText(" (HP)");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ " + Int.MAX_VALUE + "");
layout.addView(text);
var lytHp = new android.widget.LinearLayout(CTX);
layout.addView(lytHp);
var edtHp = new android.widget.EditText(CTX);
edtHp.setText(String(Entity.getHealth(getPlayerEnt())));
edtHp.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytHp.addView(edtHp);
var text = new android.widget.TextView(CTX);
text.setText("/" + Entity.getMaxHealth(getPlayerEnt()) + "");
lytHp.addView(text);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
try {
if (edtHp.getText() > Entity.getMaxHealth(getPlayerEnt()))
Entity.setMaxHealth(getPlayerEnt(), edtHp.getText());
Player.setHealth(edtHp.getText());
}
catch (err) {
print(err);
}
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText(ModPE.getI18n("potion.harm"));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Player.setHealth(0);
edtHp.setText("0");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText(ModPE.getI18n("potion.heal"));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
const MH = Entity.getMaxHealth(getPlayerEnt());
Player.setHealth(MH);
edtHp.setText(String(MH));
}}));
layout.addView(button);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText("");
checkbox.setChecked(invulnerable);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
invulnerable = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText(" 0 ~ " + Int.MAX_VALUE + "");
layout.addView(text);
var lytMaxHp = new android.widget.LinearLayout(CTX);
layout.addView(lytMaxHp);
var edtMaxHp = new android.widget.EditText(CTX);
edtMaxHp.setText(String(Entity.getMaxHealth(getPlayerEnt())));
edtMaxHp.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytMaxHp.addView(edtMaxHp);
var text = new android.widget.TextView(CTX);
text.setText("");
lytMaxHp.addView(text);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Entity.setMaxHealth(getPlayerEnt(), edtMaxHp.getText());
}}));
layout.addView(button);
}
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("x");
layout.addView(text);
var edtX = new android.widget.EditText(CTX);
edtX.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtX.setLayoutParams(TEXT_PARAMS);
edtX.setText(String(Math.floor(getPlayerX())));
layout.addView(edtX);
var text = new android.widget.TextView(CTX);
text.setText("y");
layout.addView(text);
var edtY = new android.widget.EditText(CTX);
edtY.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtY.setLayoutParams(TEXT_PARAMS);
edtY.setText(String(Math.floor(getPlayerY())));
layout.addView(edtY);
var text = new android.widget.TextView(CTX);
text.setText("z");
layout.addView(text);
var edtZ = new android.widget.EditText(CTX);
edtZ.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtZ.setLayoutParams(TEXT_PARAMS);
edtZ.setText(String(Math.floor(getPlayerZ())));
layout.addView(edtZ);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
setPosition(getPlayerEnt(), Number(edtX.getText()),
Number(edtY.getText()), Number(edtZ.getText()));
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytHitBoxW = new android.widget.LinearLayout(CTX);
layout.addView(lytHitBoxW);
var edtHitBoxW = new android.widget.EditText(CTX);
edtHitBoxW.setText("0.6");
edtHitBoxW.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
lytHitBoxW.addView(edtHitBoxW);
var text = new android.widget.TextView(CTX);
text.setText("m");
lytHitBoxW.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytHitBoxH = new android.widget.LinearLayout(CTX);
layout.addView(lytHitBoxH);
var edtHitBoxH = new android.widget.EditText(CTX);
edtHitBoxH.setText("1.8");
edtHitBoxH.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
lytHitBoxH.addView(edtHitBoxH);
var text = new android.widget.TextView(CTX);
text.setText("m");
lytHitBoxH.addView(text);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.setCollisionSize(getPlayerEnt(), Number(edtHitBoxW.getText()),
Number(edtHitBoxH.getText()));
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.setCollisionSize(getPlayerEnt(), 0, 0);
edtHitBoxW.setText("0");
edtHitBoxH.setText("0");
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("No-clip");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
Entity.setCollisionSize(getPlayerEnt(), -1, -1);
edtHitBoxW.setText("-1");
edtHitBoxH.setText("-1");
print("\n ");
}}));
layout.addView(button);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(esc);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
esc = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(cantSeeVoid.cantSeeVoid);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
cantSeeVoid.cantSeeVoid = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(ladder);
checkbox.setText(" " + ModPE.getI18n("tile.ladder.name"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ladder = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(web.web);
checkbox.setText(" " + ModPE.getI18n("tile.web.name"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
web.web = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(miner);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("" + (pe ? "." : "."));
alert.setPositiveButton("", new
android.content.DialogInterface.OnClickListener({onClick: function (dialog, w) {
miner = true;
}}));
alert.setNegativeButton("", new
android.content.DialogInterface.OnClickListener({onClick: function (dialog, w) {
view.setChecked(false);
}}));
alert.show();
}}));
layout.addView(checkbox);
if (pe) {
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(featherFalling);
checkbox.setText(ModPE.getI18n("enchantment.protect.fall"));
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
featherFalling = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(qsc);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
qsc = checked;
}}));
layout.addView(checkbox);
}
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(ki.ki);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ki.ki = checked;
if (checked && TMI) print("\n Toolbox ");
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("1\t ;\n" +
"2\t [: " + new
android.os.Environment.getExternalStorageDirectory() + "]
/games/com.mojang/minecraftpe/options.txt gfx_gamma: 15;\n" +
"3\t , [" + ModPE.getI18n("options.title") + "]
[" + ModPE.getI18n("options.gamma") + "].");
alert.show();
}}));
layout.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("1\t ;\n" +
"2\t [: " + new
android.os.Environment.getExternalStorageDirectory() + "]
/games/com.mojang/minecraftpe/options.txt dev_autoloadlevel: 1;\n" +
"3\t .");
alert.show();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
Player.players = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var toggle = new android.widget.ToggleButton(CTX);
toggle.setTextOff("");
toggle.setTextOn("");
toggle.setChecked(usePlyrLst);
toggle.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
usePlyrLst = checked;
wndPlayers.dismiss();
Player.players();
}}));
layout.addView(toggle);
if (usePlyrLst) {
var chkAtapil = new android.widget.CheckBox(CTX);
chkAtapil.setText((pe ? "" : "") + "");
chkAtapil.setChecked(atapil);
chkAtapil.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
atapil = checked;
}}));
layout.addView(chkAtapil);
} else {
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
list = [];
const P = Player.list();
for (var p in P) list.push(P[p]);
if (("," + list.join() + ",").indexOf("," + getPlayerEnt() + ",")
<= -1) list.push(getPlayerEnt());
}}));
layout.addView(button);
}
var lytPlyrs = new android.widget.LinearLayout(CTX);
lytPlyrs.setOrientation(lytPlyrs.VERTICAL);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(lytPlyrs);
layout.addView(scroll);
if (pe && usePlyrLst) for (var p = 0; p < list.length; p++) if (!
Player.isPlayer(list[p])) {
list.splice(p, 1);
p--;
}
const P = Player.list();
var button = [];
for (var p in P) {
if (!pe && p > 0) if (P[p] == P[0]) break;
button = new android.widget.Button(CTX);
button.setText(P[p] + "\n" + (Player.isPlayer(P[p]) ?
Player.getName(P[p]) : ""));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Player.plyrMnu(Number(view.getText().split("\n")[0]));
}}));
lytPlyrs.addView(button);
}
wndPlayers = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndPlayers.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndPlayers.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
function popupWindow() {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText(" (HUD)");
text.setTextSize(text.getTextSize());
layout.addView(text);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText(" []");
checkbox.setChecked(txtMnu.getText() == "");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
wndPw.dismiss();
wndMnu.dismiss();
wndMnuTxt.dismiss();
showMnuTxt(checked);
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText(" [] ");
checkbox.setChecked(locked);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
locked = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText(" [" + ModPE.getI18n("deathScreen.quit") + "]
");
checkbox.setChecked(respawn.respawn);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
respawn.respawn = checked;
}}));
layout.addView(checkbox);
var toggle = new android.widget.ToggleButton(CTX);
toggle.setTextOff(": ");
toggle.setTextOn(": android ");
toggle.setChecked(ModPE.stim);
toggle.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ModPE.stim = checked;
}}));
toggle.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view, e) {
ModPE.showTipMsgWithoutErr("");
return true;
}}));
layout.addView(toggle);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var toggle = new android.widget.ToggleButton(CTX);
toggle.setTextOff(": ");
toggle.setTextOn(": ");
toggle.setChecked(ModTick.type);
toggle.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ModTick.type = checked;
edtSpeed.setEnabled(checked);
if (checked && isInGame) ModTick.forTick();
}}));
toggle.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view, e) {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage(":\n" +
" (modTick) \n" +
": [] > [ (TPS)] :
(t/s)\n" +
"\n" +
":\n" +
" \n" +
": : (ns)\n" +
"1s = 10ns");
alert.show();
return true;
}}));
layout.addView(toggle);
var text = new android.widget.TextView(CTX);
text.setText("\n 0ns/t ~ 922337203685477582847483647ns/t");
layout.addView(text);
var lytSpeed = new android.widget.LinearLayout(CTX);
layout.addView(lytSpeed);
var edtSpeed = new android.widget.EditText(CTX);
edtSpeed.setEnabled(ModTick.type);
edtSpeed.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtSpeed.setText(String(ModTick.speed.millis * 1000000 +
ModTick.speed.nanos));
edtSpeed.addTextChangedListener(new android.text.TextWatcher({onTextChanged:
function (s, start, before, count) {
ModTick.speed = {millis: Math.floor(Number(edtSpeed.getText()) /
1000000), nanos: Number(edtSpeed.getText()) % 1000000};
}}));
lytSpeed.addView(edtSpeed);
var text = new android.widget.TextView(CTX);
text.setText("ns/t");
lytSpeed.addView(text);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndPw = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndPw.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndPw.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
ports.add = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var edtNew = new android.widget.EditText(CTX), n = 0;
for (n = ports.ports.name.length; true; n++) if
(ports.ports.name.join().search("p" + n) == -1) break;
edtNew.setText("p" + n);
edtNew.setLayoutParams(TEXT_PARAMS);
layout.addView(edtNew);
var text = new android.widget.TextView(CTX);
text.setText("x");
layout.addView(text);
var edtX = new android.widget.EditText(CTX);
edtX.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtX.setText(String(Math.floor(getPlayerX())));
edtX.setLayoutParams(TEXT_PARAMS);
layout.addView(edtX);
var text = new android.widget.TextView(CTX);
text.setText("y");
layout.addView(text);
var edtY = new android.widget.EditText(CTX);
edtY.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtY.setText(String(Math.floor(getPlayerY())));
edtY.setLayoutParams(TEXT_PARAMS);
layout.addView(edtY);
var text = new android.widget.TextView(CTX);
text.setText("z");
layout.addView(text);
var edtZ = new android.widget.EditText(CTX);
edtZ.setInputType(android.text.InputType.TYPE_CLASS_NUMBER |
android.text.InputType.TYPE_NUMBER_FLAG_SIGNED);
edtZ.setText(String(Math.floor(getPlayerZ())));
edtZ.setLayoutParams(TEXT_PARAMS);
layout.addView(edtZ);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (("," + ports.ports.name.join() + ",").indexOf("," +
edtNew.getText() + ",") == -1) {
ports.ports.name.push(edtNew.getText());
ports.ports.pos.push(edtX.getText() + " " + edtY.getText() + " "
+ edtZ.getText());
}
wndAddPorts.dismiss();
wndPorts.dismiss();
ports.pm();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var wndAddPorts = new android.widget.PopupWindow(scroll, Wnd.WIDTH,
Wnd.HEIGHT * 4, true);
wndAddPorts.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndAddPorts.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
ports.pm = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
if (pe) {
var button = new android.widget.Button(CTX);
button.setText("");
button.setTextSize(button.getTextSize());
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
Level.setSpawn(getPlayerX(), getPlayerY(), getPlayerZ());
}}));
layout.addView(button);
}
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(ld.rec);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
ld.rec = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var scroll = new android.widget.ScrollView(CTX);
layout.addView(scroll);
var lytPorts = new android.widget.LinearLayout(CTX);
lytPorts.setOrientation(lytPorts.VERTICAL);
scroll.addView(lytPorts);
var button = new android.widget.Button(CTX);
button.setText("+\n");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
ports.add();
}}));
lytPorts.addView(button);
if (!isNaN(ld.pos.x) && !isNaN(ld.pos.y) && !isNaN(ld.pos.z)) {
var button = new android.widget.Button(CTX);
button.setText("\n");
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
setPosition(getPlayerEnt(), ld.pos.x, ld.pos.y, ld.pos.z);
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
ld.pos = new Point();
wndPorts.dismiss();
ports.pm();
return true;
}}));
lytPorts.addView(button);
}
for (var p in ports.ports.name) {
var button = new android.widget.Button(CTX);
button.setText(p + "\n" + ports.ports.name[p]);
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
const I = view.getText().split("\n")[0];
setPosition(getPlayerEnt(), ports.ports.pos[I].split(" ")[0],
ports.ports.pos[I].split(" ")[1], ports.ports.pos[I].split(" ")[2]);
}}));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
const I = view.getText().split("\n")[0];
ports.ports.name.splice(I, 1);
ports.ports.pos.splice(I, 1);
wndPorts.dismiss();
ports.pm();
return true;
}}));
lytPorts.addView(button);
}
wndPorts = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndPorts.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndPorts.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
function procCmd(cmd) {
cmd = cmd.trim();
const DATA = cmd.split(" ");
switch (DATA[0].toLowerCase()) {
case "banitem":
case "bi":
case "bl":
case "brightnesslevel":
case "gamma":
case "carrotonastick":
case "cs":
case "clear":
case "clone":
case "compass":
case "cp":
case "effect":
case "ench":
case "enchant":
case "endereye":
case "esc":
case "escape":
case "eval":
case "fill":
case "fly":
case "gamemode":
case "gm":
case "give":
case "gc":
case "grasscolor":
case "hat": break;
case "?":
case "help":
/*const HELP = [
"f 4 f ; e f
.",
"f JS : 4 " +
ModPE.getI18n("entity.Item.name") + " f, 1m , 4 f, , 4" +
ModPE.getI18n("entity.Mob.name") + " f, 4 f, 4 f .",
"f JS : 4/bi 325:10f, /ench, /fly, /gm 1, /give
0 264 255, /il 256 319, /ki true, /tp 1, /who, 4/xp 200 1f, /xp 30L .",
"f V16.5.28 ,
.",
"4/banitem add | del <oidr4>[:odamager4]",
"f " + ModPE.getI18n("entity.Item.name") + ". :
/bi add 51, /bi add 259, ; /bi add 10, /bi add 11, /bi add 325:10,
. : /bi.",
"f/bl",
"f . : /brightnesslevel,
/gamma.",
"4/carrotonastick <ofalser4 | otruer4> [ovelr4]",
"f " + ModPE.getI18n("entity.Mob.name") + " .
: /cs.",
"f/clear [oidr] [odamager]",
"f " + ModPE.getI18n("entity.Item.name") + " .
id -1 " + ModPE.getI18n("entity.Item.name") + "; damage
-1 ID id " + ModPE.getI18n("entity.Item.name") + ". :
/clear -1 1, 1 " + ModPE.getI18n("entity.Item.name") + ".",
"4/clone <ox1r4> <oy1r4> <oz1r4> <ox2r4>
<oy2r4> <oz2r4> <oxr4> <oyr4> <ozr4>",
"f (x1, y1, z1) ~ (x2, y2, z2) x, y, z.",
"f/compass",
"f . : /cp.",
"f/editor,",
"f js .",
"f/effect e<oplayerIdre>f e<oidre>f | e...f |
clear [odurationr | 0] [oamplifierr] [ohideParticler]
4[oforVictimsr4]f",
"f . id ID ID; ...: ;
duration 0 ~ " + Int.MAX_VALUE + ", 60; 0: ; amplifier " +
Int.MIN_VALUE + " ~ " + Int.MAX_VALUE + ", 0; hideParticle false true;
forVictims: , false true. : /effect 0 movementSpeed 60 15,
16 30 .",
"f/ench [oidr | ...] [olvlr]",
"f " + ModPE.getI18n("entity.Item.name") + ". id
ID ID, " + ModPE.getI18n("entity.Item.name") + "
; ...: ; lvl " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE + ",
" + Short.MAX_VALUE + ". : /enchant.",
"4/endereye <ofalser4 | otruer4>",
"f .",
"f/esc <ofalser | otruer>",
"f . : /escape.",
"f/eval [oexpressionr]",
"f . : /eval 1 + 1.",
"4/fill <ox1r4> <oy1r4> <oz1r4> <ox2r4>
<oy2r4> <oz2r4> <oidr4> [odatar4]",
"f .",
"f/fly",
"f .",
"f/gamemode <ogameModer>",
"f . gameMode 0 1. : /gm.",
"f/give e<oplayerIdre>f <oidr> [oamountr]
[odamager]",
"f " + ModPE.getI18n("entity.Item.name") + ". id
ID ID; amount 1, : " + ModPE.getI18n("entity.Item.name") +
" 255 " + ModPE.getI18n("entity.Item.name") + ". ; /give 0 item.diamond
255.",
"4/grasscolor <ocolorr4> | grassdye,",
"f y . color: 0 ~
16777215 0xRRGGBB, R: , G: , B: , R, B, G ; grassdye:
, " + ModPE.getI18n("entity.Item.name") + "
, picker " + ModPE.getI18n("entity.Item.name") + " ,
eraser " + ModPE.getI18n("entity.Item.name") + " . : /gc
0xff77bb, . : /gc.",
"f/hat",
"f .",
"f/help [opager | ocommandr]",
"f . command: . : /?.",
"4/herobrinesblazerod <ofalser4 | otruer4>",
"fHerobrine . : /hbr.",
"e/hitbox <owidthre> <oheightre>",
"f . : /hitbox 0 0, 1m
. : /collisionsize.",
"4/hp <ofalser4 | otruer4> | e | p <ohealthr4>",
"f " + ModPE.getI18n("entity.Mob.name") + " .
false, true: " + ModPE.getI18n("entity.Mob.name") + " " +
ModPE.getI18n("entity.Mob.name") + " ; e: " +
ModPE.getI18n("entity.Mob.name") + "; p: ; health " +
Int.MIN_VALUE + " ~ " + Int.MAX_VALUE + ". : /healthpoint.",
"f/idlist chat | effect | ench | ent | item | tile |
<onamer>",
"f ID . name: ID ID. : /il.",
"4/im <ofalser4 | otruer4>",
"f .",
"4/ivty armor | carried | cancel",
"f " + ModPE.getI18n("entity.Item.name")
+ " . armor: ; carried: " + ModPE.getI18n("entity.Item.name") + ";
cancel: . : , , . : /inventory.",
"f/ki false | true | r | w | <osecondsr>",
"f . false, true: " +
ModPE.getI18n("entity.Item.name") + " ; r: ; w: " +
ModPE.getI18n("entity.Item.name") + " ; seconds: ,
0.05, . /ki true
. : /keepinventory.",
"4/kick <oplayerIdr4>",
"f .",
"4/kill [oplayerIdr4]",
"f . .
playerId .",
"f/list",
"f ID. (
/nvtm 0 ) . : /playerlist, /plist, /who.",
"f/m",
"f .",
"4/nametag <ofalser4 | otruer4> | set
[onameTagr4]",
"f " + ModPE.getI18n("entity.Mob.name") + " .
: /nt.",
"4/ndt <oplayerIdr4>",
"f . . :
/nodestroyingtile",
"4/nvtm <oplayerIdr4>",
"f . : /novictim",
"4/onfire <oticksr4>",
"f . ticks 0 .",
"4/particle <oidr4> <oxr4> <oyr4> <ozr4>
<oxvr4> <oyvr4> <ozvr4> <odr4>",
"f . v: ; d: .",
"4/pretender [onamer4]",
"f . name .",
"4/qsc <ofalser4 | otruer4>",
"f , " +
ModPE.getI18n("entity.Item.name") + " . : /quicksetchest.",
"f/rd",
"f . :
/redstonedustdata.",
"f/ride <ofalser | otruer>",
"f " + ModPE.getI18n("entity.Mob.name") + " .",
"f/scenter <ooreIdr> | 0",
"f , 20 . 0:
.",
"4/setblock <oxr4> <oyr4> <ozr4> <oidr4>
[odatar4]",
"f . : /settile.",
"4/sign [oliner4] <osignTextr4>",
"f . line 0 ~ 3, 0; signText
. PIE . : /sign 3
Hello,\\x20world!\\nHow\\x20are\\x20you?, 4 Hello, world!, 5
How are you?",
"f/sp [oplayerIdr]",
"f . playerId ,
. : /cam, /camera, /spectator.",
"4/spawnpoint [<oxr4> <oyr4> <ozr4>]",
"f . : /setworldspawn.",
"f/sprint <ovelocitaxzr> [ovelocitayr]",
"f . velocitaxz, velocitay: , , 0 , 1
, 2 ...",
"4/summon <oidr4> [oxr4] [oyr4] [ozr4]
[otimesr4]",
"f . times: .",
"4/time add | query | set [oticksr4]
[odoDaylightCycler4]",
"f . ticks 0 ~ " + Int.MAX_VALUE + ";
doDaylightCycle false true. : /time set noon 1, .",
"f/tipPos <oplayerIdr>",
"f .",
"f/tiptile",
"f ID .",
"f/tp <oplayerIdr> | <onamer> | list | {<oxr>
<oyr> <ozr>}",
"f . name: , .
: /tele, /teleport, /tp2p.",
"f/version",
"f JS .",
"4/weather clear | lightning | rain | thunder
[olevelr4] [odoWeatherCycler4]",
"f . thunder: . level 0 ~ " + Int.MAX_VALUE
+ "; doWeatherCycle false true.",
"f/xp <oxpr> | 4{<oxpBottlesr4> <oplayerIdr4>}f
| <olevelr>L",
"f . xpBottles: . : /xp 30L, 30
. : /experience.",
"4/xpld <ofalser4 | otruer4>",
"f . false: . : /explode."
];
if (DATA.length <= 1) DATA[1] = 1;
if (isNaN(DATA[1])) {
for (var l = 0; l < HELP.length; l++) if (HELP[l].substr(3,
(HELP[l].indexOf(" ") == -1) ? HELP[l].length - 3 : HELP[l].indexOf(" ") - 3) ==
DATA[1].toLowerCase()) {
clientMessage("4Usage: " + HELP[l]);
clientMessage(HELP[l + 1]);
break;
}
if (l >= HELP.length) clientMessage("cusefulCommands: " +
ModPE.getI18n("commands.generic.notFound"));
} else {
clientMessage("2--- " + DATA[1] + " ,
" + Math.ceil(HELP.length / 8) + " (/help [opager2 | ocommandr2]) ---");
if (eval("\x44\x61\x74\x61\x5b\x31\x5d") == "\x31") {
if (true)
clientMessage("\xa7\x61\u652f\u6301\u6b63\u7248\x3a\x20\u611f\u8c22\u4f60\u4f7f\u75
28\xa7o\u65b9\u5757\u542f\u52a8\u5668\xa7\x72\x2e"); else
clientMessage("\xa7\x34\u652f\u6301\u6b63\u7248\x3a\x20\u8bf7\u4f7f\u7528\x20\x4d\x
6f\x64\x50\x45\x20\u4f5c\u8005\x20\x5a\x68\x75\x6f\x77\x65\x69\x20\x5a\x68\x61\x6e\
x67\x20\u7684\xa7o\u65b9\u5757\u542f\u52a8\u5668\u4e13\u4e1a\u7248\xa7\x72\u8fd0\u8
84c\u672c\x20\x4a\x53\x2e");
clientMessage("\x57\x4c\x41\x4e\x20\u5c40\u57df\u7f51\u591a\u4eba\u6e38\u620f\u6307
\u4ee4\x20\x42\x79\x20\xa7\x64\x4d\x49\x53\x54\x45\x52\x5f\x43\x48\x41\x4e\xa7\x66\
x2e");
}
for (var l = 8 * (DATA[1] - 1); l < 8 * DATA[1] &&
HELP[l] != undefined; l++) clientMessage(HELP[l]);
}*/
break;
case "hbr":
case "herobrinesblazerod":
case "collisionsize":
case "hitbox":
case "healthpoint":
case "hp":
case "idlist":
case "il":
case "im":
case "inventory":
case "ivty":
case "keepinventory":
case "ki":
case "kick":
case "kill":
case "list":
case "pl":
case "playerlist":
case "plist":
case "who":
case "level":
case "lvl":
case "m":
case "nametag":
case "nt":
case "ndt":
case "nodestroyingtile":
case "novictim":
case "nvtm":
case "onfire":
case "particle":
case "pretender":
case "qsc":
case "quicksetchest":
case "rd":
case "redstonedustdata":
case "ride":
case "scenter":
case "setblock":
case "settile":
case "sign":
case "cam":
case "camera":
case "sp":
case "spectator":
case "setworldspawn":
case "spawnpoint":
case "sprint":
case "summon":
case "time":
case "tipPos":
case "tiptile":
case "tele":
case "teleport":
case "tp":
case "tp2p":
case "version":
case "weather":
case "experience":
case "xp":
case "explode":
case "xpld":
case "\x65\x64\x69\x74\x6f\x72": break;
default:
clientMessage("cusefulCommands: " +
ModPE.getI18n("commands.generic.notFound"));
break;
}
}
quickBuilding.build = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(quickBuilding.fillRoad);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
quickBuilding.fillRoad = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(quickBuilding.linear.canPlace);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
quickBuilding.linear.canPlace = checked;
}}));
layout.addView(checkbox);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(quickBuilding.linear.canDestroy);
checkbox.setText("");
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
quickBuilding.linear.canDestroy = checked;
}}));
layout.addView(checkbox);
var btnDirection = new android.widget.Button(CTX);
btnDirection.setText(": " + quickBuilding.linear.direction);
btnDirection.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
var d = "";
if (view.getText().slice(-1) == "-") d = view.getText().slice(-2, -1) +
"+"; else {
switch (String(view.getText().slice(-2, -1))) {
case "x": d = "y"; break;
case "y": d = "z"; break;
default: d = "x"; break;
}
d += "-";
}
view.setText(": " + d);
}}));
layout.addView(btnDirection);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytLength = new android.widget.LinearLayout(CTX);
layout.addView(lytLength);
var edtLength = new android.widget.EditText(CTX);
edtLength.setText(String(quickBuilding.linear.length));
edtLength.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytLength.addView(edtLength);
var text = new android.widget.TextView(CTX);
text.setText("m");
lytLength.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytStep = new android.widget.LinearLayout(CTX);
layout.addView(lytStep);
var edtStep = new android.widget.EditText(CTX);
edtStep.setText(String(quickBuilding.linear.step));
edtStep.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytStep.addView(edtStep);
var text = new android.widget.TextView(CTX);
text.setText("m");
lytStep.addView(text);
var chkLratt = new android.widget.CheckBox(CTX);
chkLratt.setText("");
chkLratt.setChecked(quickBuilding.linear.ratt);
layout.addView(chkLratt);
var lytLFid = new android.widget.LinearLayout(CTX);
layout.addView(lytLFid);
var edtLFid = new android.widget.EditText(CTX);
edtLFid.setText(String(quickBuilding.linear.fid));
edtLFid.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytLFid.addView(edtLFid);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytLFid.addView(text);
var edtLFata = new android.widget.EditText(CTX);
edtLFata.setText(String(quickBuilding.linear.fata));
edtLFata.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytLFid.addView(edtLFata);
var text = new android.widget.TextView(CTX);
text.setText(" ID ");
layout.addView(text);
var edtKeyword = new android.widget.EditText(CTX);
edtKeyword.setHint("");
edtKeyword.setLayoutParams(TEXT_PARAMS);
layout.addView(edtKeyword);
var btnSearch = new android.widget.Button(CTX);
btnSearch.setText("");
btnSearch.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const RESULTS = Item.searchItem(edtKeyword.getText(), true);
txtResult.setText(" " + RESULTS.length + " ");
lytSearch.removeView(lytResults[lytResults.length - 1]);
lytResults.push();
lytResults[lytResults.length - 1] = new
android.widget.LinearLayout(CTX);
lytResults[lytResults.length -
1].setOrientation(lytResults[lytResults.length - 1].VERTICAL);
lytSearch.addView(lytResults[lytResults.length - 1]);
for (var r in RESULTS) {
var button = new android.widget.Button(CTX);
button.setText(RESULTS[r] + "\n" +
Item.getName(RESULTS[r].split(":")[0],
RESULTS[r].split(":")[1]));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
edtLFid.setText(view.getText().split("\n")[0].split(":")
[0]);
edtLFata.setText(view.getText().split("\n")[0].split(":")
[1]);
edtCFid.setText(view.getText().split("\n")[0].split(":")
[0]);
edtCFata.setText(view.getText().split("\n")[0].split(":")
[1]);
}}));
lytResults[lytResults.length - 1].addView(button);
}
}}));
layout.addView(btnSearch);
var lytSearch = new android.widget.LinearLayout(CTX);
lytSearch.setOrientation(lytSearch.VERTICAL);
layout.addView(lytSearch);
var lytResults = [];
lytResults[0] = new android.widget.LinearLayout(CTX);
lytSearch.addView(lytResults[0]);
var txtResult = new android.widget.TextView(CTX);
lytSearch.addView(txtResult);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
quickBuilding.linear.direction = btnDirection.getText().slice(-2),
quickBuilding.linear.length = edtLength.getText(),
quickBuilding.linear.step = edtStep.getText(),
quickBuilding.linear.ratt = chkLratt.isChecked(),
quickBuilding.linear.fid = edtLFid.getText(),
quickBuilding.linear.fata = edtLFata.getText();
}}));
layout.addView(button);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setChecked(quickBuilding.cube.canSetPort);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
quickBuilding.cube.canSetPort = checked;
}}));
layout.addView(checkbox);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (quickBuilding.cube.upper.x != NaN) quickBuilding.cube.clipbrd = new
Point(quickBuilding.cube.lower.x, quickBuilding.cube.lower.y,
quickBuilding.cube.lower.z);
}}));
layout.addView(button);
var chkPasteAir = new android.widget.CheckBox(CTX);
chkPasteAir.setText("");
chkPasteAir.setChecked(true);
layout.addView(chkPasteAir);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (quickBuilding.cube.clipbrd.x != NaN && quickBuilding.cube.lower.x !
= NaN) quickBuilding.paste(quickBuilding.cube.lower.x, quickBuilding.cube.lower.y,
quickBuilding.cube.lower.z, quickBuilding.cube.upper.x, quickBuilding.cube.upper.y,
quickBuilding.cube.upper.z, chkPasteAir.isChecked());
}}));
layout.addView(button);
var tglSolid = new android.widget.ToggleButton(CTX);
tglSolid.setTextOff("");
tglSolid.setTextOn("");
tglSolid.setChecked(true);
layout.addView(tglSolid);
var chkCratt = new android.widget.CheckBox(CTX);
chkCratt.setText("");
layout.addView(chkCratt);
var lytCFid = new android.widget.LinearLayout(CTX);
layout.addView(lytCFid);
var edtCFid = new android.widget.EditText(CTX);
edtCFid.setText("0");
edtCFid.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytCFid.addView(edtCFid);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytCFid.addView(text);
var edtCFata = new android.widget.EditText(CTX);
edtCFata.setText("0");
edtCFata.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytCFid.addView(edtCFata);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (quickBuilding.cube.upper != {x: NaN, y: NaN, z: NaN})
quickBuilding.fill(quickBuilding.cube.lower.x, quickBuilding.cube.lower.y,
quickBuilding.cube.lower.z, quickBuilding.cube.upper.x, quickBuilding.cube.upper.y,
quickBuilding.cube.upper.z, getCarriedItem(), Player.getCarriedItemData(), !
tglSolid.isChecked(), chkCratt.isChecked(), edtCFid.getText(), edtCFata.getText());
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
}
Scenter.add = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText(" ID");
text.setTextSize(text.getTextSize());
layout.addView(text);
var lytId = new android.widget.LinearLayout(CTX);
layout.addView(lytId);
var edtId = new android.widget.EditText(CTX);
edtId.setText("56");
edtId.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytId.addView(edtId);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytId.addView(text);
var edtData = new android.widget.EditText(CTX);
edtData.setHint("");
edtData.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtData.setText("");
lytId.addView(edtData);
var text = new android.widget.TextView(CTX);
text.setText(" ID ");
layout.addView(text);
var edtKeyword = new android.widget.EditText(CTX);
edtKeyword.setHint("");
edtKeyword.setLayoutParams(TEXT_PARAMS);
layout.addView(edtKeyword);
var btnSearch = new android.widget.Button(CTX);
btnSearch.setText("");
btnSearch.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const RESULTS = Item.searchItem(edtKeyword.getText(), true);
txtResult.setText(" " + RESULTS.length + " ");
lytSearch.removeView(lytResults[lytResults.length - 1]);
lytResults.push();
lytResults[lytResults.length - 1] = new
android.widget.LinearLayout(CTX);
lytResults[lytResults.length -
1].setOrientation(lytResults[lytResults.length - 1].VERTICAL);
lytSearch.addView(lytResults[lytResults.length - 1]);
for (var r in RESULTS) {
var button = new android.widget.Button(CTX);
button.setText(RESULTS[r] + "\n" +
Item.getName(RESULTS[r].split(":")[0],
RESULTS[r].split(":")[1]));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
edtId.setText(view.getText().split("\n")[0].split(":")[0]);
if (view.getText().split("\n")[0].split(":")[1] != 0)
edtData.setText(view.getText().split("\n")[0].split(":")[1]);
}}));
lytResults[lytResults.length - 1].addView(button);
}
}}));
layout.addView(btnSearch);
var lytSearch = new android.widget.LinearLayout(CTX);
lytSearch.setOrientation(lytSearch.VERTICAL);
layout.addView(lytSearch);
var lytResults = [];
lytResults[0] = new android.widget.LinearLayout(CTX);
lytSearch.addView(lytResults[0]);
var txtResult = new android.widget.TextView(CTX);
lytSearch.addView(txtResult);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (("," + Scenter.hotOres.join() + ",").indexOf("," + edtId.getText()
+ ":" + edtData.getText() + ",") == -1) Scenter.hotOres.push(edtId.getText() + ":"
+ edtData.getText());
window.dismiss();
wndScenter.dismiss();
Scenter.options();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
var window = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH * 2, 0);
}
Scenter.options = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setChecked(Scenter.scenter);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
Scenter.scenter = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var lytRadius = new android.widget.LinearLayout(CTX);
layout.addView(lytRadius);
var edtRadius = new android.widget.EditText(CTX);
edtRadius.setText(String(Scenter.inradius));
edtRadius.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtRadius.addTextChangedListener(new android.text.TextWatcher({onTextChanged:
function (s, start, before, count) {
Scenter.inradius = Number(edtRadius.getText());
}}));
lytRadius.addView(edtRadius);
var text = new android.widget.TextView(CTX);
text.setText("m");
lytRadius.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var scroll = new android.widget.ScrollView(CTX);
layout.addView(scroll);
var lytHotOres = new android.widget.LinearLayout(CTX);
lytHotOres.setOrientation(lytHotOres.VERTICAL);
scroll.addView(lytHotOres);
var radio = new android.widget.RadioButton(CTX);
radio.setText("+\n");
radio.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
radio.setChecked(false);
Scenter.add();
}
}}));
lytHotOres.addView(radio);
var rdoHotOres = []
for (var o in Scenter.hotOres) {
rdoHotOres[o] = new android.widget.RadioButton(CTX);
rdoHotOres[o].setChecked(Scenter.ore == Scenter.hotOres[o]);
rdoHotOres[o].setText(Scenter.hotOres[o] + "\n" +
Item.getName(Scenter.hotOres[o].split(":")[0],
Scenter.hotOres[o].split(":")[1]));
rdoHotOres[o].setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
if (checked) {
for (var o in rdoHotOres) if (rdoHotOres[o] != view)
rdoHotOres[o].setChecked(false);
Scenter.ore = view.getText().split("\n")[0];
}
}}));
rdoHotOres[o].setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
for (var o in rdoHotOres) if (rdoHotOres[o] == view) {
Scenter.hotOres.splice(o, 1);
break;
}
wndScenter.dismiss();
Scenter.options();
return true;
}}));
lytHotOres.addView(rdoHotOres[o]);
}
wndScenter = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndScenter.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndScenter.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
Scenter.saveNearestOre = function () {
Scenter.isSearching = true;
new java.lang.Thread(new java.lang.Runnable({run: function () {
for (; Scenter.scenter; ) {
var id = Scenter.ore.split(":")[0], data = Scenter.ore.split(":")
[1],
px = getPlayerX(), py = getPlayerY(), pz = getPlayerZ();
xl = Math.floor(px) - Scenter.inradius, yl = Math.floor(py)
- Scenter.inradius, zl = Math.floor(pz) - Scenter.inradius,
xu = Math.floor(px) + Scenter.inradius, yu = Math.floor(py)
+ Scenter.inradius, zu = Math.floor(pz) + Scenter.inradius;
var ores = [], p = new Point();
for (var x = xl; x < xu; x++) for (var y = yl; y < yu; y++) for
(var z = zl; z < zu; z++) if (getTile(x, y, z) == id && (Level.getData(x, y, z) ==
data || data == undefined)) ores.push(new Point(x, y, z));
for (var o in ores) if (o == 0) p = new Point(ores[0].x,
ores[0].y, ores[0].z); else if (Math.distance(ores[o].x, ores[o].y, ores[o].z, px,
py, pz) < Math.distance(p.x, p.y, p.z, px, py, pz)) p = new Point(ores[o].x,
ores[o].y, ores[o].z);
Scenter.nearestOre = new Point(p.x, p.y, p.z);
}
Scenter.isSearching = false;
}})).start();
}
Scenter.showNearestOre = function () {
var px = getPlayerX(), py = getPlayerY(), pz = getPlayerZ();
if (!isNaN(Scenter.nearestOre.x) && !isNaN(Scenter.nearestOre.y) && !
isNaN(Scenter.nearestOre.z) && getTile(Scenter.nearestOre.x, Scenter.nearestOre.y,
Scenter.nearestOre.z) == Scenter.ore.split(":")[0] &&
(Level.getData(Scenter.nearestOre.x, Scenter.nearestOre.y, Scenter.nearestOre.z) ==
Scenter.ore.split(":")[1] || Scenter.ore.split(":")[1] == undefined)) {
Scenter.distance = Math.distance(px, py, pz, Scenter.nearestOre.x +
0.5, Scenter.nearestOre.y + 0.5, Scenter.nearestOre.z + 0.5);
for (var p = 0; p <= Scenter.distance * 8; p++)
Level.addParticle(ParticleType.crit, (Scenter.nearestOre.x + 0.5 - px) /
Scenter.distance / 8 * p + px, (Scenter.nearestOre.y + 0.5 - py) / Scenter.distance
/ 8 * p + py, (Scenter.nearestOre.z + 0.5 - pz) / Scenter.distance / 8 * p + pz, 0,
0, 0, 1);
} else Scenter.distance = NaN;
Scenter.showTime = 60;
}
function screenChangeHook(screenName) {
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
switch (screenName) {
case "chat_screen":
chat.window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.CENTER | android.view.Gravity.TOP, 0, 0);
break;
case "death_screen":
if (respawn.respawn)
respawn.window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, 0, 0);
break;
case "start_screen":
if (TMI) langEdit();
break;
case "world_loading_progress_screen -
joining_multiplayer_external_server":
case "world_loading_progress_screen - local_world_load":
ModPE.wndLeaveGame.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.CENTER | android.view.Gravity.BOTTOM, 0, 0);
break;
default:
try {
chat.window.dismiss();
if (respawn.respawn) respawn.window.dismiss();
ModPE.wndLeaveGame.dismiss();
}
catch (err) {
}
break;
}
}}));
}
function showMnuTxt(alpha) {
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
txtMnu = new android.widget.TextView(CTX);
txtMnu.setText(alpha ? "" :
"\x4d\x49\x53\x54\x45\x52\x5f\x20\n\x43\x48\x41\x4e");
txtMnu.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
if (pe && hbr.hbr && getCarriedItem() == 369) {
const YAW = getYaw() % 360 * Math.PI / 180, PITCH =
getPitch() * Math.PI / 180,
SY = -Math.sin(YAW), SP = -Math.sin(PITCH), CY =
Math.cos(YAW),
ARROW = Level.spawnMob(Player.getX() + SY,
Player.getY() + SP, Player.getZ() + CY, hbr.fb);
setVelX(ARROW, SY * hbr.vel);
setVelY(ARROW, SP * hbr.vel);
setVelZ(ARROW, CY * hbr.vel);
} else if (!pe && isInGame && lan == null) if (TMI)
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("");
alert.setPositiveButton("Lan \n : Wlan ", new
android.content.DialogInterface.OnClickListener({onClick: function (dialog, w) {
lan = true;
}}));
alert.setNegativeButton("\n : PocketMine (PM)",
new android.content.DialogInterface.OnClickListener({onClick: function (dialog, w)
{
lan = false;
}}));
alert.show();
}})); else {
lan = true;
antiduowan();
} else antiduowan();
}}));
txtMnu.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function () {
if (TMI && ModPE.lockMextToTrot) {
const NAME = "-usefulCommands.js-screenshot";
ModPE.takeScreenshot(new Date().getSeconds() + NAME);
print("\n" +
"\n" +
"[: " + new
android.os.Environment.getExternalStorageDirectory() + "] /Pictures/MCPEToolbox/
" + NAME + ".png");
}
return true;
}}));
var p = {x: 0, y: Wnd.HEIGHT}, move = {x: 0, y: 0};
txtMnu.setOnTouchListener(new
android.view.View.OnTouchListener({onTouch: function (view, event) {
if (!locked) switch(event.getAction()) {
case event.ACTION_DOWN:
move = {x: event.getX(), y: event.getY()};
break;
case event.ACTION_MOVE:
wndMnuTxt.update(parseInt(p.x += (event.getX() -
move.x) * 0.5), parseInt(p.y += (event.getY() - move.y) * 0.5), -1, -1);
break;
}
return false;
}}));
layout.addView(txtMnu);
wndMnuTxt = new android.widget.PopupWindow(layout, Wnd.WIDTH / 2,
Wnd.HEIGHT / 2);
wndMnuTxt.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.LEFT | android.view.Gravity.TOP, 0, Wnd.HEIGHT);
}}));
}
function showUsefulCommands() {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle("");
alert.setMessage("usefulCommands .\n" +
".\n\n" +
ModPE.getI18n("options.fov") + ":\n , , " +
ModPE.getI18n("entity.Mob.name") + ", " + ModPE.getI18n("item.sign.name") + " .
\n\n" +
":\n .\n\n" +
":\n , .\n\n" +
":\n .\n\n" +
":\n , , .\n\n" +
":\n , .\n\n" +
" " + ModPE.getI18n("tile.flowing_lava.name") + " :\n " +
ModPE.getI18n("tile.flowing_lava.name") + " .\n\n" +
":\n , .\n\n" +
":\n , .\n\n" +
" ():\n( lan )\n .\n\n" +
":\n .\n\n" +
" " + ModPE.getI18n("entity.Item.name") + ":\n PVP "
+ ModPE.getI18n("tile.crafting_table.name") + ", .\n\n" +
ModPE.getI18n("entity.Item.name") + " :\n( lan )\n
" + ModPE.getI18n("entity.Item.name") + ".\n\n" +
":\n , .\n\n" +
":\n , PVP.\n\n" +
":\n( lan )\n .\n\n" +
":\n .\n\n" +
":\n( lan )\n .\n\n" +
", :\n " + ModPE.getI18n("entity.Item.name") + "
, , , .\n\n" +
", , .");
alert.show();
}
edtSignText[l].setText(edtSignText[l].getText().toString().slice(0,
edtSignText[l].getText().toString().lastIndexOf("\n")));
break;
} else if (edtSignText[l].getText() != "") {
edtSignText[l].setText("");
break;
}
}
}}));
lytSignText.addView(button);
}
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 3,
Wnd.HEIGHT * 3, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH * 2 -
window.getWidth() / 2, Wnd.HEIGHT * 2 - window.getHeight() / 2);
}}));
}
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, "");
}
Target.getRot = function () {
const TX = Entity.getX(Target.ent) - getPlayerX(),
TY = Entity.getY(Target.ent) - getPlayerY(),
TZ = Entity.getZ(Target.ent) - getPlayerZ();
var yaw = 0;
if (TZ != 0) yaw = Math.abs(Math.atan(TX / TZ) * 180 / Math.PI);
if (TZ <= 0) yaw = TX < 0 ? 180 - yaw : 180 + yaw; else if (TX >= 0) yaw =
360 - yaw;
return {pitch: 0, yaw: yaw};
}
veinMiner.add = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var text = new android.widget.TextView(CTX);
text.setText(" ID");
text.setTextSize(text.getTextSize());
layout.addView(text);
var lytId = new android.widget.LinearLayout(CTX);
layout.addView(lytId);
var edtId = new android.widget.EditText(CTX);
edtId.setText("56");
edtId.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytId.addView(edtId);
var text = new android.widget.TextView(CTX);
text.setText(":");
lytId.addView(text);
var edtDamage = new android.widget.EditText(CTX);
edtDamage.setText("0");
edtDamage.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
lytId.addView(edtDamage);
var text = new android.widget.TextView(CTX);
text.setText(" ID ");
layout.addView(text);
var edtKeyword = new android.widget.EditText(CTX);
edtKeyword.setHint("");
edtKeyword.setLayoutParams(TEXT_PARAMS);
layout.addView(edtKeyword);
var btnSearch = new android.widget.Button(CTX);
btnSearch.setText("");
btnSearch.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const RESULTS = Item.searchItem(edtKeyword.getText(), true);
txtResult.setText(" " + RESULTS.length + " ");
lytSearch.removeView(lytResults[lytResults.length - 1]);
lytResults.push();
lytResults[lytResults.length - 1] = new
android.widget.LinearLayout(CTX);
lytResults[lytResults.length -
1].setOrientation(lytResults[lytResults.length - 1].VERTICAL);
lytSearch.addView(lytResults[lytResults.length - 1]);
for (var r in RESULTS) {
var button = new android.widget.Button(CTX);
button.setText(RESULTS[r] + "\n" +
Item.getName(RESULTS[r].split(":")[0],
RESULTS[r].split(":")[1]));
button.setOnClickListener(new
android.view.View.OnClickListener({onClick: function (view) {
edtId.setText(view.getText().split("\n")[0].split(":")[0]);
edtDamage.setText(view.getText().split("\n")[0].split(":")
[1]);
}}));
lytResults[lytResults.length - 1].addView(button);
}
}}));
layout.addView(btnSearch);
var lytSearch = new android.widget.LinearLayout(CTX);
lytSearch.setOrientation(lytSearch.VERTICAL);
layout.addView(lytSearch);
var lytResults = [];
lytResults[0] = new android.widget.LinearLayout(CTX);
lytSearch.addView(lytResults[lytResults.length - 1]);
var txtResult = new android.widget.TextView(CTX);
lytSearch.addView(txtResult);
var button = new android.widget.Button(CTX);
button.setText("OK");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
const ID = edtId.getText() + ":" + edtDamage.getText();
if (("," + veinMiner.ores.join() + ",").indexOf("," + ID + ",") == -1)
veinMiner.ores.push(ID);
wndAddOres.dismiss();
wndVm.dismiss();
veinMiner.menu();
}}));
layout.addView(button);
var scroll = new android.widget.ScrollView(CTX);
scroll.addView(layout);
wndAddOres = new android.widget.PopupWindow(scroll, Wnd.WIDTH, Wnd.HEIGHT *
4, true);
wndAddOres.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndAddOres.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH * 2, 0);
}
veinMiner.menu = function () {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var checkbox = new android.widget.CheckBox(CTX);
checkbox.setText("");
checkbox.setTextSize(checkbox.getTextSize());
checkbox.setChecked(veinMiner.veinMiner);
checkbox.setOnCheckedChangeListener(new
android.widget.CompoundButton.OnCheckedChangeListener({onCheckedChanged: function
(view, checked) {
veinMiner.veinMiner = checked;
}}));
layout.addView(checkbox);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var lytMaxMined = new android.widget.LinearLayout(CTX);
layout.addView(lytMaxMined);
var edtMaxMined = new android.widget.EditText(CTX);
edtMaxMined.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
edtMaxMined.setText(String(veinMiner.maxMined));
edtMaxMined.addTextChangedListener(new
android.text.TextWatcher({onTextChanged: function (s, start, before, count) {
veinMiner.maxMined = Number(edtMaxMined.getText());
}}));
lytMaxMined.addView(edtMaxMined);
var text = new android.widget.TextView(CTX);
text.setText("");
lytMaxMined.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
text.setTextSize(text.getTextSize());
layout.addView(text);
var text = new android.widget.TextView(CTX);
text.setText("");
layout.addView(text);
var scroll = new android.widget.ScrollView(CTX);
layout.addView(scroll);
var lytOres = new android.widget.LinearLayout(CTX);
lytOres.setOrientation(lytOres.VERTICAL);
scroll.addView(lytOres);
var button = new android.widget.Button(CTX);
button.setText("+\n");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
veinMiner.add();
}}));
lytOres.addView(button);
for (var o in veinMiner.ores) {
var button = new android.widget.Button(CTX);
button.setText(veinMiner.ores[o] + "\n" +
Item.getName(veinMiner.ores[o].split(":")[0], veinMiner.ores[o].split(":")[1]));
button.setOnLongClickListener(new
android.view.View.OnLongClickListener({onLongClick: function (view) {
for (var o in veinMiner.ores) if (veinMiner.ores[o] ==
(view.getText()).split("\n")[0]) veinMiner.ores.splice(o, 1);
wndVm.dismiss();
veinMiner.menu();
return true;
}}));
lytOres.addView(button);
}
wndVm = new android.widget.PopupWindow(layout, Wnd.WIDTH, Wnd.HEIGHT * 4,
true);
wndVm.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
wndVm.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.RIGHT | android.view.Gravity.TOP, Wnd.WIDTH, 0);
}
function webView(urlWanald) {
var layout = new android.widget.LinearLayout(CTX);
layout.setOrientation(layout.VERTICAL);
var edtUrl = new android.widget.EditText(CTX);
edtUrl.setOnTouchListener(new android.view.View.OnTouchListener({onTouch:
function (view, event) {
if (event.getAction() == event.ACTION_DOWN && edtUrl.getText() == "")
edtUrl.setText(web.getUrl());
return false;
}}));
layout.addView(edtUrl);
var lytCtrl = new android.widget.LinearLayout(CTX);
layout.addView(lytCtrl);
var button = new android.widget.Button(CTX);
button.setText("<");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (web.canGoBack()) web.goBack();
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText(">");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
if (web.canGoForward()) web.goForward();
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
web.reload();
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
web.stopLoading();
}}));
lytCtrl.addView(button);
var button = new android.widget.Button(CTX);
button.setText("");
button.setOnClickListener(new android.view.View.OnClickListener({onClick:
function (view) {
web.loadUrl(edtUrl.getText());
edtUrl.setText("");
}}));
lytCtrl.addView(button);
var web = new android.webkit.WebView(CTX);
web.getSettings().setJavaScriptEnabled(true);
web.setWebChromeClient(new android.webkit.WebChromeClient());
web.setWebViewClient(new android.webkit.WebViewClient());
web.loadUrl(urlWanald);
web.setDownloadListener(new android.webkit.DownloadListener({onDownloadStart:
function (url, userAgent, contentDisposition, mimetype, contentLength) {
CTX.startActivity(new
android.content.Intent(android.content.Intent.ACTION_VIEW,
android.net.Uri.parse(url)));
}}));
layout.addView(web);
var window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 3, Wnd.HEIGHT
* 3, true);
window.setBackgroundDrawable(new
android.graphics.drawable.ColorDrawable(android.graphics.Color.argb(127, 255, 255,
255)));
window.showAtLocation(CTX.getWindow().getDecorView(),
android.view.Gravity.CENTER | android.view.Gravity.CENTER, 0, 0);
}
eval("\x69\x66\x20\x28\x21\x2f\x5e\x28\x6e\x65\x74\x2e\x7a\x68\x75\x6f\x77\x65\x69\
x7a\x68\x61\x6e\x67\x2e\x6d\x63\x70\x65\x6c\x61\x75\x6e\x63\x68\x65\x72\x28\x7c\x2e
\x70\x72\x6f\x29\x7c\x69\x6f\x2e\x6d\x72\x61\x72\x6d\x2e\x6d\x63\x74\x6f\x6f\x6c\x6
2\x6f\x78\x29\x24\x2f\x2e\x74\x65\x73\x74\x28\x43\x54\x58\x2e\x67\x65\x74\x50\x61\x
63\x6b\x61\x67\x65\x4e\x61\x6d\x65\x28\x29\x29\x29\x20\x6a\x61\x76\x61\x2e\x6c\x61\
x6e\x67\x2e\x53\x79\x73\x74\x65\x6d\x2e\x65\x78\x69\x74\x28\x30\x29\x3b");
if (TMI) langEdit();
CTX.runOnUiThread(new java.lang.Runnable({run: function () {
try {
ModPE.loadLeaveGame();
var layout = new android.widget.LinearLayout(CTX);
respawn.window = new android.widget.PopupWindow(layout, Wnd.WIDTH * 2,
Wnd.HEIGHT * 4);
ctrller.load();
ModPE.loadTipMsg();
chat.load();
}
catch (err) {
}
}}));
print("\nusefulCommands: \t" + FOR);
if (MC_VER.substr(0, FOR.length) != FOR) CTX.runOnUiThread(new
java.lang.Runnable({run: function () {
var alert = new android.app.AlertDialog.Builder(CTX);
alert.setTitle(" MC ");
alert.setMessage(" MC (" + MC_VER + ").
usefulCommands , .");
alert.setNegativeButton("", new
android.content.DialogInterface.OnClickListener({onClick: function (dialog, w) {
}}));
alert.show();
}}));
showMnuTxt(false);