123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859 |
- waitfor(1);
- command.clear();
- command.add("gamerule");
- command.add("time");
- command.add("weather");
- command.add("stats");
- command.add("party");
- command.add("game");
- command.add("perm");
- command.add("setrank");
- command.add("tpall");
- command.add("tipp");
- command.add("help");
- //command.add("grow");
- //command.add("plant");
- command.add("start");
- command.add("senditem");
- command.add("invsee");
- command.add("boost");
- command.add("jail");
- command.add("unjail");
- command.add("memory");
- command.add("mem");
- command.add("datatools");
- command.add("dt");
- command.add("gilde");
- command.add("g");
- command.add("guild");
- command.add("pay");
- command.add("group");
- command.add("friend");
- command.add("f");
- command.add("placearte");
- command.add("slots");
- command.add("skill");
- command.add("pinfo"); //Gpvp
- command.add("playerinfo"); //Gpvp
- command.add("bank"); //Gpvp
- command.add("money"); //Gpvp
- command.add("human");
- command.add("h");
- command.add("bug");
- command.add("report");
- //command.add("rocket");
- command.add("ticket");
- command.add("mail");
- //command.add("ass");
- command.add("shop");
- command.add("coord");
- command.add("coords");
- command.add("sign");
- command.add("playtime");
- command.add("head");
- command.add("skull");
- command.add("inv");
- command.add("marco");
- command.add("ping");
- command.add("p");
- command.add("plot");
- command.add("speed");
- command.add("mayo");
- command.add("home");
- command.add("listhomes");
- command.add("sethome");
- command.add("delhome");
- command.add("enderchest");
- command.add("gm");
- command.add("gamemode");
- command.add("tp");
- //command.add("teleport");
- command.add("say");
- command.add("showtables");
- command.add("showfields");
- command.add("droptables");
- command.add("seen");
- command.add("warp");
- command.add("setwarp");
- command.add("delwarp");
- command.add("lastseen");
- command.add("world");
- command.add("color");
- command.add("setspawn");
- command.add("setgamesspawn");
- command.add("spawn");
- command.add("back");
- command.add("tppos");
- command.add("feed");
- command.add("fly");
- command.add("heal");
- command.add("butcher");
- command.add("iteminfo");
- command.add("itemdb");
- command.add("elytra");
- command.add("top");
- command.add("games");
- command.add("copyisland");
- command.add("ci");
- list.new(command_list);
- list.add(command_list, "weather");
- list.add(command_list, "time");
- list.add(command_list, "gamerule");
- list.add(command_list, "stats");
- list.add(command_list, "party");
- list.add(command_list, "game");
- list.add(command_list, "perm");
- list.add(command_list, "setrank");
- list.add(command_list, "tpall");
- list.add(command_list, "tipp");
- list.add(command_list, "script");
- list.add(command_list, "senditem");
- list.add(command_list, "invsee");
- list.add(command_list, "boost");
- list.add(command_list, "jail");
- list.add(command_list, "unjail");
- list.add(command_list, "memory");
- list.add(command_list, "datatools");
- list.add(command_list, "friend");
- list.add(command_list, "playerinfo");
- list.add(command_list, "money");
- list.add(command_list, "human");
- list.add(command_list, "bug");
- list.add(command_list, "report");
- //list.add(command_list, "rocket");
- list.add(command_list, "ticket");
- list.add(command_list, "mail");
- //list.add(command_list, "ass");
- list.add(command_list, "shop");
- list.add(command_list, "sign");
- list.add(command_list, "coords");
- list.add(command_list, "playtime");
- list.add(command_list, "head");
- list.add(command_list, "skull");
- list.add(command_list, "inv");
- list.add(command_list, "marco");
- list.add(command_list, "ping");
- list.add(command_list, "plot");
- list.add(command_list, "speed");
- list.add(command_list, "mayo");
- list.add(command_list, "home");
- list.add(command_list, "listhomes");
- list.add(command_list, "sethome");
- list.add(command_list, "delhome");
- list.add(command_list, "enderchest");
- list.add(command_list, "gamemode");
- list.add(command_list, "teleport");
- list.add(command_list, "say");
- list.add(command_list, "showtables");
- list.add(command_list, "showfields");
- list.add(command_list, "droptables");
- list.add(command_list, "seen");
- list.add(command_list, "warp");
- list.add(command_list, "setwarp");
- list.add(command_list, "delwarp");
- list.add(command_list, "lastseen");
- list.add(command_list, "color");
- list.add(command_list, "setspawn");
- list.add(command_list, "setgamesspawn");
- list.add(command_list, "spawn");
- list.add(command_list, "back");
- list.add(command_list, "tppos");
- list.add(command_list, "feed");
- list.add(command_list, "fly");
- list.add(command_list, "heal");
- list.add(command_list, "iteminfo");
- //list.add(command_list, "grow");
- //list.add(command_list, "plant");
- list.add(command_list, "start");
- list.add(command_list, "games");
- list.add(command_list, "top");
- list.add(command_list, "world");
- list.add(command_list, "elytra");
- list.add(command_list, "copyisland");
- event.load("inv_click");
- event.load("missing_perm");
- event.load("missing_command");
- event.load("custom_command");
- event.load("block_click");
- event.load("portal");
- event.load("player_death");
- event.load("player_login");
- event.load("player_logout");
- map.new(aliasmap);
- map.add(aliasmap, "ci", "copyisland");
- map.add(aliasmap, "mem", "memory");
- map.add(aliasmap, "tp", "teleport");
- map.add(aliasmap, "gm", "gamemode");
- map.add(aliasmap, "p", "plot");
- map.add(aliasmap, "coord", "coords");
- map.add(aliasmap, "h", "human");
- map.add(aliasmap, "dt", "datatools");
- map.add(aliasmap, "pinfo", "playerinfo");
- map.add(aliasmap, "g", "gilde");
- map.add(aliasmap, "guild", "gilde");
- map.add(aliasmap, "f", "friend");
- map.add(aliasmap, "bank", "money");
- map.add(aliasmap, "itemdb", "iteminfo");
- airitem = "minecraft:air";
- wheat_item_type = "minecraft:wheat";
- farmland_item_type = "minecraft:farmland";
- gamesspawn = read.location(ggv("SERVER", "gamesspawn"));
- gpvpworld = world.get("gpvpnew");
- gamesworld = world.get("games");
- set.new(nohomeworld); //Blacklist für Homes in bestimmten Welten
- set.add(nohomeworld, gpvpworld);
- set.add(nohomeworld, gamesworld);
- list.new(sameinvworlds);
- list.add(sameinvworlds, "world");
- list.add(sameinvworlds, "world_nether");
- list.add(sameinvworlds, "world_end");
- list.add(sameinvworlds, "world2");
- list.add(sameinvworlds, "iceworld");
- list.add(sameinvworlds, "survival");
- map.new(plotpos1);
- map.new(plotpos2);
- map.new(invseeids);
- set.new(fields);
- list.new(permgroups);
- list.add(permgroups, "mod");
- list.add(permgroups, "supporter");
- list.add(permgroups, "builder");
- list.add(permgroups, "worldedit");
- list.add(permgroups, "teleport");
- list.add(permgroups, "vip");
- list.add(permgroups, "dev");
- groupsstring = text.concatList(permgroups, "/", 0, list.getSize(permgroups) - 1);
- map.new(permgroupsmap);
- map.add(permgroupsmap, "worldedit", 1);
- map.add(permgroupsmap, "mod", 2);
- map.add(permgroupsmap, "builder", 3);
- map.add(permgroupsmap, "vip", 4);
- map.add(permgroupsmap, "dev", 5);
- map.add(permgroupsmap, "teleport", 6);
- map.add(permgroupsmap, "supporter", 9);
- map.new(permgroupsmap2);
- map.add(permgroupsmap2, 1, "worldedit");
- map.add(permgroupsmap2, 2, "mod");
- map.add(permgroupsmap2, 3, "builder");
- map.add(permgroupsmap2, 4, "vip");
- map.add(permgroupsmap2, 5, "dev");
- map.add(permgroupsmap2, 6, "teleport");
- map.add(permgroupsmap2, 9, "supporter");
- executeOnce = databank.prepare("CREATE TABLE IF NOT EXISTS logoutdata (player_id INT NOT NULL PRIMARY KEY, logouttime BIGINT, FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);");
- databank.workerExecute(executeOnce);
- executeOnce2 = databank.prepare("CREATE TABLE IF NOT EXISTS tipps (tipp_key VARCHAR(20) PRIMARY KEY, tipp_value VARCHAR(255));");
- databank.workerExecute(executeOnce2);
- msg("dev", "§bCommands §rwurden geladen");
- @wait
- wait();
- if(event == "custom_command") {
- //Permission-Check
- command = text.toLowerCase(command);
- origin = map.get(aliasmap, command);
- if(origin != null) {
- command = origin;
- }
- if(!perm.has(player, command)) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- size = list.getSize(args);
- affectedplayer = player;
- affectedname = player_name;
- igoto(command);
- goto("wait");
- }
- if(event == "block_click") {
- if(item.getType(entity.getEquip(player, "hand")) == "minecraft:wooden_sword") {
- player_id = player.getId(player);
- if(action == "left") {
- map.add(plotpos1, player_id, block_loc);
- pos = "Pos1";
- } elseif(action == "right") {
- map.add(plotpos2, player_id, block_loc);
- pos = "Pos2";
- }
- x = loc.getX(block_loc);
- y = loc.getY(block_loc);
- z = loc.getZ(block_loc);
- player.speak(player, "§dPlots", pos, " (", text.number(x), "/", text.number(y), "/", text.number(z), ") gesetzt");
- }
- goto("wait");
- }
- if(event == "player_death") {
- setBackPos(player);
- goto("wait");
- }
- if(event == "portal") {
- checkInvChange(player, entity.getLocation(player)); //Location ist hier egal
- goto("wait");
- }
- if(event == "missing_command") {
- player.speak(sender_name, "§6Commands", "Kein Command ", command_name);
- goto("wait");
- }
- if(event == "missing_perm") {
- player.speak(sender_name, "§6Commands", "Du hast keine Permission für ", command_name);
- goto("wait");
- }
- if(event == "inv_click") {
- //Wenn ein Spieler ein invsee-Inventar offen hat
- inv_id = map.get(invseeids, player.getId(player));
- if(inv_id != null) {
- safeGiveItemPlayer(player, item);
- inv.update(player);
- }
- try {
- //Item übertrage
- text.split(splitlist, " ", inv_name);
- p_name = list.getIndex(splitlist, 2);
- p = read.player(p_name);
- player.removeItem(p, item);
- //Inventar neu laden
- inventar = inv.new("222222222222222222222222222222222222", concat("Inventar von ", p_name));
- map.add(invseeids, player.getId(player), inv.getId(inventar));
- for(slot = 0; slot <= 35; slot++) {
- item = player.getInvSlot(p, slot);
- inv.setItem(inventar, slot, item);
- }
- inv.open(inventar, player);
- } catch {
- player.speak(sender_name, "§6Commands", "Der Spieler ist nicht mehr online");
- }
- goto("wait");
- }
- if(event == "inv_close") {
- map.remove(invseeids, player.getId(player));
- goto("wait");
- }
- goto("wait");
- @setrank
- if(size != 2) {
- player.speak(player, "§6Commands", "§r/setrank <player> <rank>");
- goto("wait");
- }
- player_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(player_name)) {
- player.speak(player, "§6Commands", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- rank = list.getIndex(args, 1);
- setRank(player_name, rank);
- goto("wait");
- @perm
- if(size == 0) {
- @perm_syntax
- player.speak(player, "§zPerms", "§r/perm ...");
- msg(player, "§z - give <player> <perm>");
- msg(player, "§z - remove <player>");
- msg(player, "§z - removeall <player>");
- msg(player, "§z - list <player>");
- msg(player, "§z perm §r", groupsstring);
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "give") {
- if(size != 3) {
- player.speak(player, "§zPerms", "/perm give <player> <perm>");
- } else {
- p_name = list.getIndex(args, 1);
- perm = list.getIndex(args, 2);
- if(!checkIfEverOnline(p_name)) {
- player.speak(player, "§zPerms", "§rDieser Spieler existiert nicht");
- goto("wait");
- }
- if(!isAPermGroup(perm)) {
- player.speak(player, "§zPerms", groupsstring);
- goto("wait");
- }
- p_id = player.getId(player.getUuid(p_name));
- perm_id = map.get(permgroupsmap, perm);
- if(hasPermAlready(p_id, perm_id)) {
- player.speak(player, "§zPerms", "§rPerm bereits hinzugefügt");
- goto("wait");
- }
- givePerm(p_id, perm_id);
- player.speak(player, "§zPerms", "§rDone");
- }
- goto("wait");
- }
- if(arg0 == "remove") {
- if(size != 3) {
- player.speak(player, "§zPerms", "/perm remove <player> <perm>");
- } else {
- p_name = list.getIndex(args, 1);
- perm = list.getIndex(args, 2);
- if(!checkIfEverOnline(p_name)) {
- player.speak(player, "§zPerms", "§rDieser Spieler existiert nicht");
- goto("wait");
- }
- if(!isAPermGroup(perm)) {
- player.speak(player, "§zPerms", groupsstring);
- goto("wait");
- }
- p_id = player.getId(player.getUuid(p_name));
- //Wenn marvinius eine Permission entfernt wird, wird dies blockiert, ausgenommen er tut dies selbst
- player_id = player.getId(player);
- if(player_id != 2) {
- if(p_id == 2) {
- msg(player, "§cSorry §s¯\_(ツ)_/¯");
- goto("wait");
- }
- }
- perm_id = map.get(permgroupsmap, perm);
- removePerm(p_id, perm_id);
- player.speak(player, "§zPerms", "§rDone");
- }
- goto("wait");
- }
- if(arg0 == "removeall") {
- if(size != 2) {
- player.speak(player, "§zPerms", "/perm removeall <player>");
- } else {
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- player.speak(player, "§zPerms", "§rDieser Spieler existiert nicht");
- goto("wait");
- }
- //Wenn marvinius Permissions entfernt werden, wird dies blockiert, ausgenommen er tut dies selbst
- p_id = player.getId(player.getUuid(p_name));
- player_id = player.getId(player);
- if(player_id != 2) {
- if(p_id == 2) {
- msg(player, "§cSorry §s¯\_(ツ)_/¯");
- goto("wait");
- }
- }
- removeAllPerms(p_id);
- player.speak(player, "§zPerms", "§rDone");
- }
- goto("wait");
- }
- if(arg0 == "list") {
- if(size != 2) {
- player.speak(player, "§zPerms", "/perm list <player>");
- } else {
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- player.speak(player, "§zPerms", "§rDieser Spieler existiert nicht");
- goto("wait");
- }
- p_id = player.getId(player.getUuid(p_name));
- permslist = getPermsFromPlayer(p_id);
- listsize = list.getSize(permslist);
- if(listsize == 0) {
- player.speak(player, "§zPerms", "§rKeine Permissions vorhanden");
- } else {
- player.speak(player, "§zPerms", p_name);
- for(i = 0; i < listsize; i++) {
- msg(player, " - ", map.get(permgroupsmap2, list.getIndex(permslist, i)));
- }
- }
- }
- goto("wait");
- }
- goto("perm_syntax");
- @tpall
- online_list = players.toList();
- list.remove(online_list, player);
- tpto = entity.getLocation(player);
- for(i = 0; i <= list.getSize(online_list) - 1; i++) {
- p = list.getIndex(online_list, i);
- setBackPos(p);
- entity.teleport(p, tpto);
- }
- player.speak(player, "§6Commands", text.number(list.getSize(online_list)), " Spieler wurden zu dir teleportiert.");
- goto("wait");
- @weather
- if(size == 0) {
- @weather_syntax
- player.speak(player, "§eWeather", "§r/weather ...");
- msg(player, "§e - clear [duration]");
- msg(player, "§e - rain [duration]");
- msg(player, "§e - thunder [duration]");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "clear" || arg0 == "rain" || arg0 == "thunder") {
- if(size == 2) {
- duration = list.getIndex(args, 1);
- if(!isDouble(duration)) {
- player.speak(player, "§6Commands", "§rZahl erwartet");
- goto("wait");
- }
- if(duration < 0) {
- player.speak(player, "§6Commands", "§rPositive Zahl erwartet");
- goto("wait");
- }
- } else {
- duration = 650;
- }
- world = loc.getWorld(entity.getLocation(player));
- if(arg0 == "clear") {
- if(size > 2) {
- player.speak(player, "§6Commands", "§r/weather clear [duration]");
- goto("wait");
- }
- world.clearWeather(world, duration);
- player.speak(player, "§6Commands", "§rWetter wurde auf Klar gestellt");
- goto("wait");
- }
- if(arg0 == "rain") {
- if(size > 2) {
- player.speak(player, "§6Commands", "§r/weather rain [duration]");
- goto("wait");
- }
- world.setRain(world, duration);
- player.speak(player, "§6Commands", "§rWetter wurde auf Regen gestellt");
- goto("wait");
- }
- if(arg0 == "thunder") {
- if(size > 2) {
- player.speak(player, "§6Commands", "§r/weather thunder [duration]");
- goto("wait");
- }
- world.setThunder(world, duration);
- player.speak(player, "§6Commands", "§rWetter wurde auf Gewitter gestellt");
- goto("wait");
- }
- goto("wait");
- }
- goto("weather_syntax");
- @time
- if(size == 0) {
- @time_syntax
- player.speak(player, "§eTime", "§r/time ...");
- msg(player, "§e - set <day / noon / night / midnight>");
- msg(player, "§e - add <time>");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "set") {
- if(size != 2) {
- player.speak(player, "§6Commands", "§r/time set <day / noon / night / midnight>");
- goto("wait");
- }
- text = list.getIndex(args, 1);
- if(text == "day") {
- newtime = 1000;
- } elseif(text == "noon") {
- newtime = 6000;
- } elseif(text == "night") {
- newtime = 13000;
- } elseif(text == "midnight") {
- newtime = 18000;
- } else {
- player.speak(player, "§6Commands", "§r/time set <day / noon / night / midnight>");
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(player));
- world.setTime(world, newtime);
- player.speak(player, "§6Commands", "§rZeit wurde auf ", text.number(newtime), " gesetzt");
- goto("wait");
- }
- if(arg0 == "add") {
- if(size != 2) {
- player.speak(player, "§6Commands", "§r/time add <time>");
- goto("wait");
- }
- addTime = list.getIndex(args, 1);
- if(!isDouble(addTime)) {
- player.speak(player, "§6Commands", "§rZahl erwartet");
- goto("wait");
- }
- if(addTime < 0) {
- player.speak(player, "§6Commands", "§rPositive Zahl erwartet");
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(player));
- newtime = world.getTime(world) + addTime;
- while(newtime >= 24000) {
- newtime -= 24000;
- }
- world.setTime(world, newtime);
- player.speak(player, "§6Commands", "§rZeit wurde auf ", text.number(newtime), " gesetzt");
- goto("wait");
- }
- goto("time_syntax");
- @gamerule
- world = loc.getWorld(entity.getLocation(player));
- if(size == 0) {
- player.speak(player, "§6Commands", "§r/gamerule <gamerule> [value]");
- goto("wait");
- }
- gamerule = list.getIndex(args, 0);
- if(size == 1) {
- player.speak(player, "§6Commands", gamerule, " ", world.getGamerule(world, gamerule));
- goto("wait");
- }
- if(size == 2) {
- input = list.getIndex(args, 1);
- try {
- world.setGamerule(world, gamerule, input);
- if(world.getGamerule(world, gamerule) == null) {
- player.speak(player, "§6Commands", "Falsche Eingabe");
- } else {
- player.speak(player, "§6Commands", gamerule, " auf ", input, " gesetzt");
- }
- } catch {
- player.speak(player, "§6Commands", "Falsche Eingabe");
- }
- goto("wait");
- }
- goto("wait");
- @tipp
- if(size == 0) {
- player.speak(player, "§eTipps", "§r/tipp ...");
- msg(player, "§e - list §rListet alle Tipps auf");
- msg(player, "§e - add <name> <text> §rFügt einen Tipp hinzu");
- msg(player, "§e - remove <name> §rEntfernt einen Tipp");
- msg(player, "§e - <name> [player] §rSendet einen Tipp");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "list") {
- msg(player, "§r--==§eTipps§r==--");
- counter = 0;
- getTippsListStatement = databank.prepare("SELECT * FROM tipps;");
- result = databank.execute(getTippsListStatement);
- while(databank.next(result)) {
- tipp_key = databank.getString(result, 1);
- tipp_value = databank.getString(result, 2);
- msg(player, concat("§e", tipp_key, "§r : ", tipp_value));
- counter++;
- }
- databank.close(result);
- databank.close(getTippsListStatement);
- if(counter == 0) {
- player.speak(player, "§eTipps", "§rIm Moment stehen keine Tipps zur Verfügung.");
- }
- goto("wait");
- }
- if(arg0 == "add") {
- if(size < 3) {
- player.speak(player, "§6Commands", "§r/tipp add <name> <text>");
- goto("wait");
- }
- tipp_key = list.getIndex(args, 1);
- tipp_value = concatList(args, " ", 2, list.getSize(args) - 1);
- registerTipp(tipp_key, tipp_value);
- player.speak(player, "§eTipps", "§rDer Tipp wurde hinzugefügt.");
- goto("wait");
- }
- if(arg0 == "remove") {
- if(size != 2) {
- player.speak(player, "§6Commands", "§r/tipp remove <name>");
- goto("wait");
- }
- tipp_key = list.getIndex(args, 1);
- removeTippStatement = databank.prepare("DELETE FROM tipps WHERE tipp_key = ?;");
- databank.setInt(removeTippStatement, 1, tipp_key);
- databank.workerExecute(removeTippStatement);
- player.speak(player, "§eTipps", "§rDer Tipp wurde entfernt.");
- goto("wait");
- }
- tipp_key = arg0;
- tipp_value = getTippValue(tipp_key);
- if(tipp_value == null) {
- player.speak(player, "§eTipps", "§rDer Tipp existiert nicht.");
- goto("wait");
- }
- if(size == 1) {
- player.speak("online", "§eTipps", tipp_value);
- } else {
- p_name = list.getIndex(args, 1);
- if(!isOnline(p_name)) {
- player.speak(player, "§eTipps", "§rDieser Spieler ist nicht online");
- goto("wait");
- }
- player.speak(p_name, "§eTipps", tipp_value);
- player.speak(player, "§eTipps", concat("§rDer Tipp wurde §7", p_name, "§r gesendet."));
- }
- goto("wait");
- @help
- msg(player, "An Hilfe wird noch gearbeitet. Handelt es sich um einen realen Notfall, wähle 112 (Euronotruf).");
- //Command-Gruppen einbauen: allgemein, gildenpvp, worldedit,
- //Alle Befehle durchgehen
- for(i = 0; i <= list.getSize(command_list) - 1; i++) {
- list.sort(command_list);
- command = list.getIndex(command_list, i);
- //Auf Permission überprüfen
- if(perm.has(player, command)) {
- msg(player, " /", command);
- }
- }
- goto("wait");
- @cli
- if(size != 1) {
- player.speak(player, "§6Commands", "§r/cli <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- player.speak(player, "§6Commands", "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- player.speak(player, "§6Commands", "§rPositive Zahl erwartet");
- goto("wait");
- }
- entity.removeAll("net.minecraft.entity.item.EntityItem", entity.getLocation(player), radius);
- player.speak(player, "§6Commands", "§rItems entfernt");
- goto("wait");
- @plant
- if(size != 1) {
- player.speak(player, "§6Commands", "§r/plant <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- player.speak(player, "§6Commands", "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- player.speak(player, "§6Commands", "§rPositive Zahl erwartet");
- goto("wait");
- }
- player_loc = entity.getLocation(player);
- world = world.get(loc.getCoord(player_loc, "w"));
- bx = loc.getCoord(player_loc, "bx");
- by = loc.getCoord(player_loc, "by");
- bz = loc.getCoord(player_loc, "bz");
- center_loc = loc.new(world, bx, by, bz);
- list.new(loc_list);
- for(x = radius * -1; x <= radius; x++) {
- for(z = radius * -1; z <= radius; z++) {
- for(y = radius * -1; y <= radius; y++) {
- //length = math.root(math.abs(math.root(math.abs(math.pow(x, 2)) + math.pow(math.abs(math.pow(z, 2)), 2), 2) + math.abs(math.pow(y, 2))), 2);
- length = math.hypot(x, math.hypot(y, z));
- if(length <= radius) {
- mod_loc = loc.mod(center_loc, x, y, z);
- if(block.getType(mod_loc) == farmland_item_type) {
- list.add(loc_list, mod_loc);
- }
- }
- }
- }
- }
- for(i = 0; i <= list.getSize(loc_list) - 1; i++) {
- loc = loc.mod(list.getIndex(loc_list, i), 0, 1, 0);
- block.set2(loc, "minecraft:wheat", 7);
- }
- player.speak(player, "§6Commands", "§rFeld bepflanzt");
- goto("wait");
- @grow
- if(size != 1) {
- player.speak(player, "§6Commands", "§r/grow <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- player.speak(player, "§6Commands", "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- player.speak(player, "§6Commands", "§rPositive Zahl erwartet");
- goto("wait");
- }
- player_loc = entity.getLocation(player);
- world = world.get(loc.getCoord(player_loc, "w"));
- bx = loc.getCoord(player_loc, "bx");
- by = loc.getCoord(player_loc, "by");
- bz = loc.getCoord(player_loc, "bz");
- center_loc = loc.new(world, bx, by, bz);
- list.new(loc_list);
- for(x = radius * -1; x <= radius; x++) {
- for(z = radius * -1; z <= radius; z++) {
- for(y = radius * -1; y <= radius; y++) {
- //length = math.root(math.abs(math.root(math.abs(x^2) + math.abs(z^2), 2)^2 + math.abs(y^2)), 2);
- length = math.hypot(x, math.hypot(y, z));
- if(length <= radius) {
- mod_loc = loc.mod(center_loc, x, y, z);
- if(block.getType(mod_loc) == wheat_item_type) {
- list.add(loc_list, mod_loc);
- }
- }
- }
- }
- }
- for(i = 0; i <= list.getSize(loc_list) - 1; i++) {
- loc = list.getIndex(loc_list, i);
- block.set2(loc, "minecraft:wheat", 7);
- }
- player.speak(player, "§6Commands", "§rFeld bepflanzt");
- goto("wait");
- @start
- if(size != 1) {
- @starthelp
- player.speak(player, "§6Commands", "/start ...");
- msg(player, " - chat");
- msg(player, " - commands");
- msg(player, " - friends");
- msg(player, " - games");
- msg(player, " - gilden");
- msg(player, " - mails");
- msg(player, " - perms");
- msg(player, " - skills");
- msg(player, " - stats");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "commands") {
- script = script.get("scripts/system/commands.txt");
- script.start("system/commands", "utils/u_general", "utils/u_ranks", "utils/u_plots", "utils/u_perms");
- script.term(script);
- }
- elseif(arg0 == "games") {
- try {
- script.term(script.get("scripts/global/gamecenter.txt"));
- } catch {
- nothing();
- }
- script.start("global/gamecenter", "minigames/gamescore");
- }
- elseif(arg0 == "friends") {
- try {
- script.term(script.get("scripts/global/friends.txt"));
- } catch {
- nothing();
- }
- script.start("global/friends", "utils/u_general", "utils/u_mail", "utils/u_friend");
- }
- elseif(arg0 == "chat") {
- try {
- script.term(script.get("scripts/system/chat.txt"));
- } catch {
- nothing();
- }
- script.start("system/chat", "utils/u_ranks");
- }
- elseif(arg0 == "perms") {
- script.start("system/perms", "utils/u_perms");
- }
- elseif(arg0 == "stats") {
- try {
- script.term(script.get("scripts/global/ranklist.txt"));
- } catch {
- nothing();
- }
- script.start("global/ranklist", "minigames/gamescore");
- }
- elseif(arg0 == "skills") {
- try {
- script.term(script.get("scripts/system/skills.txt"));
- } catch {
- nothing();
- }
- script.start("system/skills", "utils/u_skills", "utils/u_jobs", "utils/u_gpvp", "utils/u_general", "utils/u_plots");
- }
- elseif(arg0 == "mails") {
- try {
- script.term(script.get("scripts/global/mailsystem.txt"));
- } catch {
- nothing();
- }
- script.start("global/mailsystem", "utils/u_general", "utils/u_mail");
- }
- elseif(arg0 == "gilden") {
- try {
- script.term(script.get("scripts/gildenpvp/gpvp.txt"));
- } catch {
- nothing();
- }
- script.start("gildenpvp/gpvp", "utils/u_gpvp", "utils/u_general", "utils/u_mail", "utils/u_friend", "utils/u_jobs", "utils/u_plots");
- } else {
- goto("starthelp");
- }
- goto("wait");
- @senditem
- if(size != 1) {
- player.speak(player, "§6Commands", "/senditem <player>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§6Commands", "§rDu musst ein Item in der Hand halten");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- player.speak(player, "§6Commands", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- safeGiveItemPlayer(p, item);
- player.removeItem(player, item);
- goto("wait");
- @iteminfo
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§6Commands", "§rDu musst ein Item in der Hand halten");
- goto("wait");
- }
- msg(player, text.copyText("§cKlick hier zum Kopieren", text.item(item)));
- goto("wait");
- @top
- player_loc = entity.getLocation(player);
- y = 255;
- while(block.getType(player_loc) == airitem) {
- loc.setY(player_loc, y);
- y -= 1;
- }
- entity.teleport(player, loc.mod(player_loc, 0, 1, 0));
- goto("wait");
- @games
- world = loc.getWorld(gamesspawn);
- if(world == null) {
- player.speak(player, "§6Commands", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- setBackPos(player);
- entity.teleport(player, gamesspawn);
- goto("wait");
- @bug
- player.speak(player, "§6Commands", "§rBug gefunden? Melde ihn an marvinius mit §b/mail marvinius <nachricht>");
- goto("wait");
-
- @report
- player.speak(player, "§6Commands", "§rDu möchtest jemanden melden?");
- msg(player, " - §b/ticket <nachricht>");
- msg(player, " - §b/mail marvinius <nachricht>");
- goto("wait");
- @playtime
- if(size > 1) {
- player.speak(player, "§6Commands", "/playtime [player]");
- goto("wait");
- }
- if(size == 0) {
- p_id = player.getId(player);
- pname = player_name;
- } else {
- pname = list.getIndex(args, 0);
- p_uuid = player.getUuid(pname);
- if(p_uuid == null) {
- player.speak(player, "§dPlots", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- p_id = player.getId(p_uuid);
- }
- //Online seit
- since_minutes = 0;
- if(read.player(pname) != null) {
- onlineSinceStatement = databank.prepare("SELECT join_time FROM playtime WHERE player_id = ? AND leave_time IS NULL;");
- databank.setInt(onlineSinceStatement, 1, p_id);
- result = databank.execute(onlineSinceStatement);
- while(databank.next(result)) {
- since_minutes = (time.getMillis() - databank.getLong(result, 1)) / 1000 / 60;
- since_hours = math.roundDown(since_minutes / 60);
- mod_minutes = since_minutes % 60;
- }
- databank.close(result);
- databank.close(onlineSinceStatement);
- msg(player, concat("§aOnline seit: §r", text.number(since_hours), " Stunden ", text.number(mod_minutes), " Minuten"));
- } else {
- msg(player, "§6Status: ", "§cOffline");
- }
- //Spielzeit gesamt
- playtimeStatement = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime WHERE player_id = ?;");
- databank.setInt(playtimeStatement, 1, p_id);
- result = databank.execute(playtimeStatement);
- while(databank.next(result)) {
- minutes = databank.getInt(result, 1) / 1000 / 60 + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, concat("§6Spielzeit gesamt: §r", hours, " Stunden ", minutes, " Minuten"));
- }
- databank.close(result);
- databank.close(playtimeStatement);
- //Spielzeit heute
- time.new(calendar, time.getMillis());
- time.nextDay(calendar);
- midnight = time.from(calendar) - 86400000; //24 Stunden von nächstem Mitternacht abziehen
- sincePlaytimeStatement = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime WHERE player_id = ? AND join_time > ?;");
- databank.setInt(sincePlaytimeStatement, 1, p_id);
- databank.setLong(sincePlaytimeStatement, 2, midnight);
- result = databank.execute(sincePlaytimeStatement);
- while(databank.next(result)) {
- minutes = databank.getInt(result, 1) / 1000 / 60 + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, concat("§6Spielzeit heute: §r", hours, " Stunden ", minutes, " Minuten"));
- }
- databank.close(result);
- databank.close(sincePlaytimeStatement);
- //Spielzeit 30 Tage
- oneMonthAgo = time.getMillis() - 2592000000; //30 Tage von jetzt an
- sincePlaytimeStatement = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime WHERE player_id = ? AND join_time > ?;");
- databank.setInt(sincePlaytimeStatement, 1, p_id);
- databank.setLong(sincePlaytimeStatement, 2, oneMonthAgo);
- result = databank.execute(sincePlaytimeStatement);
- while(databank.next(result)) {
- minutes = databank.getInt(result, 1) / 1000 / 60 + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, concat("§6Spielzeit 30 Tage: §r", hours, " Stunden ", minutes, " Minuten"));
- }
- databank.close(result);
- databank.close(sincePlaytimeStatement);
- goto("wait");
- @datatools
- if(size == 0) {
- player.speak(player, "§vDataTools", "§r/datatools ...");
- msg(player, "§v - print-nbt ", "Prints NBT of an entity");
- msg(player, "§v - flag <flag> ", "Setzt eine Flag zu einem ItemStack");
- msg(player, "§v - attribute <attribut> <slot> <double> <op> ", "Fügt ein Attribut zu einem ItemStack hinzu");
- msg(player, "§v - hide-entity ", "Macht ein Entity unsichtbar");
- msg(player, "§v - show-entity ", "Macht ein Entity sichtbar");
- msg(player, "§v - name-entity <name> ", "Setzt den Namen des Entities");
- msg(player, "§v - name-item <name> ", "Setzt den Itemnamen");
- msg(player, "§v - lore-item <line> <lore> ", "Setzt die Itemlore");
- msg(player, "§v - magic <def> ", "Setzt die magische Resistenz von Rüstung");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "print-nbt") {
- templist = entity.near(player, 3);
- if(list.getSize(templist) == 0) {
- player.speak(player, "§vDataTools", "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- msg(player, getSpacer());
- player.speak(player, "§vDataTools", "NBT-Daten ", entity.getName(entity));
- nbt = text.entity(entity);
- nbt = text.replace(nbt, "}", "§c} §r");
- nbt = text.replace(nbt, "{", "§c{ §r");
- nbt = text.replace(nbt, "]", "§c] §r");
- nbt = text.replace(nbt, "[", "§c] §r");
- nbt = text.replace(nbt, ",", "§6} §r");
- nbt = text.replace(nbt, ":", "§8:");
- nbt = text.replace(nbt, "0", "§50");
- nbt = text.replace(nbt, "1", "§51");
- nbt = text.replace(nbt, "2", "§52");
- nbt = text.replace(nbt, "3", "§53");
- nbt = text.replace(nbt, "4", "§54");
- nbt = text.replace(nbt, "5", "§55");
- nbt = text.replace(nbt, "6", "§56");
- nbt = text.replace(nbt, "7", "§57");
- nbt = text.replace(nbt, "8", "§58");
- nbt = text.replace(nbt, "9", "§59");
- msg(player, nbt);
- /*nbt = text.replace(nbt, "{", "Ɛ");
- nbt = text.replace(nbt, "}", "Ƒ");
- nbt = text.replace(nbt, "[", "ƒ");
- nbt = text.replace(nbt, "]", "Ɠ");
- nbt = text.replace(nbt, "(", "ƕ");
- nbt = text.replace(nbt, ")", "Ɩ");
- nbt = text.replace(nbt, " ", "%20");
- nbt = text.replace(nbt, "\", "Ɩ");
- //nbt = text.replace(nbt, "", "Ɩ");
- nbt = text.replace(nbt, "\\", "");*/
- msg(player, text.copytext("Hier drücken zum Kopieren.", concat("http://minecraft.hammerle.me/showtext.php/?text=", nbt)));
- goto("wait");
- }
- if(arg0 == "flag") {
- if(size < 2) {
- player.speak(player, "§vDataTools", "§r/datatools flag <flag>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§vDataTools", "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- flag = text.concatList(args, " ", 1, list.getSize(args) - 1);
- try {
- item.addFlag(item, flag);
- player.speak(player, "§vDataTools", "Flag hinzugefügt.");
- } catch {
- player.speak(player, "§vDataTools", "Keine gültige Flag.");
- msg("dev", "HIDE_ENCHANTS, HIDE_ATTRIBUTES, HIDE_UNBREAKABLE, HIDE_DESTROYS, HIDE_PLACED_ON, HIDE_POTION_EFFECTS");
- }
- goto("wait");
- }
- if(arg0 == "attribute") {
- if(size < 2) {
- player.speak(player, "§vDataTools", "§r/datatools attribute <attribut> <slot> <double> <op>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§vDataTools", "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- double = list.getIndex(args, 3);
- if(!isDouble(double)) {
- player.speak(player, "§vDataTools", "Zahl erwartet.");
- goto("wait");
- }
- if(double < 0) {
- player.speak(player, "§vDataTools", "Positive Zahl erwartet.");
- goto("wait");
- }
- attribut = list.getIndex(args, 1);
- slot = list.getIndex(args, 2);
- operation = list.getIndex(args, 4);
- try {
- item.addAttribute(item, attribut, slot, double, operation);
- player.speak(player, "§vDatatools", "Das Attribut wurde hinzugefügt.");
- } catch {
- player.speak(player, "§vDataTools", "Ein angegebener Enum existiert nicht.");
- msg("dev", "ARMOR, ARMOR_TOUGHNESS, ATTACK_DAMAGE, KNOCKBACK_RESISTANCE, MAX_HEALTH, MOVEMENT_SPEED, ATTACK_SPEED, LUCK");
- msg("dev", "mainhand, offhand, head, chest, legs, feet");
- msg("dev", "ADD, MUL, MUL_CHANGED");
- }
- goto("wait");
- }
- if(arg0 == "magic") {
- if(size < 2) {
- player.speak(player, "§vDataTools", "§r/datatools magic <def>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§vDataTools", "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- double = list.getIndex(args, 1);
- if(!isDouble(double)) {
- player.speak(player, "§vDataTools", "Zahl erwartet.");
- goto("wait");
- }
- if(double < 0) {
- player.speak(player, "§vDataTools", "Positive Zahl erwartet.");
- goto("wait");
- }
- try {
- item.setMagic(item, double);
- player.speak(player, "§vDataTools", "Magische Verteidigung hinzugefügt.");
- } catch {
- player.speak(player, "§vDataTools", "Das Item muss eine Rüstung sein.");
- }
- goto("wait");
- }
- if(arg0 == "name-item") {
- if(size < 2) {
- player.speak(player, "§vDataTools", "§r/datatools name-item <name>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§vDataTools", "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- name = text.concatList(args, " ", 1, list.getSize(args) - 1);
- item.setName(item, name);
- player.speak(player, "§vDataTools", "Das Item trägt nun den Namen ", name, "§r.");
- goto("wait");
- }
- if(arg0 == "lore-item") {
- if(size < 3) {
- player.speak(player, "§vDataTools", "§r/datatools lore-item <line> <lore>");
- goto("wait");
- }
- item = entity.getEquip(player, "hand");
- if(item.getType(item) == airitem) {
- player.speak(player, "§vDataTools", "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- line = list.getIndex(args, 1);
- if(!isDouble(line)) {
- player.speak(player, "§vDataTools", "Zahl erwartet.");
- goto("wait");
- }
- if(line < 0) {
- player.speak(player, "§vDataTools", "Positive Zahl erwartet.");
- goto("wait");
- }
- lore = text.concatList(args, " ", 2, list.getSize(args) - 1);
- item.addLore(item, line, lore);
- player.speak(player, "§vDataTools", "Die neue Lore wurde hinzugefügt.");
- goto("wait");
- }
- if(arg0 == "name-entity") {
- if(size < 2) {
- player.speak(player, "§vDataTools", "§r/datatools name-entity <name>");
- goto("wait");
- }
- templist = entity.near(player, 3);
- if(list.getSize(templist) == 0) {
- player.speak(player, "§vDataTools", "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- name = text.concatList(args, " ", 1, list.getSize(args) - 1);
- name = text.replace(name, "&", "§");
- entity.setName(entity, name);
- player.speak(player, "§vDataTools", "Das Entity trägt nun den Namen ", name, "§r.");
- goto("wait");
- }
- if(arg0 == "hide-entity") {
- if(size != 1) {
- player.speak(player, "§vDataTools", "§r/datatools hide-entity");
- goto("wait");
- }
- templist = entity.near(player, 3);
- if(list.getSize(templist) == 0) {
- player.speak(player, "§vDataTools", "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- entity.setInvisible(entity, true);
- player.speak(player, "§vDataTools", "Das Entity ist nun unsichtbar.");
- goto("wait");
- }
- if(arg0 == "show-entity") {
- if(size != 1) {
- player.speak(player, "§vDataTools", "§r/datatools show-entity");
- goto("wait");
- }
- templist = entity.near(player, 3);
- if(list.getSize(templist) == 0) {
- player.speak(player, "§vDataTools", "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- entity.setInvisible(entity, false);
- player.speak(player, "§vDataTools", "Das Entity ist nun sichtbar.");
- goto("wait");
- }
- goto("wait");
- @human
- if(size == 0) {
- player.speak(player, "§vDataTools §r/human ...");
- msg(player, concat("§v - spawn §rSpawnt einen Human"));
- msg(player, concat("§v - set <name> §rSetzt den Skin"));
- msg(player, concat("§v - kill §rTötet einen Human"));
- msg(player, concat("§v - size <scale> §rSetzt die Größenskalierung"));
- msg(player, concat("§v - steve §rSchaltet auf Steve Skin"));
- msg(player, concat("§v - alex §rSchaltet auf Alex Skin"));
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "spawn") {
- human.spawn(entity.getLocation(player));
- player.speak(player, "§vDataTools", "Human gespawnt.");
- goto("wait");
- }
- templist = entity.near(player, 3);
- if(list.getSize(templist) == 0) {
- player.speak(player, "§vDataTools", "Zu weit weg vom Human.");
- goto("wait");
- }
- human = list.getIndex(templist, 0);
- if(arg0 == "set") {
- arg1 = list.getIndex(args, 1);
- uuid = player.getUuid(arg1);
- if(uuid == null) {
- uuid = arg1;
- }
- human.setSkin(human, uuid);
- player.speak(player, "§vDataTools", "Skin gesetzt.");
- goto("wait");
- }
- if(arg0 == "kill") {
- entity.remove(human);
- player.speak(player, "§vDataTools", "Human getötet.");
- goto("wait");
- }
- if(arg0 == "size") {
- scale = list.getIndex(args, 1);
- if(!isDouble(scale)) {
- player.speak(player, "§vDataTools", "Zahl erwartet.");
- goto("wait");
- }
- human.setScale(human, scale);
- player.speak(player, "§vDataTools", "Größe verändert.");
- goto("wait");
- }
- if(arg0 == "steve") {
- human.setSlim(human, false);
- player.speak(player, "§vDataTools", "Skin-Format geändert.");
- goto("wait");
- }
- if(arg0 == "alex") {
- human.setSlim(human, true);
- player.speak(player, "§vDataTools", "Skin-Format geändert.");
- goto("wait");
- }
- goto("wait");
- @ass
- if(size != 2) {
- player.speak(player, "§6Commands", "§r/ass ...");
- msg(player, " - set <name>");
- msg(player, " - remove <radius>");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "set") {
- name = text.replace(text.concatList(args, " ", 1, size - 1), "&", "§");
- read.spawnmob(entity.getLocation(player), concat("{id:'minecraft:armor_stand',CustomName:'", name, "',CustomNameVisible:true,Invisible:true,NoGravity:true}"));
- goto("wait");
- }
- if(arg0 == "remove") {
- radius = list.getIndex(args, 1);
- if(!isDouble(radius)) {
- player.speak(player, "§6Commands", "Zahl erwartet.");
- goto("wait");
- }
- if(radius < 0 || radius > 5) {
- player.speak(player, "§6Commands", "§rRadius: 0-5");
- goto("wait");
- }
- entity.removeAll("net.minecraft.entity.item.EntityArmorStand", entity.getLocation(player), radius);
- player.speak(player, "§6Commands", "§rArmorStandSigns entfernt");
- }
- goto("wait");
- @coords
- target = player.getTarget(player, 5, false, false);
- targettype = block.getType(target);
- if(targettype == airitem) {
- player.speak(player, "§6Commands", "Du musst auf einen Block gerichtet sein.");
- goto("wait");
- }
- msg(player, getSpacer());
- x = text.Number(loc.getX(target));
- y = text.Number(loc.getY(target));
- z = text.Number(loc.getZ(target));
- msg(player, "§6Welt: §r", world.getName(loc.getWorld(target)));
- msg(player, "§6Koordinaten: §r", x, " / ", y, " / ", z);
- msg(player, "§6Block: §r", targettype);
- goto("wait");
- @sign
- if(size == 0) {
- player.speak(player, "§6Commands", "/sign <1-4> [text]");
- goto("wait");
- }
- target = player.getTarget(player, 5, false, false);
- targettype = block.getType(target);
- if(!(targettype == "minecraft:oak_sign" || targettype == "minecraft:oak_wall_sign" || targettype == "minecraft:spruce_sign" || targettype == "minecraft:spruce_wall_sign" || targettype == "minecraft:birch_sign" || targettype == "minecraft:birch_wall_sign" || targettype == "minecraft:jungle_sign" || targettype == "minecraft:jungle_wall_sign" || targettype == "minecraft:acacia_sign" || targettype == "minecraft:acacia_wall_sign" || targettype == "minecraft:dark_oak_sign" || targettype == "minecraft:dark_oak_wall_sign")) {
- player.speak(player, "§6Commands", "Du bist nicht auf ein Schild gerichtet.");
- goto("wait");
- }
- line = list.getIndex(args, 0);
- if(!isDouble(line)) {
- player.speak(player, "§6Commands", "Zahl erwartet");
- goto("wait");
- }
- if(!(line == 1 || line == 2 || line == 3 || line == 4)) {
- player.speak(player, "§6Commands", "Du musst eine Zahl von 1 bis 4 eingeben.");
- goto("wait");
- }
- if(size == 1) {
- text = "";
- } else {
- text = text.concatList(args, " ", 1, size - 1);
- }
- block.setSign(target, line - 1, text);
- goto("wait");
- @skull
- if(size != 1) {
- player.speak(player, "§6Commands", "/skull <player>");
- goto("wait");
- }
- name = list.getIndex(args, 0);
- uuid = player.getUuid(name);
- if(uuid == null) {
- player.speak(player, "§6Commands", "Dieser Spieler war noch nie online.");
- goto("wait");
- }
- player.giveItem(player, player.getHead(uuid));
- goto("wait");
- @head
- if(size == 0) {
- player.speak(player, "§6Commands", "§r/head <name>");
- goto("wait");
- }
- if(size == 1) {
- kopfname = list.getIndex(args, 0);
- player.giveItem(player, read.item(concat("{id:'minecraft:skull',Count:1b,tag:{SkullOwner:'", kopfname, "'},Damage:3s}")));
- }
- goto("wait");
- @inv
- if(size != 1) {
- player.speak(player, "§6Commands", "/inv ignore");
- goto("wait");
- }
- if(!perm.has(player, "inv.ignore")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- ignore = ggv(player, "invignore");
- if(ignore == null) {
- ignore = false;
- }
- if(!ignore) {
- sgv(player, "invignore", true);
- player.speak(player, "§6Commands", "Bei Weltwechsel behältst du dein Inventar.");
- } else {
- sgv(player, "invignore", false);
- player.speak(player, "§6Commands", "Bei Weltwechsel verändert sich dein Inventar.");
- }
- goto("wait");
- @marco
- msg(player, "polo");
- goto("wait");
- @ping
- msg(player, "pong");
- goto("wait");
- @elytra
- entity.setEquip(player, "chest", read.item("minecraft:elytra"));
- player.speak(player, "§6Commands", "§rElytra? Done");
- goto("wait");
- @rocket
- player.giveItem(player, read.item("{id:'minecraft:fireworks',Count:3b,tag:{Fireworks:{Flight:3b}},Damage:0s}"));
- goto("wait");
- @plot
- if(size == 0) {
- @plothelp
- player.speak(player, "§dPlots", "/plot ...");
- msg(player, "§d - info §rGibt Infos über die aktuelle Position");
- msg(player, "§d - pos1/pos2 §rMarkiert Eckpunkte");
- if(perm.has(player, "plot.create")) {
- msg(player, "§d - create §rErstellt ein Plot (0 - 255)");
- msg(player, "§d - create3D §rErstellt ein Plot");
- }
- msg(player, "§d - remove [id] §rEntfernt ein Plot");
- msg(player, "§d - expand <anzahl> [id] §rErweitert das Grundstück in Blickrichtung");
- msg(player, "§d - name [id] <name> §rGibt einem Plot einen Namen");
- msg(player, "§d - share <player> [id] §rFügt einen Spieler hinzu");
- msg(player, "§d - kick <player> [id] §rEntfernt einen Spieler");
- if(perm.has(player, "plot.moreinfo")) {
- msg(player, "§d - moreinfo [id] §rGibt viele detaillierte Infos aus");
- msg(player, "§d - listall §rListet alle Plots auf");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "remove" || arg0 == "r" || arg0 == "delete") {
- if(!perm.has(player, "plot.create")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size > 2) {
- player.speak(player, "§6Commands", "/plot remove [id]");
- goto("wait");
- }
- if(size == 2) {
- plot_id = list.getIndex(args, 1);
- if(!isDouble(plot_id)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(!doesPlotExist(plot_id)) {
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " existiert nicht.");
- goto("wait");
- }
- } else {
- location = entity.getLocation(player);
- amount = getPlotAmount(location);
- if(amount == 0) {
- player.speak(player, "§dPlots", "Du befindest dich auf keinem Plot");
- goto("wait");
- }
- if(amount > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot remove <id>");
- goto("wait");
- }
- plot_id = getPlotId(location);
- }
- removePlot(plot_id);
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " wurde entfernt.");
- goto("wait");
- }
- if(arg0 == "expand") {
- if(!perm.has(player, "plot.expand")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size < 2 || size > 3) {
- player.speak(player, "§6Commands", "/plot expand <anzahl> [id]");
- goto("wait");
- }
- anzahl = list.getIndex(args, 1);
- if(!isDouble(anzahl)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(anzahl < 0) {
- player.speak(player, "§dPlots", "Positive Zahl erwartet.");
- goto("wait");
- }
- player_loc = entity.getLocation(player);
- yaw = loc.getYaw(player_loc);
- direction = getDirection(yaw);
- if(direction == null) {
- player.speak(player, "§dPlots", "Blickrichtung zu ungenau");
- goto("wait");
- }
- if(size == 3) {
- plot_id = list.getIndex(args, 2);
- if(!isDouble(plot_id)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(!doesPlotExist(plot_id)) {
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " existiert nicht.");
- goto("wait");
- }
- } else {
- location = entity.getLocation(player);
- amount = getPlotAmount(location);
- if(amount == 0) {
- player.speak(player, "§dPlots", "Du befindest dich auf keinem Plot");
- goto("wait");
- }
- if(amount > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot expand <anzahl> <id>");
- goto("wait");
- }
- plot_id = getPlotId(location);
- }
- plotMoreInfoStatement = databank.prepare("SELECT * FROM plots WHERE id = ?;");
- databank.setInt(plotMoreInfoStatement, 1, plot_id);
- result = databank.execute(plotMoreInfoStatement);
- databank.next(result);
- world = world.get(databank.getString(result, 8));
- x1 = databank.getInt(result, 2);
- y1 = databank.getInt(result, 3);
- z1 = databank.getInt(result, 4);
- x2 = databank.getInt(result, 5);
- y2 = databank.getInt(result, 6);
- z2 = databank.getInt(result, 7);
- if(direction == "east") {
- x2 += anzahl;
- } elseif(direction == "south") {
- z2 += anzahl;
- } elseif(direction == "west") {
- x1 -= anzahl;
- } elseif(direction == "north") {
- z1 -= anzahl;
- }
- gs_edge1 = loc.new(world, x1, y1, z1);
- gs_edge2 = loc.new(world, x2, y2, z2);
- databank.close(result);
- databank.close(plotMoreInfoStatement);
- changePlotEdges(plot_id, gs_edge1, gs_edge2);
- player.speak(player, "§dPlots", "Das Plot wurde erweitert.");
- goto("wait");
- }
- if(arg0 == "share") {
- if(!perm.has(player, "plot.share")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size < 2 || size > 3) {
- player.speak(player, "§6Commands", "/plot share <name> [id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- player.speak(player, "§dPlots", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- p_id = player.getId(p_uuid);
- if(size == 3) {
- plot_id = list.getIndex(args, 2);
- if(!isDouble(plot_id)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(!doesPlotExist(plot_id)) {
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " existiert nicht.");
- goto("wait");
- }
- } else {
- location = entity.getLocation(player);
- amount = getPlotAmount(location);
- if(amount == 0) {
- player.speak(player, "§dPlots", "Du befindest dich auf keinem Plot");
- goto("wait");
- }
- if(amount > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot share <name> <id>");
- goto("wait");
- }
- plot_id = getPlotId(location);
- }
- addPlotPlayer(plot_id, p_id);
- player.speak(player, "§dPlots", "Der Spieler ", p_name, " wurde zum Plot hinzugefügt.");
- goto("wait");
- }
- if(arg0 == "kick") {
- if(!perm.has(player, "plot.share")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size < 2 || size > 3) {
- player.speak(player, "§6Commands", "/plot kick <name> [id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- player.speak(player, "§dPlots", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- p_id = player.getId(p_uuid);
- if(size == 3) {
- plot_id = list.getIndex(args, 2);
- if(!isDouble(plot_id)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(!doesPlotExist(plot_id)) {
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " existiert nicht.");
- goto("wait");
- }
- } else {
- location = entity.getLocation(player);
- amount = getPlotAmount(location);
- if(amount == 0) {
- player.speak(player, "§dPlots", "Du befindest dich auf keinem Plot");
- goto("wait");
- }
- if(amount > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot kick <name> <id>");
- goto("wait");
- }
- plot_id = getPlotId(location);
- }
- removePlotPlayer(plot_id, p_id);
- player.speak(player, "§dPlots", "Der Spieler ", p_name, " wurde vom Plot entfernt.");
- goto("wait");
- }
- if(arg0 == "name") {
- if(!perm.has(player, "plot.name")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size < 2) {
- player.speak(player, "§6Commands", "/plot name [id] <name>");
- goto("wait");
- }
- plot_id = list.getIndex(args, 1);
- if(isDouble(plot_id)) {
- if(plot_id > 0) {
- doesPlotExistStatement = databank.prepare("SELECT id FROM plots WHERE id = ?;");
- databank.setInt(doesPlotExistStatement, 1, plot_id);
- result = databank.execute(doesPlotExistStatement);
- if(!databank.next(result)) {
- //Plot-ID nicht vorhanden
- player.speak(player, "§dPlots", "ID nicht gefunden.");
- databank.close(result);
- databank.close(doesPlotExistStatement);
- goto("wait");
- }
- databank.close(result);
- databank.close(doesPlotExistStatement);
- }
- name = text.concatList(args, " ", 2, size - 1);
- } else {
- list = plot.getIds(entity.getLocation(player));
- listsize = list.getSize(list);
- if(listsize == 0) {
- player.speak(player, "§dPlots", "ID nicht gefunden.");
- goto("wait");
- }
- if(listsize > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot name <id> <name>");
- goto("wait");
- }
- plot_id = list.getIndex(list, 0);
- name = text.concatList(args, " ", 1, size - 1);
- }
- setPlotName(plot_id, name);
- player.speak(player, "§dPlots", "Plot wurde zu ", name, " umbenannt.");
- goto("wait");
- }
- if(arg0 == "create" || arg0 == "c" || arg0 == "add" || arg0 == "a") {
- if(!perm.has(player, "plot.create")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- player_id = player.getId(player);
- loc1 = map.get(plotpos1, player_id);
- loc2 = map.get(plotpos2, player_id);
- if(loc1 == null || loc2 == null) {
- player.speak(player, "§dPlots", "Keine Eckpunkte gesetzt.");
- goto("wait");
- }
- if(loc.getWorld(loc1) != loc.getWorld(loc2)) {
- player.speak(player, "§dPlots", "Eckpunkte haben unterschiedliche Welten");
- goto("wait");
- }
- loc.setY(loc1, 0);
- loc.setY(loc2, 255);
- addPlot(loc1, loc2, player_name);
- player.speak(player, "§dPlots", "Plot erstellt.");
- goto("wait");
- }
- if(arg0 == "create3D" || arg0 == "add3D") {
- if(!perm.has(player, "plot.create")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- player_id = player.getId(player);
- loc1 = map.get(plotpos1, player_id);
- loc2 = map.get(plotpos2, player_id);
- if(loc1 == null || loc2 == null) {
- player.speak(player, "§dPlots", "Keine Eckpunkte gesetzt.");
- goto("wait");
- }
- if(loc.getWorld(loc1) != loc.getWorld(loc2)) {
- player.speak(player, "§dPlots", "Eckpunkte haben unterschiedliche Welten");
- goto("wait");
- }
- addPlot(loc1, loc2, player_name);
- player.speak(player, "§dPlots", "3DPlot erstellt.");
- goto("wait");
- }
- if(arg0 == "pos1" || arg0 == "pos2") {
- loc = entity.getLocation(player);
- x = loc.getCoord(loc, "bx");
- y = loc.getCoord(loc, "by");
- z = loc.getCoord(loc, "bz");
- world = loc.getWorld(loc);
- loc = loc.new(world, x, y, z);
- player_id = player.getId(player);
- if(arg0 == "pos1") {
- map.add(plotpos1, player_id, loc);
- pos = "Pos1";
- }
- elseif(arg0 == "pos2") {
- map.add(plotpos2, player_id, loc);
- pos = "Pos2";
- }
- player.speak(player, "§dPlots", pos, " (", text.number(x), "/", text.number(y), "/", text.number(z), ") gesetzt");
- goto("wait");
- }
- if(arg0 == "listall") {
- if(!perm.has(player, "plot.moreinfo")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size != 1) {
- player.speak(player, "§6Commands", "/plot listall");
- goto("wait");
- }
- player.speak(player, "§6Commands", "Alle Plots mit Ownern");
- listAllPlotsStatement = databank.prepare("SELECT id, name FROM plots;");
- result = databank.execute(listAllPlotsStatement);
- while(databank.next(result)) {
- plot_id = databank.getInt(result, 1);
- plot_name = databank.getString(result, 2);
- getPlotOwnersStatement = databank.prepare("SELECT player_id FROM plot_grant WHERE plot_id = ?;");
- databank.setInt(getPlotOwnersStatement, 1, plot_id);
- result2 = databank.execute(getPlotOwnersStatement);
- owners = "";
- while(databank.next(result2)) {
- owners = concat(owners, "/", player.getNameFromId(databank.getInt(result2, 1)));
- }
- databank.close(result2);
- databank.close(getPlotOwnersStatement);
- msg(player, concat("§v", text.number(plot_id), " §6", plot_name, " §r", owners));
- }
- databank.close(result);
- databank.close(listAllPlotsStatement);
- goto("wait");
- }
- if(arg0 == "moreinfo" || arg0 == "mi") {
- if(!perm.has(player, "plot.moreinfo")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- if(size > 2) {
- player.speak(player, "§6Commands", "/plot moreinfo [id]");
- goto("wait");
- }
- if(size == 2) {
- plot_id = list.getIndex(args, 1);
- if(!isDouble(plot_id)) {
- player.speak(player, "§dPlots", "Zahl erwartet.");
- goto("wait");
- }
- if(!doesPlotExist(plot_id)) {
- player.speak(player, "§dPlots", "Das Plot mit der ID ", text.number(plot_id), " existiert nicht.");
- goto("wait");
- }
- } else {
- location = entity.getLocation(player);
- amount = getPlotAmount(location);
- if(amount == 0) {
- player.speak(player, "§dPlots", "Du befindest dich auf keinem Plot");
- goto("wait");
- }
- if(amount > 1) {
- player.speak(player, "§dPlots", "Mehrere Plots vorhanden. Verwende /plot moreinfo <id>");
- goto("wait");
- }
- plot_id = getPlotId(location);
- }
- plotInfoStatement = databank.prepare("SELECT player_id FROM plot_grant WHERE plot_id = ?;");
- databank.setInt(plotInfoStatement, 1, plot_id);
- result = databank.execute(plotInfoStatement);
- owners = "";
- while(databank.next(result)) {
- owners = concat(owners, "/", player.getNameFromId(databank.getInt(result, 1)));
- }
- databank.close(result);
- databank.close(plotInfoStatement);
- player.speak(player, "§dPlots", concat("#", text.number(plot_id), " §6", getPlotName(plot_id), " §r", owners));
-
- plotMoreInfoStatement = databank.prepare("SELECT * FROM plots WHERE id = ?;");
- databank.setInt(plotMoreInfoStatement, 1, plot_id);
- result = databank.execute(plotMoreInfoStatement);
- databank.next(result);
- msg(player, " World: ", databank.getString(result, 8));
- msg(player, " Pos1: ", databank.getInt(result, 2), " / ", databank.getInt(result, 3), " / ", databank.getInt(result, 4));
- msg(player, " Pos2: ", databank.getInt(result, 5), " / ", databank.getInt(result, 6), " / ", databank.getInt(result, 7));
- databank.close(result);
- databank.close(plotMoreInfoStatement);
- goto("wait");
- }
- if(arg0 == "info" || arg0 == "i") {
- list = plot.getIds(entity.getLocation(player));
- listsize = list.getSize(list);
- if(listsize == 0) {
- player.speak(player, "§dPlots", "Keine Plots vorhanden.");
- goto("wait");
- }
- player.speak(player, "§dPlots", "Du befindest dich auf folgenden Plots:");
- for(i = 0; i <= listsize - 1; i++) {
- plotid = list.getIndex(list, i);
- plotInfoStatement = databank.prepare("SELECT player_id FROM plot_grant WHERE plot_id = ?;");
- databank.setInt(plotInfoStatement, 1, plotid);
- result = databank.execute(plotInfoStatement);
- owners = "";
- while(databank.next(result)) {
- owners = concat(owners, "/", player.getNameFromId(databank.getInt(result, 1)));
- }
- databank.close(result);
- databank.close(plotInfoStatement);
- msg(player, concat(" - #", text.number(plotid), " §6", getPlotName(plotid), " §r", owners));
- }
- goto("wait");
- }
- goto("plothelp");
- @speed
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/speed <1-10> [player]");
- goto("wait");
- }
- speed = list.getIndex(args, 0);
- if(!isDouble(speed)) {
- player.speak(player, "§6Commands", "Zahl erwartet.");
- goto("wait");
- }
- if(speed < 1 || speed > 10) {
- player.speak(player, "§6Commands", "/speed <1-10> [player]");
- goto("wait");
- }
- if(size == 2) {
- if(!perm.has(player, "speed.other")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- player.setspeed(affectedplayer, speed / 20);
- player.speak(affectedplayer, "§6Commands", "Dein Speed beträgt nun ", text.number(speed), ".");
- if(affectedplayer != player) {
- player.speak(player, "§6Commands", "Der Speed von ", affectedname, " wurde auf ", text.number(speed), " gesetzt.");
- }
- goto("wait");
- @mayo
- msg(player, "Nein ", player_name, ", Mayonnaise ist kein Instrument.");
- goto("wait");
- @butcher
- msg(player, "Butcher blockiert");
- goto("wait");
- @enderchest
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/enderchest [player] <from-player>");
- goto("wait");
- }
- if(size == 1) {
- from_name = list.getIndex(args, 0);
- }
- elseif(size == 2) {
- affectedname = list.getIndex(args, 0);
- from_name = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- from_player = read.player(from_name);
- if(from_player == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- player.openEnderchest(affectedplayer, from_player);
- goto("wait");
- @gamemode
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/gamemode <mode> [player]");
- goto("wait");
- }
- if(size == 2) {
- if(!perm.has(player, "gamemode.other")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- mode = list.getIndex(args, 0);
- if(isDouble(mode)) {
- mode = text.number(mode);
- } else {
- mode = text.toLowerCase(mode);
- }
- if(mode == "s" || mode == "0" || mode == "survival") {
- mode = "survival";
- } elseif(mode == "c" || mode == "1" || mode == "creative") {
- mode = "creative";
- } elseif(mode == "a" || mode == "2" || mode == "adventure") {
- mode = "adventure";
- } elseif(mode == "w" || mode == "3" || mode == "spectator") {
- mode = "spectator";
- } else {
- player.speak(player, "§6Commands", "Gamemode nicht bekannt.");
- goto("wait");
- }
- player.setGamemode(affectedplayer, mode);
- if(affectedplayer != player) {
- player.speak(player, "§6Commands", "Der Gamemode von ", affectedname, " wurde auf ", mode, " gesetzt.");
- }
- player.speak(affectedplayer, "§6Commands", "Dein Gamemode wurde auf ", mode, " gesetzt.");
- goto("wait");
- @listhomes
- if(size > 1) {
- player.speak(player, "§6Commands", "/listhomes [player]");
- goto("wait");
- }
- affecteduuid = player.getUuid(affectedname);
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affecteduuid = player.getUuid(affectedname);
- if(affecteduuid == null) {
- player.speak(player, "§6Commands", "Dieser Spieler war noch nie online.");
- goto("wait");
- }
- }
- id = player.getId(affecteduuid);
- msg(player, "Homes von ", affectedname, ":");
- getHomeStatement = databank.prepare("SELECT seckeyname, value FROM scriptdualmaps WHERE map = 'homes' AND keyname = ?;");
- databank.setString(getHomeStatement, 1, id);
- result = databank.execute(getHomeStatement);
- while(databank.next(result)) {
- msg(player, " - ", databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(getHomeStatement);
- goto("wait");
- @delhome
- if(size != 1) {
- player.speak(player, "§6Commands", "/delhome <name>");
- goto("wait");
- }
- id = player.getId(player);
- name = list.getIndex(args, 0);
- if(gdmap.get("homes", id, name) == null) {
- player.speak(player, "§6Commands", "Der Home ", name, " existiert nicht.");
- goto("wait");
- }
- gdmap.remove("homes", id, name);
- player.speak(player, "§6Commands", "Der Home ", name, " wurde entfernt");
- goto("wait");
- @sethome
- if(size != 1) {
- player.speak(player, "§6Commands", "/sethome <name>");
- goto("wait");
- }
- id = player.getId(player);
- location = entity.getLocation(player);
- if(!perm.has(player, "isMod")) {
- if(set.contains(nohomet, loc.getWorld(location))) {
- player.speak(player, "§6Commands", "In dieser Welt sind keine Homes erlaubt.");
- goto("wait");
- }
- }
- name = list.getIndex(args, 0);
- if(!text.onlyletters(name)) {
- player.speak(player, "§6Commands", "Nur Buchstaben als Namen erlaubt.");
- goto("wait");
- }
- if(gdmap.get("homes", id, name) != null) {
- player.speak(player, "§6Commands", "Der Home ", name, " existiert bereits.");
- goto("wait");
- }
- gdmap.add("homes", id, name, text.location(location));
- player.speak(player, "§6Commands", "Der Home ", name, " wurde gesetzt.");
- goto("wait");
- @home
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/home <name> [player]");
- goto("wait");
- }
- if(size == 2) {
- affectedname = list.getIndex(args, 1);
- }
- name = list.getIndex(args, 0);
- affecteduuid = player.getUuid(affectedname);
- if(affecteduuid == null) {
- player.speak(player, "§6Commands", "Der Spieler war noch nie online.");
- goto("wait");
- }
- id = player.getID(affecteduuid);
- location = gdmap.get("homes", id, name);
- if(location == null) {
- player.speak(player, "§6Commands", "Dieser Home existiert nicht.");
- goto("wait");
- }
- location = read.location(location);
- world = loc.getWorld(location);
- if(world == null) {
- player.speak(player, "§6Commands", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- setBackPos(player);
- checkInvChange(player, location);
- entity.teleport(player, location);
- goto("wait");
- @teleport
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/teleport [player] <to-player>");
- goto("wait");
- }
- if(size == 1) {
- to_name = list.getIndex(args, 0);
- }
- elseif(size == 2) {
- if(!perm.has(player, "teleport.other")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- //Damit der ganze Spielername und nicht nur der eingegebene angezeigt wird
- affectedname = player.getName(affectedplayer);
- to_name = list.getIndex(args, 1);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- to_player = read.player(to_name);
- if(to_player == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- //Damit der ganze Spielername und nicht nur der eingegebene angezeigt wird
- to_name = player.getName(to_player);
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " wurde zu ", to_name, " teleportiert");
- }
- player.speak(affectedplayer, "§6Commands", "Du wurdest zu ", to_name, " teleportiert");
- setBackPos(affectedplayer);
- location = entity.getLocation(to_player);
- checkInvChange(affectedplayer, location);
- entity.teleport(affectedplayer, location);
- goto("wait");
- @say
- if(size == 0) {
- player.speak(player, "§6Commands", "/say <text>");
- goto("wait");
- }
- message = concatList(args, " ", 0, size - 1);
- msg(player, "[§cServer§r] ", text.replace(message, "&", "§"));
- goto("wait");
- @warp
- if(size < 1 || size > 2) {
- player.speak(player, "§6Commands", "/warp <warpname> [player]");
- warps_list = getWarpsList();
- for(i = 0; i < list.getSize(warps_list); i++) {
- msg(player, " - ", list.getIndex(warps_list, i));
- }
- goto("wait");
- }
- warpname = text.toLowerCase(list.getIndex(args, 0));
- warploc = gmap.get("warps", warpname);
- if(warploc == null) {
- player.speak(player, "§6Commands", "Der Warp existiert nicht.");
- goto("wait");
- }
- if(size == 2) {
- if(!perm.has(player, "warp.other")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " wurde zum Warp ", warpname, " teleportiert.");
- }
- }
- warploc = read.location(warploc);
- world = loc.getWorld(warploc);
- if(world == null) {
- player.speak(player, "§6Commands", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- entity.teleport(affectedplayer, warploc);
- player.speak(affectedplayer, "§6Commands", "Du wurdest zum Warp ", warpname, " teleportiert.");
- goto("wait");
- @delwarp
- if(size != 1) {
- player.speak(player, "§6Commands", "/delwarp <warpname>");
- goto("wait");
- }
- warpname = text.toLowerCase(list.getIndex(args, 0));
- if(gmap.get("warps", warpname) == null) {
- player.speak(player, "§6Commands", "Der Warp existiert nicht.");
- goto("wait");
- }
- gmap.remove("warps", warpname);
- player.speak(player, "§6Commands", "Der Warp ", warpname, " wurde entfernt.");
- goto("wait");
- @setwarp
- if(size != 1) {
- player.speak(player, "§6Commands", "/setwarp <warpname>");
- goto("wait");
- }
- warpname = text.toLowerCase(list.getIndex(args, 0));
- if(!text.onlyletters(warpname)) {
- player.speak(player, "§6Commands", "Nur Buchstaben als Namen erlaubt.");
- goto("wait");
- }
- if(gmap.get("warps", warpname) != null) {
- player.speak(player, "§6Commands", "Der Warp existiert bereits.");
- goto("wait");
- }
- gmap.add("warps", warpname, text.location(entity.getLocation(player)));
- player.speak(player, "§6Commands", "Der Warp wurde erstellt.");
- goto("wait");
- @showtables
- if(size != 0) {
- player.speak(player, "§6Commands", "/showtables");
- goto("wait");
- }
- msg(player, getSpacer());
- showTablesStatement = databank.prepare("SHOW TABLES");
- result = databank.execute(showTablesStatement);
- while(databank.next(result)) {
- msg(player, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(showTablesStatement);
- goto("wait");
- @showfields
- if(size != 1) {
- player.speak(player, "§6Commands", "/showfields <table>");
- goto("wait");
- }
- table = list.getIndex(args, 0);
- set.clear(fields);
- showTablesStatement = databank.prepare("SHOW TABLES");
- result = databank.execute(showTablesStatement);
- while(databank.next(result)) {
- set.add(fields, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(showTablesStatement);
- if(!set.contains(fields, table)) {
- player.speak(player, "§6Commands", "Kein existierendes Table");
- goto("wait");
- }
- msg(player, getSpacer());
- showFieldsStament = databank.prepare(concat("SHOW FIELDS FROM ", table, ";"));
- result = databank.execute(showFieldsStament);
- while(databank.next(result)) {
- msg(player, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(showFieldsStament);
- goto("wait");
- @seen
- if(size != 1) {
- player.speak(player, "§6Commands", "/seen <player>");
- goto("wait");
- }
- seen_name = list.getIndex(args, 0);
- seen_uuid = player.getUuid(seen_name);
- if(seen_uuid == null) {
- player.speak(player, "§6Commands", "Dieser Spieler war noch nie online.");
- goto("wait");
- }
- if(read.player(seen_name) != null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist gerade online.");
- goto("wait");
- }
- seenStatement = databank.prepare("SELECT logouttime FROM logoutdata WHERE player_id = ?;");
- databank.setInt(seenStatement, 1, player.getId(seen_uuid));
- result = databank.execute(seenStatement);
- varset = false;
- while(databank.next(result)) {
- time = time.new(calendar, databank.getLong(result, 1));
- dateformat = concat(text.number(time.getDay(calendar)), ".", text.number(time.getMonth(calendar)), ".", text.number(time.getYear(calendar)));
- clockformat = concat(text.number(time.getHour(calendar)), ":", text.number(time.getMinute(calendar)));
- player.speak(player, "§6Commands", seen_name, " war zuletzt am ", dateformat, " um ", clockformat, " online.");
- varset = true;
- }
- databank.close(result);
- databank.close(seenStatement);
- if(!varset) {
- player.speak(player, "§6Commands", "Keine Daten vorhanden.");
- goto("wait");
- }
- goto("wait");
- @lastseen
- if(size != 1) {
- player.speak(player, "§6Commands", "/lastseen <amount>");
- goto("wait");
- }
- amount = list.getIndex(args, 0);
- if(!isDouble(amount)) {
- player.speak(player, "§6Commands", "Zahl erwartet.");
- goto("wait");
- }
- if(amount <= 0) {
- player.speak(player, "§6Commands", "Zahl größer 0 erwartet.");
- goto("wait");
- }
- player.speak(player, "§6Commands", "Zuletzt waren online:");
- lastseenStatement = databank.prepare("SELECT player_id, logouttime FROM logoutdata ORDER BY logouttime DESC LIMIT ?;");
- databank.setInt(lastseenStatement, 1, amount);
- result = databank.execute(lastseenStatement);
- while(databank.next(result)) {
- id = databank.getInt(result, 1);
- time = time.new(calendar, databank.getLong(result, 2));
- year = text.number(time.getYear(calendar));
- month = text.number(time.getMonth(calendar));
- day = text.number(time.getDay(calendar));
- minute = text.number(time.getMinute(calendar));
- hour = text.number(time.getHour(calendar));
- month = correctTimeFormat(month);
- day = correctTimeFormat(day);
- hour = correctTimeFormat(hour);
- minute = correctTimeFormat(minute);
- dateformat = concat(day, ".", month, ".", year);
- clockformat = concat(hour, ":", minute);
- msg(player, concat(" - §a", player.getNameFromId(id), "§r am §v", dateformat, "§r um §v", clockformat, " Uhr"));
- }
- databank.close(result);
- databank.close(lastseenStatement);
- goto("wait");
- @feed
- if(size > 1) {
- player.speak(player, "§6Commands", "/feed [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", "Der Hunger von ", affectedname, " wurde gestillt.");
- }
- }
- player.setHunger(affectedplayer, 20);
- player.setSaturation(affectedplayer, 5);
- player.speak(affectedplayer, "§6Commands", "Dein Hunger wurde gestillt.");
- goto("wait");
- @fly
- if(size > 2) {
- player.speak(player, "§6Commands", "/fly [player] [on/off]");
- goto("wait");
- }
- if(size >= 1) {
- if(!perm.has(player, "fly.other")) {
- player.speak(player, "§6Perms", "Du hast keine Permission dafür.");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- if(size == 2) {
- boolean = list.getIndex(args, 1);
- if(boolean == "on") {
- fly = true;
- } elseif(boolean == "off") {
- fly = false;
- } else {
- player.speak(player, "§6Commands", "/fly [player] [on/off]");
- goto("wait");
- }
- } else {
- if(player.hasFly(affectedplayer)) {
- fly = false;
- } else {
- fly = true;
- }
- }
- player.setFly(affectedplayer, fly);
- if(fly) {
- player.speak(affectedplayer, "§6Commands", "Du kannst nun fliegen.");
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " kann nun fliegen");
- }
- } else {
- player.speak(affectedplayer, "§6Commands", "Du kannst nicht mehr fliegen.");
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " kann nun nicht mehr fliegen.");
- }
- }
- goto("wait");
- @tppos
- if(size < 3 || size > 5) {
- player.speak(player, "§6Commands", "/tppos <x> <y> <z> [world] [player]");
- goto("wait");
- }
- x = list.getIndex(args, 0);
- y = list.getIndex(args, 1);
- z = list.getIndex(args, 2);
- if(!isDouble(x) || !isDouble(y) || !isDouble(z)) {
- player.speak(player, "§6Commands", "x/y/z müssen Zahlen sein.");
- goto("wait");
- }
- if(size >= 4) {
- worldname = list.getIndex(args, 3);
- world = world.get(worldname);
- if(world == null) {
- player.speak(player, "§6Commands", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- } else {
- world = loc.getWorld(entity.getLocation(player));
- }
- location = loc.new(world, x, y, z);
- if(size == 5) {
- affectedname = list.getIndex(args, 4);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " wurde teleportiert.");
- }
- }
- setBackPos(affectedplayer);
- checkInvChange(affectedplayer, location);
- entity.teleport(affectedplayer, location);
- goto("wait");
- @back
- if(size > 0) {
- player.speak(player, "§6Commands", "/back");
- goto("wait");
- }
- location = ggv(affectedplayer, "backpos");
- if(location == null) {
- player.speak(player, "§6Commands", "Keine Back-Location vorhanden.");
- goto("wait");
- }
- location = read.location(location);
- world = loc.getWorld(location);
- if(world == null) {
- player.speak(player, "§6Commands", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- setBackPos(affectedplayer);
- checkInvChange(affectedplayer, location);
- entity.teleport(affectedplayer, location);
- goto("wait");
- @color
- if(size > 0) {
- player.speak(player, "§6Commands", "/color");
- goto("wait");
- }
- msg(player, "Verfügbare Farbcodes:");
- msg(player, " §0&0 §1&1 §2&2 §3&3 §4&4 §5&5 §6&6 §7&7");
- msg(player, " §8&8 §9&9 §a&a §b&b §c&c §d&d §e&e §f&f");
- msg(player, " §g&g §i&i §p&p §s&s §u&u §w&w §y&y");
- msg(player, " §h&h §j&j §q&q §t&t §v&v §x&x §z&z");
- msg(player, "Sonstiges:");
- msg(player, " &l §l(fett)");
- msg(player, " &m §m(durchgestrichen)");
- msg(player, " &n §n(unterstrichen)");
- msg(player, " &o §o(kursiv)");
- msg(player, " &k §kwusigusi");
- goto("wait");
- @setgamesspawn
- if(size > 0) {
- player.speak(player, "§6Commands", "/setgamesspawn");
- goto("wait");
- }
- gamesspawn = text.location(entity.getLocation(player));
- sgv("SERVER", "gamesspawn", gamesspawn);
- player.speak(player, "§6Commands", "Der neue Games-Spawn wurde gesetzt.");
- goto("wait");
- @setspawn
- if(size > 0) {
- player.speak(player, "§6Commands", "/setspawn");
- goto("wait");
- }
- serverspawn = text.location(entity.getLocation(player));
- sgv("SERVER", "serverspawn", serverspawn);
- player.speak(player, "§6Commands", "Der neue Spawn wurde gesetzt.");
- goto("wait");
- @spawn
- if(size > 1) {
- player.speak(player, "§6Commands", "/spawn [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- }
- if(perm.has(affectedplayer, "isMod") || perm.has(affectedplayer, "canTP")) { //Mods und TP haben kein /spawn, wenn sie in einer Quest sind
- if(player.hasScript(affectedplayer)) {
- if(size == 1) {
- msg(player, "§rDer Spieler ist an ein Script gebunden");
- } else {
- msg(player, "§rDu bist an ein Script gebunden.");
- }
- cancel = true;
- goto("wait");
- }
- }
- if(size == 1) {
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " wurde zum Spawn teleportiert.");
- }
- }
- serverspawn = read.location(ggv("SERVER", "serverspawn"));
- setBackPos(affectedplayer);
- checkInvChange(affectedplayer, serverspawn);
- entity.teleport(affectedplayer, serverspawn);
- player.speak(affectedplayer, "§6Commands", "Du wurdest zum Spawn teleportiert.");
- goto("wait");
- @heal
- if(size > 1) {
- player.speak(player, "§6Commands", "/heal [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- player.speak(player, "§6Commands", affectedname, " wurde geheilt.");
- }
- }
- entity.setHealth(affectedplayer, 20);
- player.speak(affectedplayer, "§6Commands", "Du wurdest geheilt.");
- goto("wait");
- @invsee
- if(size != 1) {
- player.speak(player, "§6Commands", "/invsee <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- player.speak(player, "§6Commands", "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- player.speak(player, "§6Commands", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- inventar = inv.new("222222222222222222222222222222222222", concat("Inventar von ", p_name));
- map.add(invseeids, player.getId(player), inv.getId(inventar));
- for(slot = 0; slot <= 35; slot++) {
- item = player.getInvSlot(p, slot);
- inv.setItem(inventar, slot, item);
- }
- inv.open(inventar, player);
- goto("wait");
- @boost
- entity.throw(player, 0, 5, 0);
- goto("wait");
- @memory
- player.speak(player, "§6Commands", "RAM-Belegung: ", text.number(usedMemory()), " / ", text.number(math.round(allocatedMemory())), " MB");
- goto("wait");
- @world
- if(size > 0 && size < 4) {
- arg0 = list.getIndex(args, 0);
- if(arg0 == "info") {
- msg(player, "WIP");
- goto("wait");
- } elseif(arg0 == "tp") {
- if(size > 1 || size < 4) {
- if(size >= 2) {
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world == null) {
- player.speak(player, "§tWorld", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- }
- if(size == 3) {
- affectedname = list.getIndex(args, 2);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- player.speak(player, "§tWorld", "Dieser Spieler ist nicht online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- player.speak(player, "§tWorld", affectedname, " wurde zum Spawn der Welt ", worldname, " teleportiert");
- }
- }
- worldspawn = world.getSpawn(world);
- setBackPos(affectedplayer);
- checkInvChange(affectedplayer, worldspawn);
- entity.teleport(affectedplayer, worldspawn);
- goto("wait");
- }
- } elseif(arg0 == "listall") {
- if(size == 1) {
- player.speak(player, "§tWorld", "Folgende Welten können geladen werden:");
- path = file.new(".");
- path_list = file.getList(path);
- for(i = 0; i <= list.getSize(path_list) - 1; i++) {
- path_element = list.getIndex(path_list, i);
- if(file.isDirectory(path_element)) {
- try {
- directory_list = file.getList(path_element);
- } catch {
- break;
- }
- for(h = 0; h <= list.getSize(directory_list) - 1; h++) {
- directory_element = list.getIndex(directory_list, h);
- if(file.isFile(directory_element)) {
- if(file.exists(file.new(concat(path_element, "/level.dat")))) {
- msg(player, " - ", file.getName(path_element));
- break;
- }
- }
- }
- }
- }
- msg(player, getSpacer());
- goto("wait");
- }
- } elseif(arg0 == "list") {
- if(size == 1) {
- player.speak(player, "§tWorld", "Folgende Welten sind geladen:");
- worldlist = world.getAll();
- for(i = 0; i <= list.getSize(worldlist) - 1; i++) {
- msg(player, " - ", world.getName(list.getIndex(worldlist, i)));
- }
- msg(player, getSpacer());
- goto("wait");
- }
- } elseif(arg0 == "load") {
- if(size == 2) {
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world != null) {
- player.speak(player, "§tWorld", "Diese Welt ist bereits geladen.");
- goto("wait");
- }
- if(!world.load(worldname)) {
- player.speak(player, "§tWorld", "Die Welt ", worldname, " wurde nicht gefunden.");
- goto("wait");
- }
- player.speak(player, "§tWorld", "Die Welt wurde geladen.");
- goto("wait");
- }
- } elseif(arg0 == "unload") {
- if(size == 2) {
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world == null) {
- player.speak(player, "§tWorld", "Diese Welt ist nicht geladen.");
- goto("wait");
- }
- if(!world.unload(worldname)) {
- player.speak(player, "§tWorld", "Diese Welt kann nicht entfernt werden.");
- goto("wait");
- }
- player.speak(player, "§tWorld", "Die Welt wurde entfernt.");
- goto("wait");
- }
- } elseif(arg0 == "setspawn") {
- if(size == 1) {
- location = entity.getLocation(player);
- world.setSpawn(location);
- player.speak(player, "§tWorld", "Der Spawn der Welt ", world.getName(loc.getWorld(location)), " wurde neu gesetzt.");
- goto("wait");
- }
- } elseif(arg0 == "diffi") {
- msg(player, "WIP");
- goto("wait");
- }
- }
- player.speak(player, "§tWorld", "/world ...");
- msg(player, "§t - info <world> §rGibt Infos über die Welt");
- msg(player, "§t - tp <world> [player] §rBringt den Spieler in eine andere Welt");
- msg(player, "§t - list §rZeigt alle geladenen Welten");
- msg(player, "§t - listall §rZeigt alle Welten");
- msg(player, "§t - load <world> §rLädt eine Welt");
- msg(player, "§t - unload <world> §rEntfernt die Welt aus dem Speicher");
- msg(player, "§t - setspawn §rSetzt den Welten-Spawn");
- msg(player, "§t - diffi <world> <diffi> §rSetzt die Schwierigkeit");
- goto("wait");
- function checkInvChange(player, location) {
- if(event == "portal") {
- from_world = world.get(from);
- to_world = world.get(to);
- } else {
- from_world = loc.getWorld(entity.getLocation(player));
- to_world = loc.getWorld(location);
- }
- //Wenn ignore aktiviert --> kein Wechsel
- ignore = ggv(player, "invignore");
- if(ignore == null) {
- ignore = false;
- }
- if(!ignore) {
- //Wenn in selber Welt --> kein Wechsel
- if(from_world != to_world) {
- //Wenn beide Welten in derselben Liste sind --> kein Wechsel
- if(!(list.contains($sameinvworlds, world.getName(from_world)) && list.contains($sameinvworlds, world.getName(to_world)))) {
- savePlayerInventory(player, from_world);
- loadPlayerInventory(player, to_world);
- }
- }
- }
- return;
- }
- function savePlayerInventory(player, world) {
- world_name = world.getName(world);
- if(list.contains($sameinvworlds, world_name)) {
- pfad = "scripts/configs/default";
- } else {
- pfad = concat("scripts/configs/", world_name);
- }
- config = config.new(pfad, player.getId(player));
-
- //Allgemeine Daten
- config.set(config, "health", entity.getHealth(player));
- config.set(config, "hunger", player.getHunger(player));
- config.set(config, "saturation", player.getSaturation(player));
-
- //Gamemode
- if(player.isCreative(player)) {
- gm = "creative";
- } elseif(player.isSurvival(player)) {
- if(player.isAdventure(player)) {
- gm = "adventure";
- } else {
- gm = "survival";
- }
- } elseif(player.isSpectator(player)) {
- gm = "spectator";
- }
- config.set(config, "gm", gm);
-
- //Inventare
- for(i = 0; i <= 35; i++) {
- config.set(config, concat("slot-", i), text.item(player.getInvSlot(player, i)));
- }
- for(i = 0; i <= 26; i++) {
- config.set(config, concat("eslot-", i), text.item(player.getEnderSlot(player, i)));
- }
- config.set(config, "head", text.item(entity.getEquip(player, "head")));
- config.set(config, "chest", text.item(entity.getEquip(player, "chest")));
- config.set(config, "legs", text.item(entity.getEquip(player, "legs")));
- config.set(config, "feet", text.item(entity.getEquip(player, "feet")));
-
- entity.clearEffects(player);
- config.save(config);
- return;
- }
- function loadPlayerInventory(player, world) {
- world_name = world.getName(world);
- if(list.contains($sameinvworlds, world_name)) {
- pfad = "scripts/configs/default";
- } else {
- pfad = concat("scripts/configs/", world_name);
- }
- config = config.new(pfad, player.getId(player));
-
- if(!config.exists(config)) {
- return;
- }
- config.load(config);
-
- //Allgemeine Daten
- entity.setHealth(player, config.getDouble(config, "health", 1));
- player.setHunger(player, config.getDouble(config, "hunger", 1));
- player.setSaturation(player, config.getDouble(config, "saturation", 1));
-
- //Gamemode
- player.setGamemode(player, config.getString(config, "gm", "minecraft:wool"));
-
- //Inventare
- for(i = 0; i <= 35; i++) {
- player.setInvSlot(player, i, read.item(config.getString(config, concat("slot-", i), "minecraft:wool")));
- }
- for(i = 0; i <= 26; i++) {
- player.setEnderSlot(player, i, read.item(config.getString(config, concat("eslot-", i), "minecraft:wool")));
- }
- entity.setEquip(player, "head", read.item(config.getString(config, "head", "minecraft:wool")));
- entity.setEquip(player, "chest", read.item(config.getString(config, "chest", "minecraft:wool")));
- entity.setEquip(player, "legs", read.item(config.getString(config, "legs", "minecraft:wool")));
- entity.setEquip(player, "feet", read.item(config.getString(config, "feet", "minecraft:wool")));
- return;
- }
- function registerTipp(tipp_key, tipp_value) {
- registerTippStatement = databank.prepare("INSERT INTO tipps (tipp_key, tipp_value) VALUES (?,?)");
- databank.setString(registerTippStatement, 1, tipp_key);
- databank.setString(registerTippStatement, 2, tipp_value);
- databank.workerExecute(registerTippStatement);
- return;
- }
- function getTippValue(tipp_key) {
- tipp_value = null;
- getTippStatement = databank.prepare("SELECT tipp_value FROM tipps WHERE tipp_key = ?;");
- databank.setString(getTippStatement, 1, tipp_key);
- result = databank.execute(getTippStatement);
- while(databank.next(result)) {
- tipp_value = databank.getString(result, 1);
- }
- databank.close(result);
- databank.close(getTippStatement);
- return tipp_value;
- }
- function getWarpsList() {
- warps_list = list.new();
- getWarpsListStatement = databank.prepare("SELECT keyname FROM scriptmaps WHERE map = ?;");
- databank.setString(getWarpsListStatement, 1, "warps");
- result = databank.execute(getWarpsListStatement);
- while(databank.next(result)) {
- list.add(warps_list, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(getWarpsListStatement);
- return warps_list;
- }
|