123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558 |
- waitfor(5); //Verhindert Endlos-Schleife durch "/start commands"
- setCommandHelps();
- command.clear();
- //Games
- command.add("hack");
- command.add("nextplayer");
- command.add("invstats");
- command.add("topinvstats");
- command.add("removeinvstats");
- command.add("sfstats");
- command.add("topsfstats");
- command.add("removesfstats");
- command.add("questanswer");
- command.add("infopoint1");
- command.add("infopoint2");
- command.add("infopoint3");
- command.add("infopoint4");
- command.add("infopoint5");
- command.add("infopoint6");
- command.add("infopoint7");
- command.add("infopoint8");
- command.add("infopoint9");
- command.add("infopoint10");
- command.add("infopoint11");
- //Vanilla überschreiben
- command.add("help");
- command.add("butcher");
- command.add("yeet");
- alias_map = map.new();
- command_list = list.new();
- command_map = map.new();
- command.register("afk", "Toggles afk");
- command.register("allsounds", "Plays all sounds");
- command.register("answer", "Answers the last private message");
- command.register("ass", "Armor Stand Signs");
- command.register("back", "Teleports to the last position");
- command.register("ban", "Bans a player");
- command.register("boost", "Boosts you up to the clouds");
- command.register("bug", "Report a bug");
- command.register("clan", "Clan-Commands");
- command.register("cli", "Clears items in a radius");
- command.register("color", "Shows all colors");
- command.register("coords", "Shows infos for the targeted block");
- command.register("copyisland", "Copyisland-Commands");
- command.register("databank", "Databank-Commands");
- command.register("datatools", "Datatools-Commands");
- command.register("enderchest", "Shows enderchests");
- command.register("error", "Error-Logger");
- command.register("errordebug", "Debug-Logger");
- command.register("feed", "Fills hunger bar");
- command.register("fly", "Toggles fly");
- command.register("friend", "Friend-Commands");
- command.register("game", "marvs minigame shit");
- command.register("gamemode", "Change gamemode");
- command.register("gamerule", "Manage gamerules");
- command.register("games", "Teleports to games-spawn");
- command.register("giveup", "Giveup a quest");
- command.register("grow", "Grow seeds");
- command.register("hat", "Be fame with a new hat");
- command.register("hawkeye", "Rollback griefings");
- command.register("head", "Gives you a player's head");
- command.register("heal", "Heals, fills hunger bar and remove effects");
- command.register("home", "Manage your homes");
- command.register("live", "Toggles Live-Mode");
- command.register("lag", "Executes a lag test");
- command.register("leave", "Leave a minigame");
- command.register("human", "Human-Commands");
- command.register("inv", "Inv-Commands");
- command.register("iteminfo", "Returns information about an item");
- command.register("jail", "Sends a player to jail");
- command.register("kick", "Kicks a player");
- command.register("lastseen", "Shows the last players online");
- command.register("lightning", "Summons a lightning_bolt");
- command.register("list", "List all players online");
- command.register("mail", "Mail-Commands");
- command.register("memory", "Returns RAM-usage");
- command.register("msg", "Send a private message");
- command.register("mute", "Mutes a player");
- command.register("news", "Send Push-News to all players");
- command.register("nickname", "Set a nickname");
- command.register("nowb", "Sends no 'is back' message if afk");
- command.register("party", "Party-Commands");
- command.register("perm", "Manage permissions");
- command.register("plant", "Plant seeds");
- command.register("playtime", "Shows your playtime");
- command.register("plot", "Plot-Commands");
- command.register("plough", "Plough dirt around you");
- command.register("pvp", "Toggles pvp");
- command.register("quest", "Quest-Commands");
- command.register("rank", "Shows your available ranks");
- command.register("repair", "Repairs your item in mainhand");
- command.register("report", "Report whatever you want");
- command.register("ride", "Rides an entity");
- command.register("say", "[Server] chat message");
- command.register("script", "Script-Commands");
- command.register("seen", "Returns the last date the player was online");
- command.register("senditem", "Sends an itemstack to another player");
- command.register("setmessage", "Set your join/leave-message");
- command.register("setrank", "");
- command.register("setservermessage", "Sets the server-message in the serverlist");
- command.register("setspawn", "Changes a spawn");
- command.register("shop", "Shop-Commands");
- command.register("sign", "Edit a sign");
- command.register("silentban", "Silently bans a player");
- command.register("silentjoin", "Toggled Silentjoins");
- command.register("silentkick", "Silently kicks a player");
- command.register("skills", "Shows all skills");
- command.register("spawn", "Teleports to spawn");
- command.register("speed", "Sets your speed");
- command.register("start", "Starts a script");
- command.register("startgame", "Reduces start-countdown for a minigame");
- command.register("stats", "Statistics-Commands");
- command.register("stopadventure", "Stops an adventure");
- command.register("story", "Teleports to story-spawn");
- command.register("suicide", "Kill yourself");
- command.register("teleport", "Teleports a player to a player");
- command.register("tempban", "Bans a player temporarly");
- command.register("tempfly", "Let a player temporarly fly");
- command.register("ticket", "Ticket-Commands");
- command.register("time", "Time-Commands");
- command.register("tip", "Tip-Commands");
- command.register("top", "Teleports to to highest point at the current position");
- command.register("tpa", "Sends a teleport request to a player");
- command.register("tpahere", "Sends a teleport request to a player");
- command.register("tpaccept", "Accepts a teleport request");
- command.register("tpaccepthere", "Accepts a teleport request");
- command.register("tppos", "Teleports to coordinates");
- command.register("unban", "Unbans a player");
- command.register("unjail", "Releases a player from jail");
- command.register("unmute", "Unmutes a player");
- command.register("user", "Returns infos about a user");
- command.register("vanish", "Vanishes a player");
- command.register("var", "Reads variables from a scripts");
- //command.register("vote", "Show vote rewars");
- command.register("voxel", "Set radius for voxel");
- command.register("warn", "Warns a player");
- command.register("warp", "Warp-Commands");
- command.register("weather", "Weather-Commands");
- command.register("world", "World-Commands");
- command.register("yeet", "Throws the Player");
- command.registerAlias("afklo", "afk");
- command.registerAlias("itemdb", "iteminfo");
- command.registerAlias("ha", "hawkeye");
- command.registerAlias("skull", "head");
- command.registerAlias("skick", "silentkick");
- command.registerAlias("sban", "silentban");
- command.registerAlias("tell", "msg");
- command.registerAlias("r", "answer");
- command.registerAlias("pardon", "unban");
- command.registerAlias("mimimi", "help");
- command.registerAlias("ci", "copyisland");
- command.registerAlias("mem", "memory");
- command.registerAlias("tp", "teleport");
- command.registerAlias("homes", "home");
- command.registerAlias("colour", "color");
- command.registerAlias("gm", "gamemode");
- command.registerAlias("p", "plot");
- command.registerAlias("coord", "coords");
- command.registerAlias("dt", "datatools");
- command.registerAlias("f", "friend");
- command.registerAlias("l", "leave");
- command.registerAlias("v", "vanish");
- command.registerAlias("hub", "leave");
- command.registerAlias("fuckit", "giveup");
- command.registerAlias("ram", "memory");
- command.registerAlias("thor", "lightning");
- composter_par = particle.get("composter");
- wall_signs_tag = block.getTag("minecraft:wall_signs");
- beds_tag = block.getTag("minecraft:beds");
- chest_tag = block.getTag("forge:chests");
- sign_tag = block.getTag("minecraft:signs");
- dirt_tag = block.getTag("forge:dirt");
- gamesspawn = world.getGamesSpawn();
- serverspawn = world.getServerSpawn();
- prefix_clan = "§2Clan";
- prefix_tips = "§eTips";
- prefix_lock = "§eLock";
- prefix_hawkeye = "§cHawkeye";
- prefix_commands = "§6Commands";
- prefix_friends = "§5Friends";
- prefix_world = "§bWorld";
- prefix_jail = "§5Jail";
- prefix_quest = "§dQuest";
- prefix_perms = "§6Perms";
- prefix_datatools = "§6DataTools";
- prefix_human = "§6Human";
- prefix_plot = "§dPlots";
- prefix_party = "§5Party";
- prefix_skill = "§2Skill";
- party_ids = getScriptVar("party_ids");
- if(party_ids == null) {
- party_ids = map.new();
- setScriptVar("party_ids", map.new()); //Player, partyid
- }
- party_lists = getScriptVar("party_lists");
- if(party_lists == null) {
- party_lists = map.new();
- setScriptVar("party_lists", map.new()); //partyid, Liste mit Players aller Partymitglieder
- }
- party_ranks = getScriptVar("party_ranks");
- if(party_ranks == null) {
- party_ranks = map.new();
- setScriptVar("party_ranks", map.new()); //Player, "leader"/"mod"/"player"
- }
- party_counter = getScriptVar("party_counter");
- if(party_counter == null) {
- party_counter = 0;
- setScriptVar("party_counter", party_counter); //Player, partyid
- }
- delkeytime = list.new(); //Alle Zeitpunkte zum Löschen der Einladungen (Vergleichsliste)
- delkeytimes = map.new(); //Player_uuid, Liste mit Zeitpunkten zum Löschen der Einladungen
- deluuid = list.new(); //Alle Player_uuids zum Löschen der Einladungen
- party_invitations = map.new(); //Player_uuid, Liste mit Player_uuids aller Einlader
- party_invite_ids = map.new(); //Player_uuid, partyid
- list = getScriptVar("block_commands_list");
- if(list == null) {
- list = list.new();
- setScriptVar("block_commands_list", list);
- }
- live_set = getScriptVar("live_set");
- if(live_set == null) {
- live_set = set.new();
- setScriptVar("live_set", live_set);
- } else {
- //Register all Live-Players again
- iter = set.iterator(live_set);
- while(hasNext(iter)) {
- player = player.get(next(iter));
- if(player != null) {
- player.setLive(player, true);
- }
- }
- }
- afk_loop_active = false;
- afk_map = getScriptVar("afk_map");
- if(afk_map == null) {
- afk_map = map.new();
- setScriptVar("afk_map", afk_map);
- } else {
- //Alle Spieler, die AFK waren, wieder als AFK registrieren
- iter = map.iterator(afk_map);
- while(hasNext(iter)) {
- element = next(iter);
- player = player.get(map.getKey(element));
- if(player != null) {
- player.setAfk(player, true);
- afk_loop_active = true;
- }
- }
- }
- if(afk_loop_active) {
- sgoto(30, "afk_loop");
- }
- setScriptVar("ha_data_lists", map.new());
- setScriptVar("ha_undo_lists", map.new());
- money.setBoostFactor(1);
- sgoto(10, "coordsloop");
- sgoto(1200, "afk_checker_loop");
- lag_list = list.new();
- clan_invitations = list.new();
- friend_requests = map.new();
- lock_chests = map.new();
- chatbuffer = map.new();
- tpa_request = list.new();
- answer_map = map.new();
- warninglist = list.new();
- plotpos1 = map.new();
- plotpos2 = map.new();
- invseeids = set.new();
- ride_set = set.new();
- fields = set.new();
- vanish_set = set.new();
- skip_night_set = set.new();
- afk_checker_map = map.new();
- butcher_set = set.new();
- set.add(butcher_set, "zombie");
- set.add(butcher_set, "zombie_villager");
- set.add(butcher_set, "husk");
- set.add(butcher_set, "skeleton");
- set.add(butcher_set, "creeper");
- set.add(butcher_set, "enderman");
- set.add(butcher_set, "pillager");
- set.add(butcher_set, "spider");
- set.add(butcher_set, "phantom");
- set.add(butcher_set, "witch");
- set.add(butcher_set, "stray");
- set.add(butcher_set, "drowned");
- set.add(butcher_set, "wither");
- set.add(butcher_set, "silverfish");
- set.add(butcher_set, "zombified_piglin");
- rank_array = array.new(25, 2);
- //Playtime
- rank_array[0, 0] = "rank.owner";
- rank_array[0, 1] = "4Owner";
- rank_array[1, 0] = "rank.admin";
- rank_array[1, 1] = "cAdmin";
- rank_array[2, 0] = "rank.moderator";
- rank_array[2, 1] = "9Moderator";
- rank_array[3, 0] = "rank.supporter";
- rank_array[3, 1] = "bSupporter";
- rank_array[4, 0] = "rank.dev";
- rank_array[4, 1] = "5Developer";
- rank_array[5, 0] = "rank.builder";
- rank_array[5, 1] = "5Builder";
- rank_array[6, 0] = "rank.vip";
- rank_array[6, 1] = "dVIP";
- rank_array[7, 0] = "rank.influencer";
- rank_array[7, 1] = "dInfluencer";
- rank_array[8, 0] = "rank.sponsor";
- rank_array[8, 1] = "dSponsor";
- rank_array[9, 0] = "rank.legend";
- rank_array[9, 1] = "2Legend";
- rank_array[10, 0] = "rank.pioneer";
- rank_array[10, 1] = "2Pioneer";
- rank_array[11, 0] = "rank.lord";
- rank_array[11, 1] = "2Lord";
- rank_array[12, 0] = "rank.altruist";
- rank_array[12, 1] = "2Altruist";
- rank_array[13, 0] = "major";
- rank_array[13, 1] = "2Major";
- rank_array[14, 0] = "rank.frequenter";
- rank_array[14, 1] = "6Frequenter";
- rank_array[15, 0] = "rank.explorer";
- rank_array[15, 1] = "6Explorer";
- rank_array[16, 0] = "rank.chief";
- rank_array[16, 1] = "6Chief";
- rank_array[17, 0] = "rank.friend";
- rank_array[17, 1] = "6Friend";
- rank_array[18, 0] = "rank.colonizer";
- rank_array[18, 1] = "6Colonizer";
- rank_array[19, 0] = "rank.newcomer";
- rank_array[19, 1] = "eNewcomer";
- rank_array[20, 0] = "rank.adventurer";
- rank_array[20, 1] = "eAdventurer";
- rank_array[21, 0] = "rank.commander";
- rank_array[21, 1] = "eCommander";
- rank_array[22, 0] = "rank.volunteer";
- rank_array[22, 1] = "eVolunteer";
- rank_array[23, 0] = "rank.settler";
- rank_array[23, 1] = "eSettler";
- rank_array[24, 0] = "rank.user";
- rank_array[24, 1] = "3User";
- setScriptVar("ranks", rank_array);
- month_array = array.new(12, 2);
- month.add(0, "Jan", 31);
- month.add(1, "Feb", 28);
- month.add(2, "Mar", 31);
- month.add(3, "Apr", 30);
- month.add(4, "May", 31);
- month.add(5, "Jun", 30);
- month.add(6, "Jul", 31);
- month.add(7, "Aug", 31);
- month.add(8, "Sep", 30);
- month.add(9, "Oct", 31);
- month.add(10, "Nov", 30);
- month.add(11, "Dec", 31);
- jailed_list = list.new();
- ironbars = read.item("minecraft:iron_bars", 1, "§r");
- jailmenu = inv.new("222222222");
- inv.setItem(jailmenu, 0, ironbars);
- inv.setItem(jailmenu, 1, ironbars);
- inv.setItem(jailmenu, 2, ironbars);
- inv.setItem(jailmenu, 3, ironbars);
- inv.setItem(jailmenu, 4, ironbars);
- inv.setItem(jailmenu, 5, ironbars);
- inv.setItem(jailmenu, 6, ironbars);
- inv.setItem(jailmenu, 7, ironbars);
- inv.setItem(jailmenu, 8, ironbars);
- skip_night_inv = inv.new("002020200");
- inv.setItem(skip_night_inv, 0, read.item("km:check_green", 1, "§fYes"));
- inv.setItem(skip_night_inv, 1, read.item("km:gem_stone", 1, "§fI don't care"));
- inv.setItem(skip_night_inv, 2, read.item("km:cross_red", 1, "§fNo"));
- skip_night_inv_id = inv.getId(skip_night_inv);
- vote_inv = inv.new("222222222");
- inv.setItem(vote_inv, 0, read.item("km:coin_gold", 1, "§fMoneyBooster", "Doubles incoming money for 5 minutes.", "Cost: 30 VP"));
- vote_inv_id = inv.getId(vote_inv);
- ha_tool = read.item("km:guild_block", 1, "§cHawkeye Tool", "Hawkeye Tool");
- consoleCommands = set.new();
- set.add(consoleCommands, "answer");
- set.add(consoleCommands, "ban");
- set.add(consoleCommands, "kick");
- set.add(consoleCommands, "lastseen");
- set.add(consoleCommands, "list");
- set.add(consoleCommands, "msg");
- set.add(consoleCommands, "say");
- set.add(consoleCommands, "silentban");
- set.add(consoleCommands, "silentkick");
- set.add(consoleCommands, "start");
- set.add(consoleCommands, "tempban");
- set.add(consoleCommands, "tempfly");
- set.add(consoleCommands, "unban");
- databank.workerExecute(databank.prepare("CREATE TABLE IF NOT EXISTS friends (player_id INT NOT NULL, friend_id INT NOT NULL, time BIGINT NOT NULL, PRIMARY KEY (player_id, friend_id), FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);"));
- databank.workerExecute(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(databank.prepare("CREATE TABLE IF NOT EXISTS tipps (tipp_key VARCHAR(20) PRIMARY KEY, tipp_value VARCHAR(255));"));
- databank.workerExecute(databank.prepare("CREATE TABLE IF NOT EXISTS plotranks (plot_id INT NOT NULL, player_id INT NOT NULL, rank VARCHAR(10), PRIMARY KEY (plot_id, player_id), FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);"));
- databank.workerExecute(databank.prepare("CREATE TABLE IF NOT EXISTS homes (player_id INT NOT NULL, name VARCHAR(20) NOT NULL, world_name VARCHAR(20) NOT NULL, x DOUBLE NOT NULL, y DOUBLE NOT NULL, z DOUBLE NOT NULL, yaw DOUBLE NOT NULL, pitch DOUBLE NOT NULL, PRIMARY KEY (player_id, name), FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);"));
- last_skip_night = 0;
- skip_night_started = false;
- jail_loop_active = false;
- actual_move_id = map.new(); //Key: player_uuid, Value: move_id. Diese Map speichert das aktuell betretene Plot eines Spielers.
- plot_move_ids_list = list.new(); //Speichert Array mit plot_id und move_id
- check_for_plot_list = list.new();
- plot.registerMoveEvents(world.get("overworld"));
- plot.registerMoveEvents(world.get("the_nether"));
- plot.registerMoveEvents(world.get("the_end"));
- plot.registerMoveEvents(world.get("creative"));
- event.load("entity_click");
- event.load("player_move");
- event.load("inv_click");
- event.load("inv_close");
- event.load("function_key");
- event.load("missing_perm");
- event.load("missing_command");
- event.load("custom_command");
- event.load("block_click");
- event.load("player_logout");
- event.load("player_data_tick");
- msg("dev", "§bCommands §rloaded.");
- @wait
- wait();
- if(event == "custom_command") {
- //Permission-Check
- command = text.toLowerCase(command);
- command = map.getOrDefault(alias_map, command, command);
- size = list.getSize(args);
- if(player == null) {
- sender = "SERVER";
- sender_name = "SERVER";
- if(set.contains(consoleCommands, command)) {
- ignoreGoto(command);
- goto("wait");
- }
- msg("SERVER", "Sorry. Not a console-command yet. Go and tell marvinius.");
- goto("wait");
- }
- if(!perm.has(player, command)) {
- perm.no(player, command);
- goto("wait");
- }
- sender = player;
- sender_name = player.getName(player);
- affectedname = player.getName(player);
- player_name = player.getName(player);
- affectedplayer = player;
- if(command != "leave") {
- if(player.isCommandBlocked(player)) {
- msg.prefix(player, prefix_commands, "§rThe most important rule in competition: Sabotage!");
- goto("wait");
- }
- }
- ignoreGoto(command);
- goto("wait");
- }
- if(event == "player_move") {
- player_uuid = player.getUuid(player);
- last_move_id = map.getOrDefault(actual_move_id, player_uuid, null);
- if(last_move_id == id) {
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(player));
- plot_id = plot.getPlotIdFromMoveId(id);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- goto("wait");
- }
- if(plot.isCity(plot)) {
- color_code = "§c";
- } else {
- color_code = "§e";
- }
- title.reset(player);
- title.setSub(player, concat("You entered ", color_code, plot.getName(plot), "."));
- title.send(player, "");
- map.add(actual_move_id, player_uuid, id);
- list.add(check_for_plot_list, player_uuid);
- sgoto(100, "checkForPlot");
- goto("wait");
- }
- if(event == "block_click") {
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(action == "right" && !word.isSurvName(world_name) && block.hasTag(beds_tag, block)) {
- cancel = true;
- goto("wait");
- }
- if(perm.has(player, "plot.bypass")) {
- goto("wait");
- }
- if(block.hasTag(chest_tag, block)) {
- sign_loc = loc.mod(block_loc, 0, 1, 0);
- if(isAWallSign(sign_loc) && isAdminShop(sign_loc)) {
- cancel = true;
- goto("wait");
- }
- if(plot.check(block_loc, player, 16, true)) {
- cancel = false;
- goto("wait");
- }
- player_id = player.getId(player);
- player_uuid = player.getUuid(player);
- list = plot.get(block_loc);
- if(list.getSize(list) > 0) {
- iter = list.iterator(list);
- access = false;
- while(hasNext(iter)) {
- plot = next(iter);
- canOpenChests = plot.canOpenChests(plot, player_id);
- if(plot.isSub(plot)) {
- if(canOpenChests) {
- cancel = false;
- goto("wait");
- }
- cancel = true;
- msg.prefix(player, prefix_plot, "This chest is locked for you.");
- goto("wait");
- }
- if(canOpenChests) {
- access = true;
- cancel = false;
- }
-
- }
- if(!access) {
- msg.prefix(player, prefix_plot, "This chest is locked for you.");
- }
- }
- goto("wait");
- }
- if(action == "right" && block.hasTag(sign_tag, block)) {
- line0 = block.getSign(block_loc, 0);
- if(line0 != "§3[§bFree Plot§3]") {
- goto("wait");
- }
- price = text.convert(removeFormat(block.getSign(block_loc, 1)));
- if(!isDouble(price) || price < 0) {
- msg.prefix(player, prefix_plot, "Positive number expected.");
- goto("wait");
- }
- p_id = text.convert(block.getSign(block_loc, 3));
- if(!isDouble(p_id)) {
- msg.prefix(player, prefix_plot, "Invalid city owner.");
- goto("wait");
- }
- if(player.getNameFromId(p_id) == null) {
- msg.prefix(player, prefix_plot, "Invalid city owner.");
- goto("wait");
- }
- if(!hasEnoughMoney(player, price)) {
- msg.prefix(player, prefix_plot, concat("You'll need §6", text.number(price), "§r snuvis for this."));
- goto("wait");
- }
- plot_list = plot.get(block_loc);
- iter = list.iterator(plot_list);
- while(hasNext(iter)) {
- plot = next(iter);
- if(plot.isFree(plot)) {
- break;
- }
- }
- if(!plot.isFree(plot)) {
- msg.prefix(player, prefix_plot, "You aren't on a free plot.");
- goto("wait");
- }
- //Plot claimen
- subMoney(player, price);
- addMoney(p_id, price);
- plot.setSub(plot, true);
- plot.setLeader(plot, player.getId(player));
- player_name = player.getName(player);
- plot.addPlayer(plot, player_name);
- plot.setName(plot, concat(player_name, "'s plot"));
- msg.prefix(player, prefix_plot, concat("Plot claimed. Spent §6", text.number(price), "§r snuvis."));
- goto("wait");
- }
- goto("wait");
- }
- if(event == "missing_command") {
- if(player == null) { //--> Server
- player = "SERVER";
- if(command_name == null) {
- msg.prefix(player, prefix_commands, concat("Missing Command"));
- goto("wait");
- }
- }
- msg.prefix(player, prefix_commands, concat("No command ", command_name));
- goto("wait");
- }
- if(event == "player_logout") {
- map.remove(afk_checker_map, uuid);
- player.setAfk(player, false);
- list.remove(jailed_list, player.getUuid(player));
- if(player.hasQuest2(player)) {
- script_id = quest.getFromPlayer(player);
- script = script.getFromId(script_id);
- if(script == null) {
- snuvi.debug("Player logged out with corrupt quest");
- quest.removePlayer(player); //in case of corrupt quest
- goto("wait");
- }
- setScriptVar("player", player);
- script.callEvent("quest_term", script);
- quest.term(script, player);
- }
- if(player.isInParty(player)) {
- party.kickPlayer(player, "logout");
- }
- goto("wait");
- }
- if(event == "missing_perm") {
- if(player == null) { //--> Server
- player = "SERVER";
- if(command_name == null) {
- msg.prefix(player, prefix_commands, concat("Missing Perm"));
- goto("wait");
- }
- }
- perm.no(player, command_name);
- goto("wait");
- }
- if(event == "entity_click") {
- player_uuid = player.getUuid(player);
- if(set.contains(ride_set, player_uuid)) {
- set.remove(ride_set, player_uuid);
- entity.mount(player, entity);
- }
- goto("wait");
- }
- if(event == "inv_click") {
- //inv see
- if(set.contains(invseeids, inv_id)) {
- //On inv_click in an invsee inventory
- split_list = text.split(" ", inv_name);
- p_name = list.getIndex(split_list, 2);
- p = read.player(p_name);
- if(p == null) {
- inv.close(player);
- msg.prefix(sender_name, prefix_commands, "This player is no longer online. Use /inv load <player> and /inv save <player> to overwrite an offline player's inventory.");
- goto("wait");
- }
- //Transmit item
- player.removeItem(p, item);
- player.safeGiveItem(player, item);
- inv.setItem(inv, inv_slot, read.item("minecraft:air"));
- inv.update(player);
- goto("wait");
- }
- if(inv_id == vote_inv_id) {
- if(inv_slot == 0) {
- if(money.getBoostFactor() > 1) {
- msg.prefix(player, prefix_commands, "Boost already active.");
- goto("wait");
- }
- vp = player.getVotePoints(player);
- if(vp < 30) {
- msg.prefix(player, prefix_commands, "Not enough vote points.");
- goto("wait");
- }
- player.setVotePoints(player, vp - 30);
- msg("online", "§6§k#§rMoneyBooster activated!!!§6§k#");
- money.setBoostFactor(2);
- sgoto(6000, "resetMoneyBoost");
- }
- goto("wait");
- }
- if(inv_id == skip_night_inv_id) {
- world = world.getOverWorld();
- world_time = world.getTime(world);
- while(world_time >= 24000) {
- world_time -= 24000;
- }
- if(world_time <= 12500) {
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- if(set.contains(skip_night_set, player_uuid)) {
- msg.prefix(player, prefix_commands, "Already voted.");
- goto("wait");
- }
- set.add(skip_night_set, player_uuid);
- if(!skip_night_started) {
- world.addTimedStatus(world, 49, 600, "Skip night?");
- sendMessageToWorld(world, "[§6Commands§r] Skip night? Vote within 15 seconds.");
- skip_night_counter = 15;
- skip_night_yes = 0;
- skip_night_no = 0;
- skip_night_no_care = 0;
- skip_night_started = true;
- sgoto(20, "skip_night_loop");
- }
- if(inv_slot == 0) {
- skip_night_yes++;
- inv.close(player);
- goto("wait");
- }
- if(inv_slot == 1) {
- skip_night_no_care++;
- inv.close(player);
- goto("wait");
- }
- if(inv_slot == 2) {
- skip_night_no++;
- inv.close(player);
- goto("wait");
- }
- goto("wait");
- }
- if(inv_name == "Skills") {
- if(item.getType(item) == "minecraft:air") {
- goto("wait");
- }
- skill_name = removeFormat(item.getName(item));
- tech_name = skill.getTechName(skill_name);
- //Toggle skill
- if(skill.isToggleable(skill_name)) {
- if(skill.isActivated(player, tech_name)) {
- skill.setActivated(player, tech_name, false);
- } else {
- skill.setActivated(player, tech_name, true);
- }
- inv.setItem(inv, inv_slot, skill.getShopItem(player, tech_name));
- inv.update(player);
- goto("wait");
- }
- //Activate skill
- if(skill.isActive(skill_name)) {
- player_loc = entity.getLocation(player);
- world_name = world.getName(loc.getWorld(player_loc));
- if(!word.isSurvName(world_name)) {
- msg.prefix(player, prefix_skill, "You can't use this in this world.");
- goto("wait");
- }
- if(tech_name == "skill.timber") {
- duration = data.getTimer(player, "timber");
- if(duration > 0) {
- msg.prefix(player, prefix_skill, "Skill already active.");
- goto("wait");
- }
- amount = skill.getAmount(player, "skill.timber");
- if(amount > 0) {
- status.addTimed(player, 50, 1200, "Timber");
- data.setTimer(player, "timber", 1200);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.timber", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Timber. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.fly10min") {
- duration = data.getTimer(player, "fly");
- if(duration > 0) {
- msg.prefix(player, prefix_skill, "Skill already active.");
- goto("wait");
- }
- amount = skill.getAmount(player, "skill.fly10min");
- if(amount > 0) {
- status.addTimed(player, 50, 12000, "Fly");
- data.setTimer(player, "fly", 12000);
- player.setFly(player, true);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.fly10min", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Fly 10min. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.grow") {
- amount = skill.getAmount(player, "skill.grow");
- if(amount > 0) {
- grow(player_loc, 5);
- particle.spawnCircle(loc.mod(entity.getLocation(player), 0, 0.8, 0), composter_par, 50, 5, 1, 0, 0, 0.2, 0);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.grow", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Grow. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.haste") {
- amount = skill.getAmount(player, "skill.haste");
- if(amount > 0) {
- entity.addEffect(player, "haste", 2400, 0);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.haste", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Haste. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.speed") {
- amount = skill.getAmount(player, "skill.speed");
- if(amount > 0) {
- entity.addEffect(player, "speed", 2400, 0);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.speed", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Speed. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.jump_boost") {
- amount = skill.getAmount(player, "skill.jump_boost");
- if(amount > 0) {
- entity.addEffect(player, "jump_boost", 2400, 1);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.jump_boost", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Jump Boost. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.dolphin") {
- amount = skill.getAmount(player, "skill.dolphin");
- if(amount > 0) {
- entity.addEffect(player, "dolphins_grace", 1200, 0);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.dolphin", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Dolphin. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.block_up") {
- duration = data.getTimer(player, "block_up");
- if(duration > 0) {
- msg.prefix(player, prefix_skill, "Skill already active.");
- goto("wait");
- }
- amount = skill.getAmount(player, "skill.block_up");
- if(amount > 0) {
- status.addTimed(player, 51, 1200, "Block Up");
- data.setTimer(player, "block_up", 1200);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.block_up", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Block Up. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- if(tech_name == "skill.block_down") {
- duration = data.getTimer(player, "block_down");
- if(duration > 0) {
- msg.prefix(player, prefix_skill, "Skill already active.");
- goto("wait");
- }
- amount = skill.getAmount(player, "skill.block_down");
- if(amount > 0) {
- status.addTimed(player, 52, 1200, "Block Down");
- data.setTimer(player, "block_down", 1200);
- new_amount = amount - 1;
- skill.setAmount(player, "skill.block_down", new_amount);
- msg.prefix(player, prefix_skill, concat("Used Block Down. New amount: ", text.number(new_amount)));
- }
- goto("wait");
- }
- }
- goto("wait");
- }
- if(inv_name == "§8Settings") {
- if(inv_slot == 0) {
- new_value = !player.getAutoCloseDoor(player);
- player.setAutoCloseDoor(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:oak_door", 1, "§fAutomatic Doors", new_value));
- }
- elseif(inv_slot == 1) {
- new_value = !player.doesAcceptTpaRequests(player);
- player.acceptTpaRequests(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:ender_pearl", 1, "§fAccept TPA-Requests", new_value));
- }
- elseif(inv_slot == 2) {
- new_value = !showCoords.get(player);
- showCoords.set(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:compass", 1, "§fShow Coords", new_value));
- if(!new_value) {
- display.remove(player, 30);
- }
- }
- elseif(inv_slot == 3) {
- new_value = !player.hasSittingActivated(player);
- player.activateSitting(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:oak_stairs", 1, "§fStair-Sitting", new_value));
- }
- elseif(inv_slot == 4) {
- new_value = !hasPvpOn(player);
- setPvp(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:iron_sword", 1, "§fPvP", new_value));
- }
- elseif(inv_slot == 5) {
- new_value = !player.getNoPetDamage(player);
- player.setNoPetDamage(player, new_value);
- inv.setItem(inv, inv_slot, read.item("minecraft:bone", 1, "§fNo Pet Damage", new_value));
- }
- inv.update(player);
- }
- goto("wait");
- }
- if(event == "inv_close") {
- if(set.contains(invseeids, inv_id)) {
- set.remove(invseeids, inv_id);
- }
- goto("wait");
- }
- if(event == "function_key") {
- if(player.hasMinigame(player)) {
- goto("wait");
- }
- if(key == 1) {
- inv = inv.new("333333333");
- inv.setItem(inv, 0, read.item("minecraft:oak_door", 1, "§fAutomatic Doors", player.getAutoCloseDoor(player)));
- inv.setItem(inv, 1, read.item("minecraft:ender_pearl", 1, "§fAccept TPA-Requests", player.doesAcceptTpaRequests(player)));
- inv.setItem(inv, 2, read.item("minecraft:compass", 1, "§fShow Coords", showCoords.get(player)));
- inv.setItem(inv, 3, read.item("minecraft:oak_stairs", 1, "§fStair-Sitting", player.hasSittingActivated(player)));
- inv.setItem(inv, 4, read.item("minecraft:iron_sword", 1, "§fPvP", hasPvpOn(player)));
- inv.setItem(inv, 5, read.item("minecraft:bone", 1, "§fNo Pet Damage", player.getNoPetDamage(player)));
- inv.open(inv, player, "§8Settings");
- goto("wait");
- }
- if(key == 2) {
- player_loc = entity.getLocation(player);
- world_name = world.getName(loc.getWorld(player_loc));
- if(word.isSurvName(world_name) || world_name == "story") {
- skill.showAll(player);
- }
- goto("wait");
- }
- if(key == 3) {
- player_loc = entity.getLocation(player);
- world_name = world.getName(loc.getWorld(player_loc));
- if(!word.isSurvName(world_name)) {
- goto("wait");
- }
- world_time = world.getTime(world.getOverWorld());
- while(world_time >= 24000) {
- world_time -= 24000;
- }
- if(world_time <= 12500) {
- msg.prefix(player, prefix_commands, "Only during night possible.");
- goto("wait");
- }
- if(set.contains(skip_night_set, player_uuid)) {
- msg.prefix(player, prefix_commands, "Already voted.");
- goto("wait");
- }
- if(time.getMillis() - last_skip_night < 420000) {
- msg.prefix(player, prefix_commands, "Only once per night possible.");
- goto("wait");
- }
- inv.open(skip_night_inv, player, "Skip Night?");
- goto("wait");
- }
- goto("wait");
- }
- if(event == "player_data_tick") {
- if(var == "fly") {
- tpBottom(player);
- player.setFly(player, false);
- }
- }
- goto("wait");
- @hack
- msg.prefix(player, prefix_commands, "Your pc got hacked now.");
- goto("wait");
- @resetMoneyBoost
- money.setBoostFactor(1);
- goto("wait");
- @skip_night_loop
- skip_night_counter--;
- if(skip_night_counter == 0) {
- world = world.getOverWorld();
- sendMessageToWorld(world, "[§6Commands§r] Skip night results:");
- sendMessageToWorld(world, concat("§e - §rYes: §e", text.number(skip_night_yes)));
- sendMessageToWorld(world, concat("§e - §rNo: §e", text.number(skip_night_no)));
- sendMessageToWorld(world, concat("§e - §rI don't care: §e", text.number(skip_night_no_care)));
- if(skip_night_yes > skip_night_no) {
- world.setTime(world, 0);
- }
- set.clear(skip_night_set);
- last_skip_night = time.getMillis();
- sgoto(8400, "reset_skip_night");
- }
- sgoto(20, "skip_night_loop");
- goto("wait");
- @reset_skip_night
- skip_night_started = false;
- goto("wait");
- @skills
- skill.showAll(player);
- goto("wait");
- @infopoint1
- msg(player, getSpacer());
- msg.prefix(player, "§eSurvival", "§aEnjoy our modded survival feeling. New ores, items and displays, and we are still beginner friendly.");
- goto("wait");
- @infopoint2
- msg(player, getSpacer());
- msg.prefix(player, "§eAdventure", "§aSearching for a new challenge? Get teleported thousands of blocks away in the wildness with no inventory and find your way back to spawn.");
- goto("wait");
- @infopoint3
- msg(player, getSpacer());
- msg.prefix(player, "§ePlots", "§aClaim land and protect your buildings against other players. Use /plot to create and manage your plots.");
- goto("wait");
- @infopoint4
- msg(player, getSpacer());
- msg.prefix(player, "§eClans", "§aAs a well-known player on our server you can create your own community. By now as a clan you can only create cities.");
- goto("wait");
- @infopoint5
- msg(player, getSpacer());
- msg.prefix(player, "§eCities", "§aAs a clan leader you can raise your plots to big cities. Create sub-plots and sell them to other players.");
- goto("wait");
- @infopoint6
- msg(player, getSpacer());
- msg.prefix(player, "§eShops", "§aUse our admin-shop to trade, or create an own shop with /shop. We might do a YT-tutorial on this.");
- goto("wait");
- @infopoint7
- msg(player, getSpacer());
- msg.prefix(player, "§eMinigames", "§aWe offer a range of different single- and multiplayer games.");
- goto("wait");
- @infopoint8
- msg(player, getSpacer());
- msg.prefix(player, "§eQuests", "§aYou are nice and helpful? There are lots of tasks to do in the villages.");
- goto("wait");
- @infopoint9
- msg(player, getSpacer());
- msg.prefix(player, "§eRanking", "§aWanna rise in rank and be the best player in every branch? Look at our ranks.");
- goto("wait");
- @infopoint10
- msg(player, getSpacer());
- msg.prefix(player, "§eRules", "§aThere is at least one rule: Be respectful. Look at our fake rules.");
- goto("wait");
- @infopoint11
- msg(player, getSpacer());
- msg.prefix(player, "§eNote", "§aEverything is self-coded. Worldedit is the only external mod we use.");
- goto("wait");
- @party
- if(size == 0) {
- @partyhelp
- msg.prefix(player, prefix_party, "§r/party ...");
- msg(player, "§5 - invite <player> §rInvite a player");
- msg(player, "§5 - accept <player> §rAccept an invitation");
- msg(player, "§5 - deny <player> §rDeny an invitation");
- msg(player, "§5 - kick <player> §rKick a player");
- msg(player, "§5 - leave §rLeave the party");
- msg(player, "§5 - promote <player> §rPromote a player");
- msg(player, "§5 - demote <player> §rDemote a player");
- msg(player, "§5 - disband §rDisband a party");
- msg(player, "§5 - list §rParty information");
- msg(player, "§5 - <message> §rSends a party message");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "list") {
- if(size != 1) {
- msg.prefix(player, prefix_party, "§5/party list");
- } else {
- if(!player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are not in a party.");
- goto("wait");
- }
- list = party.getList(player.getPartyId(player));
- table = table.new("§5", 13, 7);
- msg(player, table.getStart(table));
- msg(player, table.get(table, "§lName", "§lRole"));
- msg(player, table.getMiddle(table));
- iter = list.iterator(list);
- while(hasNext(iter)) {
- p = player.get(next(iter));
- msg(player, table.get(table, player.getName(p), player.getPartyRank(p)));
- }
- msg(player, table.getEnd(table));
- }
- goto("wait");
- }
- if(arg0 == "leave") {
- if(size != 1) {
- msg.prefix(player, prefix_party, "§5/party leave");
- } else {
- if(!player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are not in a party.");
- goto("wait");
- }
- party.kickPlayer(player, "leave");
- }
- goto("wait");
- }
- if(arg0 == "disband") {
- if(size != 1) {
- msg.prefix(player, prefix_party, "§5/party disband");
- } else {
- if(!player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are not in a party.");
- goto("wait");
- }
- if(!player.isPartyLeader(player)) {
- msg.prefix(player, prefix_party, "You are not the party leader.");
- goto("wait");
- }
- party.delete(player.getPartyId(player));
- }
- goto("wait");
- }
- if(arg0 == "kick") {
- if(size != 2) {
- msg.prefix(player, prefix_party, "§5/party kick <player>");
- } else {
- if(!player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are not in a party.");
- goto("wait");
- }
- if(!player.isPartyLeaderOrMod(player)) {
- msg.prefix(player, prefix_party, "You are not leader or moderator of the party.");
- goto("wait");
- }
- pname = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- msg.prefix(player, prefix_party, "This player has never been online.");
- goto("wait");
- }
- p = read.player(pname);
- if(p == null) {
- msg.prefix(player, prefix_party, "This player is not online.");
- goto("wait");
- }
- if(player == p) {
- msg.prefix(player, prefix_party, "You can´t apply that to yourself.");
- goto("wait");
- }
- if(!party.same(p, player)) {
- msg.prefix(player, prefix_party, "This player is not in your party.");
- goto("wait");
- }
- ownrank = player.getPartyRank(player);
- if(ownrank == "Moderator") {
- if(player.isPartyLeaderOrMod(p)) {
- msg.prefix(player, prefix_party, "§rDu darfst diesen Spieler nicht kicken");
- goto("wait");
- }
- }
- party.kickPlayer(p, "kick");
- }
- goto("wait");
- }
- if(arg0 == "promote" || arg0 == "demote") {
- if(size != 2) {
- msg.prefix(player, prefix_party, concat("§5/party ", arg0, " <player>"));
- } else {
- pname = list.getIndex(args, 1);
- if(!player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are not in a party.");
- goto("wait");
- }
- if(!player.isPartyLeader(player)) {
- msg.prefix(player, prefix_party, "You are not the party leader.");
- goto("wait");
- }
- if(!checkIfEverOnline(pname)) {
- msg.prefix(player, prefix_party, "This player has never been online.");
- goto("wait");
- }
- p = read.player(pname);
- if(p == null) {
- msg.prefix(player, prefix_party, "This player is not online.");
- goto("wait");
- }
- if(player == p) {
- msg.prefix(player, prefix_party, "You can´t apply that to yourself.");
- goto("wait");
- }
- if(!party.same(p, player)) {
- msg.prefix(player, prefix_party, "This player is not in your party.");
- goto("wait");
- }
- partyid = player.getPartyId(player);
- rank = player.getPartyRank(p);
- if(arg0 == "promote") {
- if(rank == "Player") {
- player.setPartyRank(p, "Moderator");
- party.sendMessage(partyid, concat("§r", pname, " is now Moderator."));
- } elseif(rank == "Moderator") {
- player.setPartyRank(p, "Leader");
- player.setPartyRank(player, "Moderator"); //Ex-Leader degradieren
- party.sendMessage(partyid, concat("§r", pname, " is now Leader."));
- }
- } elseif(arg0 == "demote") {
- if(rank == "Moderator") {
- player.setPartyRank(p, "Player");
- party.sendMessage(partyid, concat("§r", pname, " is no longer Moderator."));
- } else {
- msg.prefix(player, prefix_party, "This player cannot be demoted.");
- }
- }
- }
- goto("wait");
- }
- if(arg0 == "invite") {
- if(size != 2) {
- msg.prefix(player, prefix_party, "§5/party invite <player>");
- } else {
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_party, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- temp = party.invitePlayer(player, p);
- if(temp == "inviteeNotOnline") {
- msg.prefix(player, prefix_party, "This player is not online.");
- } elseif(temp == "inviterEqualsInvitee") {
- msg.prefix(player, prefix_party, "You can´t apply that to yourself.");
- } elseif(temp == "inviterNotPermitted") {
- msg.prefix(player, prefix_party, "You are not leader or moderator of the party.");
- } elseif(temp == "inviteeAlreadyInParty") {
- msg.prefix(player, prefix_party, "This player is already in your party.");
- } elseif(temp == "inviteeAlreadyInvited") {
- msg.prefix(player, prefix_party, "This player already has an invitation from you.");
- } else {
- msg.prefix(player, prefix_party, "Invitation sent.");
- }
- }
- goto("wait");
- }
- if(arg0 == "accept") {
- if(size != 2) {
- msg.prefix(player, prefix_party, "§5/party accept <player>");
- } else {
- if(player.isInParty(player)) {
- msg.prefix(player, prefix_party, "You are already in a party.");
- goto("wait");
- }
- pname = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- msg.prefix(player, prefix_party, "This player has never been online.");
- goto("wait");
- }
- p = read.player(pname);
- if(p == null) {
- msg.prefix(player, prefix_party, "This player is no longer online.");
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- p_uuid = player.getUuid(p);
- list = map.get(party_invitations, player_uuid);
- if(list == null || !list.contains(list, p_uuid)) {
- msg.prefix(player, prefix_party, "This invitation is invalid.");
- goto("wait");
- }
- if(player.isInParty(p)) { //wenn einlader bereits in party
- partyid = player.getPartyId(p);
- if(map.get(party_invite_ids, p_uuid) == partyid) { //wenn partyid noch die gleiche ist wie bei einladung
- party.addPlayer(partyid, player);
- player.setPartyRank(player, "Player");
- } else {
- msg.prefix(player, prefix_party, "This player is already in another party.");
- goto("wait");
- }
- } else {
- partyid = map.get(party_invite_ids, p_uuid);
- party.setList(partyid, list.new());
- party.addPlayer(partyid, p);
- party.addPlayer(partyid, player);
- player.setPartyRank(p, "Leader");
- player.setPartyRank(player, "Player");
- msg.prefix(p, prefix_party, "The party was created.");
- }
- list.clear(list); //Einladungs-Liste von oben
- party.sendMessage(partyid, concat("§r", player_name, " joined the party."));
- }
- goto("wait");
- }
- if(arg0 == "deny") {
- if(size != 2) {
- msg.prefix(player, prefix_party, "§5/party deny <player>");
- } else {
- player_uuid = player.getUuid(player);
- list = map.get(party_invitations, player_uuid);
- if(list != null) {
- pname = list.getIndex(args, 1);
- p = read.player(pname);
- if(p == null) {
- msg.prefix(player, prefix_party, "This player is no longer online.");
- goto("wait");
- }
- p_uuid = player.getUuid(p);
- if(list == null || !list.contains(list, p_uuid)) {
- msg.prefix(player, prefix_party, "This invitation is invalid.");
- goto("wait");
- }
- index = list.getIndexOf(list, p_uuid);
- list.remove(list, p_uuid);
- keytimes = map.get(delkeytimes, player_uuid);
- list.removeIndex(keytimes, index);
- p = read.player(pname);
- if(p != null) {
- msg.prefix(p, prefix_party, concat("§r", player_name, " has denied your invitation."));
- }
- msg.prefix(player, prefix_party, concat("Invitation from ", pname, " denied."));
- }
- }
- goto("wait");
- }
- if(player.isInParty(player)) {
- message = concat(player.getName(player), " §1| §r", text.concatList(args, " ", 0, list.getSize(args) - 1));
- party.sendMessage(player.getPartyId(player), message);
- goto("wait");
- }
- goto("partyhelp");
- @setmessage
- if(size == 0) {
- @setmessagehelp
- msg.prefix(player, prefix_commands, "§r/setmessage ...");
- msg(player, "§e- join <message> §rSets your joinmessage");
- msg(player, "§e- leave <message> §rSets your leavemessage");
- msg(player, "§e- info §rShows you set messages");
- if(perm.has(player, "setmessage.delete")) {
- msg(player, "§e- delete <player> §rDeletes a players messages");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "info") {
- fullname = player.getFullName(player);
- message = text.convert(player.getJoinMessage(player));
- if(message == null) {
- msg.prefix(player, prefix_commands, "No join message set.");
- } else {
- msg.prefix(player, prefix_commands, concat("§a§l> §r", fullname, " §9", message));
- }
- message = text.convert(player.getLeaveMessage(player));
- if(message == null) {
- msg.prefix(player, prefix_commands, "No leave message set.");
- } else {
- msg.prefix(player, prefix_commands, concat("§c§l> §r", fullname, " §9", message));
- }
- goto("wait");
- }
- if(arg0 == "join") {
- if(size < 2) {
- goto("setmessagehelp");
- }
- message = text.concatList(args, " ", 1, size - 1);
- player.setJoinMessage(player, message);
- msg.prefix(player, prefix_commands, "Join-Message set.");
- goto("wait");
- }
- if(arg0 == "leave") {
- if(size < 2) {
- goto("setmessagehelp");
- }
- message = text.concatList(args, " ", 1, size - 1);
- player.setLeaveMessage(player, message);
- msg.prefix(player, prefix_commands, "Leave-Message set.");
- goto("wait");
- }
- if(arg0 == "delete") {
- if(size == 1) {
- p_uuid = player.getUuid(player);
- } elseif(size == 2) {
- if(!perm.has(player, "setmessage.delete")) {
- perm.no(player, "setmessage.delete");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- } else {
- goto("setmessagehelp");
- }
- p_id = player.getId(p_uuid);
- player.setJoinMessage(p_id, "null");
- player.setLeaveMessage(p_id, "null");
- msg.prefix(player, prefix_commands, "Messages deleted.");
- goto("wait");
- }
- goto("wait");
- @lag
- msg.prefix(player, prefix_commands, "Lag test is performed. Please wait...");
- a = array.new(2);
- a[0] = player.getUuid(player);
- a[1] = time.getMillis();
- list.add(lag_list, a);
- sgoto(100, "do_lag_test");
- goto("wait");
- @do_lag_test
- t = time.getMillis();
- a = list.getIndex(lag_list, 0);
- list.removeIndex(lag_list, 0);
- p_uuid = a[0];
- t_old = a[1];
- t = math.roundComma((t - t_old) / 5000 * 20, 2); //Umwandlung 5000ms -> 1s -> 20ticks
- p = player.get(p_uuid);
- if(p != null) {
- msg.prefix(p, prefix_commands, "Expected: 20 ticks/sec");
- msg.prefix(p, prefix_commands, concat("Measured: ", t, " ticks/sec"));
- }
- goto("wait");
- @live
- boolean = !player.isLive(player);
- player.setLive(player, boolean);
- player.setHeadName(player);
- player.setTabName(player);
- msg.prefix(player, prefix_commands, "Live toggled.");
- goto("wait");
- @lightning
- location = player.getTarget(player, 50, true, true);
- if(block.getType(location) == "minecraft:air") {
- msg.prefix(player, prefix_commands, "No block in sight.");
- goto("wait");
- }
- entity.spawn("minecraft:lightning_bolt", location);
- goto("wait");
- @ride
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- if(player.hasMinigame(affectedplayer) || (perm.has(affectedplayer, "ride") && !perm.has(affectedplayer, "isTeam"))) {
- if(size == 2) {
- msg.prefix(player, prefix_commands, "This player can't use this now.");
- } else {
- msg.prefix(player, prefix_commands, "You can't use this now.");
- }
- goto("wait");
- }
- }
- player_uuid = player.getUuid(player);
- if(set.contains(ride_set, player_uuid)) {
- msg.prefix(player, prefix_commands, "Entity-Ride-Click removed.");
- set.remove(ride_set, player_uuid);
- } else {
- msg.prefix(player, prefix_commands, "Click an entity to ride it.");
- set.add(ride_set, player_uuid);
- }
- goto("wait");
- @vanish
- //vanish [on/off] [player]
- if(size == 0) {
- if(set.contains(vanish_set, player.getUuid(affectedplayer))) {
- bool = "off";
- } else {
- bool = "on";
- }
- }
- if(size >= 1) {
- bool = list.getIndex(args, 0);
- }
- if(size == 2) {
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- affectedname = player.getName(affectedplayer);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- if(bool == "on") {
- if(affectedname != player_name) {
- msg.prefix(player, prefix_commands, concat(affectedname, " has been vanished."));
- msg.prefix(affectedplayer, prefix_commands, concat("You have been vanished by ", player_name, "."));
- } else {
- msg.prefix(affectedplayer, prefix_commands, "You are vanished.");
- }
- set.add(vanish_set, player.getUuid(affectedplayer));
- player.hide(affectedplayer);
- } elseif(bool == "off") {
- if(affectedname != player_name) {
- msg.prefix(player, prefix_commands, concat(affectedname, " is no longer vanished."));
- msg.prefix(affectedplayer, prefix_commands, concat("You are no longer vanished caused by ", player_name, "."));
- } else {
- msg.prefix(affectedplayer, prefix_commands, "You are no longer vanished.");
- }
- set.remove(vanish_set, player.getUuid(affectedplayer));
- player.show(affectedplayer);
- } else {
- msg.prefix(player, prefix_commands, "§r/vanish [on/off] [player]");
- }
- goto("wait");
- @user
- if(size == 0) {
- p_name = player.getName(player);
- p_uuid = player.getUuid(p_name);
- } else {
- if(!perm.has(player, "user.other")) {
- perm.no(player, "user.other");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- p_name = player.getName(p_uuid);
- }
- p = read.player(p_name);
- p_id = player.getId(p_uuid);
- if(p == null) {
- p_or_id = p_id;
- } else {
- p_or_id = p;
- }
- table = table.new("§8", 6, 24);
- msg(player, table.getStart(table));
- msg(player, table.get(table, "Player", p_name));
- msg(player, table.getMiddle(table));
- msg(player, table.get(table, "Playtime", text.number(math.roundDown(player.getTotalPlaytime(p_or_id) / 60))));
- msg(player, table.get(table, "Joins", text.number(player.getJoins(p_or_id))));
- msg(player, table.get(table, "First Join", getDateString(player.getFirstJoin(p_or_id))));
- msg(player, table.get(table, "Last Join", getDateString(player.getLastJoin(p_or_id))));
- msg(player, table.get(table, "UUID", p_uuid));
- msg(player, table.get(table, "ID", text.number(p_id)));
- msg(player, table.get(table, "Rank", getRank(p_or_id)));
- msg(player, table.get(table, "PvP", hasPvpOn(p_or_id)));
- msg(player, table.get(table, "Quests", text.number(quest.getCounter(p_or_id))));
- msg(player, table.get(table, "Money", text.number(getMoney(p_or_id))));
- msg(player, table.getEnd(table));
- goto("wait");
- @quest
- if(size == 0) {
- @quest_syntax
- msg.prefix(player, prefix_quest, "§r/quest ...");
- msg(player, "§5 - term <player> §rTerminates a player's quest");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "term") {
- if(size != 2) {
- msg.prefix(player, prefix_quest, "§r/quest term <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_quest, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_quest, "This player is not online.");
- goto("wait");
- }
- script_id = quest.getFromPlayer(p);
- if(script_id == null) {
- msg.prefix(player, prefix_quest, "This player has no quest.");
- goto("wait");
- }
- script = script.getFromId(script_id);
- if(script == null) {
- quest.removePlayer(p);
- msg.prefix(player, prefix_quest, "Corrupt quest terminated.");
- goto("wait");
- }
- setScriptVar("player", p);
- script.callEvent("quest_term", script);
- quest.term(script, player);
- msg.prefix(player, prefix_quest, "Player's quest terminated.");
- goto("wait");
- }
- goto("quest_syntax");
- @friend
- if(size == 0) {
- @friend_syntax
- msg.prefix(player, prefix_friends, "§r/friend ...");
- msg(player, "§5 - add <player> §rAdds a friend");
- msg(player, "§5 - remove <player> §rRemoves a friend");
- msg(player, "§5 - list §rLists all your friends");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "add") {
- if(size != 2) {
- msg.prefix(player, prefix_friends, "§r/friend add <player>");
- goto("wait");
- }
- friend_name = list.getIndex(args, 1);
- if(player_name == friend_name) {
- msg.prefix(player, prefix_friends, "You can't invite yourself.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!checkIfEverOnline(friend_name)) {
- msg.prefix(player, prefix_friends, "This player has never been online.");
- goto("wait");
- }
- friend_id = player.getId(player.getUuid(friend_name));
- if(friend.check(player_id, friend_id)) {
- msg.prefix(player, prefix_friends, "This player is already your friend.");
- goto("wait");
- }
- if(map.contains(friend_requests, friend_id)) {
- if(map.get(friend_requests, friend_id) == player_id) {
- friend.add(player_id, friend_id);
- map.remove(friend_requests, friend_id);
- msg.prefix(player, prefix_friends, concat("§7", friend_name, "§r is your friend now."));
- msg.send(player, friend_name, prefix_friends, concat("§7", player_name, "§r is your friend now."), true);
- goto("wait");
- }
- }
- map.add(friend_requests, player_id, friend_id); //Einlader, Eingeladener
- friend = read.player(friend_name);
- msg.prefix(player, prefix_friends, concat("You sent an invitation to §7", friend_name, "§r."));
- msg.send(player, friend_name, prefix_friends, concat("§7", player_name, "§r wants to be your friend."), true);
- if(friend != null) {
- msg(friend, text.click("§r[§aAccept§r]", concat("/friend add ", player_name)));
- }
- goto("wait");
- }
- if(arg0 == "remove") {
- if(size != 2) {
- msg.prefix(player, prefix_friends, "§r/friend remove <player>");
- goto("wait");
- }
- friend_name = list.getIndex(args, 1);
- player_id = player.getId(player);
- if(!checkIfEverOnline(friend_name)) {
- msg.prefix(player, prefix_friends, "This player has never been online.");
- goto("wait");
- }
- friend_id = player.getId(player.getUuid(friend_name));
- if(!friend.check(player_id, friend_id)) {
- msg.prefix(player, prefix_friends, "This player isn't your friend.");
- goto("wait");
- }
- friend.delete(player_id, friend_id);
- msg.prefix(player, prefix_friends, concat("§7", friend_name, "§r is no longer your friend."));
- msg.send(player, friend_name, prefix_friends, concat("§7", player_name, "§r is no longer your friend."), true);
- goto("wait");
- }
- if(arg0 == "list") {
- if(size != 1) {
- msg.prefix(player, prefix_friends, "/friend list");
- goto("wait");
- }
- player_id = player.getId(player);
- friendlist = friend.getList(player_id);
- listsize = list.getSize(friendlist);
- if(listsize == 0) {
- msg.prefix(player, prefix_friends, "You have no friends yet.");
- goto("wait");
- }
- msg(player, "§5Friends:");
- for(i = 0; i <= listsize - 1; i++) {
- msg(player, "§r- ", list.getIndex(friendlist, i));
- }
- goto("wait");
- }
- goto("friend_syntax");
- @var
- if(size != 2) {
- msg.prefix(player, prefix_commands, "§r/var <id> <varname>");
- goto("wait");
- }
- script_id = list.getIndex(args, 0);
- script = script.getFromId(script_id);
- if(script == null) {
- msg.prefix(player, "§dScript", "Invalid id");
- goto("wait");
- }
- var_name = list.getIndex(args, 1);
- var = script.getVar(script, var_name);
- msg.prefix(player, "§dScript", concat(var_name, " = ", var));
- goto("wait");
- //@vote
- //inv.open(vote_inv, player, concat("Your vote points: §6", text.number(player.getVotePoints(player))));
- //goto("wait");
- @voxel
- if(size < 1) {
- @voxelhelp
- msg.prefix(player, prefix_commands, "/voxel <radius:1-5>");
- msg.prefix(player, prefix_commands, "/voxel block");
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(isDouble(arg0)) {
- radius = arg0;
- if(radius < 1) {
- radius = 1;
- }
- if(radius > 5) {
- radius = 5;
- }
- script = script.get("Voxel");
- map = script.getVar(script, "radius_per_player");
- map.add(map, player.getUuid(player), radius);
- script.setVar(script, "radius_per_player", map);
- msg.prefix(player, prefix_commands, concat("Set radius to ", text.number(radius), "."));
- goto("wait");
- }
- if(arg0 == "block") {
- item = living.getEquip(player, "hand");
- item_type = item.getType(item);
- if(item_type == "minecraft:air") {
- msg.prefix(player, prefix_commands, "You have to hold an item in your mainhand.");
- goto("wait");
- }
- state = block.newState(item_type);
- script = script.get("Voxel");
- map = script.getVar(script, "state_per_player");
- map.add(map, player.getUuid(player), state);
- script.setVar(script, "state_per_player", map);
- msg.prefix(player, prefix_commands, concat("Set block to ", item_type, "."));
- goto("wait");
- }
- goto("voxelhelp");
- @setservermessage
- if(size < 1) {
- msg.prefix(player, prefix_commands, "/setservermessage <text>");
- goto("wait");
- }
- message = text.concatList(args, " ", 0, size - 1);
- message = text.replace(message, "&", "§");
- setMOTD(message);
- msg.prefix(player, prefix_commands, "Server-Message gesetzt");
- goto("wait");
- @error
- if(size < 1) {
- msg.prefix(player, "§cError", "§r/error ...");
- msg(player, "§c - list §rLists all errors");
- msg(player, "§c - clear §rDeletes all errors");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "list") {
- error_size = error.getSize();
- if(error_size == 0) {
- msg.prefix(player, "§cError", "No errors existing.");
- goto("wait");
- }
- for(i = 0; i < error_size; i++) {
- msg(player, error.getIndex(i));
- }
- goto("wait");
- }
- if(arg0 == "clear") {
- error.clear();
- msg.prefix(player, "§cError", "All errors deleted.");
- goto("wait");
- }
- goto("wait");
- @errordebug
- if(size < 1) {
- msg.prefix(player, "§cErrorDebugs", "§r/errordebug ...");
- msg(player, "§c - list §rLists all errordebugs");
- msg(player, "§c - clear §rDeletes all errordebugs");
- msg(player, "§c - toggle §rToggles errordebugs");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "list") {
- error_size = debug.getSize();
- if(error_size == 0) {
- msg.prefix(player, "§cErrorDebugs", "No errordebugs existing.");
- goto("wait");
- }
- for(i = 0; i < error_size; i++) {
- msg(player, debug.getIndex(i));
- }
- goto("wait");
- }
- if(arg0 == "clear") {
- debug.clear();
- msg.prefix(player, "§cErrorDebugs", "All errordebugs deleted.");
- goto("wait");
- }
- if(arg0 == "toggle") {
- new_value = !perm.has(player, "script.debug");
- player.showDebug(player, new_value);
- if(new_value) {
- msg.prefix(player, prefix_commands, "Debug messages are now shown.");
- } else {
- msg.prefix(player, prefix_commands, "Debug messages are now hidden.");
- }
- goto("wait");
- }
- goto("wait");
- @hat
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_commands, "You have to hold an item in hand.");
- goto("wait");
- }
- living.setEquip(player, "head", item);
- living.setEquip(player, "hand", read.item("minecraft:air"));
- goto("wait");
- @hawkeye
- if(size == 0) {
- @partyhelp
- msg.prefix(player, prefix_party, "§r/hawkeye ...");
- msg(player, "§5 - search <parameters> §rSearch for griefs");
- msg(player, "§5 - rollback §rRollback last search");
- msg(player, "§5 - undo §rUndos your last rollback");
- msg(player, "§5 - tool §rGives you the Hawkeye Tool");
- msg(player, "");
- msg(player, "§5 - Parameters:");
- msg(player, "§5 - e:<event>");
- msg(player, "§5 - p:<player>");
- msg(player, "§5 - r:<radius>");
- msg(player, "§5 - t:<timespan> e.g. \"5d,4h,20m\"");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "tool") {
- player.giveItem(player, ha_tool);
- goto("wait");
- }
- if(arg0 == "print") {
- side = list.getIndex(args, 1);
- if(!isDouble(side)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- if(side < 1) {
- msg.prefix(player, prefix_commands, "Positive number expected.");
- goto("wait");
- }
- list = hawkeye.getDataList(player);
- if(list == null) {
- goto("wait");
- }
- if(side > list.getSize(list)) {
- msg.prefix(player, prefix_commands, "Invalid number.");
- goto("wait");
- }
- hawkeye.print(player, list, side);
- goto("wait");
- }
- if(arg0 == "search") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/hawkeye search <parameters>");
- goto("wait");
- }
- a = hawkeye.processInput(args, player);
- if(text.class(a) == "String") {
- msg.prefix(player, prefix_hawkeye, a);
- goto("wait");
- }
- timeFrom = a[0];
- timeTo = a[1];
- player_loc = a[2];
- radius = a[3];
- events = a[4];
- players = a[5];
- l = hawkeye.getData(timeFrom, timeTo, player_loc, radius, events, players, "DESC");
- if(text.class(l) == "String") {
- msg.prefix(player, prefix_hawkeye, l);
- hawkeye.setDataList(player, list.new());
- goto("wait");
- }
- if(list.getSize(l) == 0) {
- msg.prefix(player, prefix_hawkeye, "No results found.");
- hawkeye.setDataList(player, list.new());
- goto("wait");
- }
- hawkeye.setDataList(player, l);
- hawkeye.print(player, l, 1);
- goto("wait");
- }
- if(arg0 == "rollback") {
- l = hawkeye.getDataList(player);
- if(l == null) {
- msg.prefix(player, prefix_hawkeye, "No results to rollback.");
- goto("wait");
- }
- if(list.getSize(l) == 0) {
- msg.prefix(player, prefix_hawkeye, "No results to rollback.");
- goto("wait");
- }
- if(list.getSize(l) >= 1000) {
- msg.prefix(player, prefix_hawkeye, "Limit (1000) reached. Edit search parameters.");
- goto("wait");
- }
- counter = hawkeye.rollback(l);
- hawkeye.setUndoList(player, l);
- msg.prefix(player, prefix_hawkeye, concat(text.number(counter), " blocks rollbacked."));
- goto("wait");
- }
- if(arg0 == "undo") {
- l = hawkeye.getUndoList(player);
- if(l == null) {
- msg.prefix(player, prefix_hawkeye, "No rollback to undo.");
- goto("wait");
- }
- if(list.getSize(l) == 0) {
- msg.prefix(player, prefix_hawkeye, "No rollback to undo.");
- goto("wait");
- }
- hawkeye.undo(l);
- hawkeye.setUndoList(player, list.new());
- msg.prefix(player, prefix_hawkeye, "Undo done.");
- goto("wait");
- }
- goto("wait");
- @news
- if(size < 1) {
- msg.prefix(player, prefix_commands, "/news <text>");
- goto("wait");
- }
- message = text.concatList(args, " ", 0, size - 1);
- online_list = players.toList();
- for(i = 0; i < list.getSize(online_list); i++) {
- p = list.getIndex(online_list, i);
- title.reset(p);
- title.setSub(p, concat("by ", player_name));
- title.send(p, "§cNews");
- msg.prefix(p, "§4News", concat("§c", message));
- }
- goto("wait");
- @spawn
- if(size == 1) {
- if(!perm.has(player, "teleport.other")) {
- perm.no(player, "teleport.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 1) {
- msg.prefix(player, prefix_commands, "§rThe player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- }
- goto("wait");
- }
- if(player.teleport(affectedplayer, serverspawn, true)) {
- if(player == affectedplayer) {
- msg.prefix(affectedplayer, prefix_commands, "You have been teleported to the spawn.");
- } else {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " was teleported to the spawn."));
- }
- }
- goto("wait");
- @rank
- msg(player, getSpacer());
- rank = getRank(player);
- msg(player, concat("§6Current rank: §r[", rank, "§r]"));
- msg(player, "Choose a rank:");
- rank.showAll(player);
- goto("wait");
- @setrank
- if(size < 2) {
- msg.prefix(player, prefix_commands, "§r/setrank <player> <rank>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p_name = player.getName(p);
- rank = text.concatList(args, " ", 1, size - 1);
- if(!perm.has(player, "setrank.other")) {
- if(player.getName(player) != p_name) {
- perm.no(player, "setrank.other");
- goto("wait");
- }
- colored = text.startsWith(rank, "&", 0);
- if(colored) {
- rank = text.subString(rank, 1, text.length(rank));
- }
- a = rank.getRankArray();
- a_size = array.getSize(a);
- for(i = 0; i < a_size; i++) {
- tech_name = a[i, 0];
- if(rank == a[i, 1] && !rank.checkCriteria(p, tech_name)) {
- perm.no(p, tech_name);
- goto("wait");
- }
- }
- if(colored) {
- rank = concat("&", rank);
- }
- }
- if(text.length(rank) >= 30) {
- msg.prefix(player, prefix_commands, "Only 30 letters allowed.");
- goto("wait");
- }
- rank = text.replace(rank, "&", "§");
- setRank(p, rank);
- player.setTabName(p);
- msg.prefix(player, prefix_commands, concat("Rank for ", p_name, " changed to [", rank, "§r]."));
- goto("wait");
- @nowb
- if(player.isAfk(player)) {
- player.setAfk(player, false);
- msg.prefix(player, prefix_commands, "marvinius whispers to you: Welcome back ;-)");
- player.setTabName(player);
- } else {
- msg.prefix(player, prefix_commands, "You are not afk.");
- }
- goto("wait");
- @afk
- nickname = player.getNickname(player);
- if(player.isAfk(player)) {
- msg.prefix("online", prefix_commands, concat(nickname, "§7 is back."));
- player.setAfk(player, false);
- } else {
- msg.prefix("online", prefix_commands, concat(nickname, "§7 is now afk."));
- player.setAfk(player, true);
- if(!afk_loop_active) {
- afk_loop_active = true;
- sgoto(30, "afk_loop");
- }
- }
- player.setTabName(player);
- goto("wait");
- @silentjoin
- silentjoin = player.getSilentJoin(player);
- if(silentjoin) {
- player.setSilentJoin(player, false);
- msg.prefix(player, prefix_commands, "Silentjoin deactivated.");
- } else {
- player.setSilentJoin(player, true);
- msg.prefix(player, prefix_commands, "Silentjoin activated.");
- }
- goto("wait");
- @jailloop
- size = list.getSize(jailed_list);
- for(i = 0; i < size; i++) {
- p_name = player.getName(list.getIndex(jailed_list, i));
- showJail(p_name);
- }
- if(size > 0) {
- jail_loop_active = true;
- sgoto(5, "jailloop");
- } else {
- jail_loop_active = false;
- }
- goto("wait");
- @coordsloop
- list = players.toList();
- size = list.getSize(list);
- for(i = 0; i < size; i++) {
- p = list.getIndex(list, i);
- if(showcoords.get(p)) {
- p_loc = entity.getLocation(p);
- display.add(p, 30, concat("§6X§r ", text.number(loc.getCoord(p_loc, "bx")), " §6Y§r ", text.number(loc.getCoord(p_loc, "by")), " §6Z§r ", text.number(loc.getCoord(p_loc, "bz"))));
- }
- }
- sgoto(10, "coordsloop");
- goto("wait");
- @afk_loop
- if(!afk_loop_active) {
- goto("wait");
- }
- afk_map = getScriptVar("afk_map");
- iter = map.iterator(afk_map);
- while(hasNext(iter)) {
- element = next(iter);
- yaw = map.getValue(element);
- player = player.get(map.getKey(element));
- if(player != null) {
- if(yaw != loc.getYaw(entity.getLocation(player))) {
- nickname = player.getNickname(player);
- msg.prefix("online", prefix_commands, concat(nickname, "§7 is back."));
- remove(iter);
- player.setAfk(player, false);
- player.setTabName(player);
- }
- }
- }
- size = map.getSize(afk_map);
- if(size > 0) {
- afk_loop_active = true;
- sgoto(30, "afk_loop");
- } else {
- afk_loop_active = false;
- }
- goto("wait");
- @afk_checker_loop
- online_list = players.toList();
- iter = list.iterator(online_list);
- while(hasNext(iter)) {
- uuid = next(iter);
- p = player.get(uuid);
- yaw = loc.getYaw(entity.getLocation(p));
- a = map.get(afk_checker_map, uuid);
- if(a == null) {
- a = array.new(2);
- a[0] = yaw;
- a[1] = 0;
- map.add(afk_checker_map, uuid, a);
- continue;
- }
- last_yaw = a[0];
- counter = a[1];
- if(last_yaw == yaw) {
- counter++;
- } else {
- counter = 0;
- }
- a[0] = yaw;
- a[1] = counter;
- map.add(afk_checker_map, uuid, a);
- if(counter == 3) {
- nickname = player.getNickname(p);
- if(player.isAfk(p)) {
- continue;
- }
- msg.prefix("online", prefix_commands, concat(nickname, "§7 is now afk."));
- player.setAfk(p, true);
- player.setTabName(p);
- if(!afk_loop_active) {
- afk_loop_active = true;
- sgoto(30, "afk_loop");
- }
- }
- }
- sgoto(1200, "afk_checker_loop");
- goto("wait");
- @pvp
- if(size == 0) {
- if(hasPvpOn(player)) {
- mode = "off";
- } else {
- mode = "on";
- }
- } elseif(size == 1) {
- mode = list.getIndex(args, 0);
- if(!(mode == "on" || mode == "off")) {
- goto("pvphelp");
- }
- } elseif(size == 2) {
- if(!perm.has(player, "pvp.other")) {
- perm.no(player, "pvp.other");
- goto("wait");
- }
- mode = list.getIndex(args, 0);
- if(!(mode == "on" || mode == "off")) {
- goto("pvphelp");
- }
- affectedname = list.getIndex(args, 1);
- if(!checkIfEverOnline(affectedname)) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- } else {
- @pvphelp
- if(perm.has(player, "pvp.other")) {
- msg.prefix(player, prefix_commands, "§r/pvp [on/off] [player]");
- } else {
- msg.prefix(player, prefix_commands, "§r/pvp [on/off]");
- }
- goto("wait");
- }
- if(mode == "on") {
- setPvp(affectedplayer, true);
- msg.prefix(affectedplayer, prefix_commands, "You have enabled PvP!");
- if(affectedplayer != player) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " has now enabled PvP!"));
- }
- } else {
- setPvp(affectedplayer, false);
- msg.prefix(affectedplayer, prefix_commands, "You have PvP disabled!");
- if(affectedplayer != player) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " has now disabled PvP!"));
- }
- }
- goto("wait");
- @suicide
- if(size < 0 || size > 1) {
- msg.prefix(player, prefix_commands, "§r/suicide [player]");
- goto("wait");
- }
- if(size == 1) {
- if(!perm.has(player, "kill.other")) {
- perm.no(player, "kill.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- if(affectedplayer != player) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " has been killed."));
- msg.prefix(affectedplayer, prefix_commands, concat("You have been killed by ", player_name, "."));
- } else {
- msg.prefix(affectedplayer, prefix_commands, "You killed yourself.");
- }
- living.damage(affectedplayer, 1000);
- goto("wait");
- @nickname
- if(size < 1) {
- msg.prefix(player, "§eNickname", "§r/nickname ...");
- msg(player, "§e - <name> ", "Sets a nickname");
- msg(player, "§e - remove ", "Removes a nickname");
- goto("wait");
- }
- nickname = text.replace(text.concatList(args, " ", 0, size - 1), "&", "§");
- if(nickname == "remove") {
- player.removeNickName(player);
- msg.prefix(player, prefix_commands, concat("§rYour nickname was removed."));
- } else {
- player.setNickName(player, nickname);
- msg.prefix(player, prefix_commands, concat("§rYour nickname was changed to ", nickname, "§r."));
- }
- player.setTabName(player);
- goto("wait");
- @iteminfo
- item = living.getEquip(player, "hand");
- text = text.item(item);
- text = text.replace(text, "\"", "\\\"");
- msg(player, text.clipBoard(text, text));
- goto("wait");
- @perm
- if(size == 0) {
- @perm_syntax
- msg.prefix(player, prefix_perms, "§r/perm ...");
- if(perm.has(player, "perm.give")) {
- msg(player, "§6 - give <player> <perm>");
- }
- if(perm.has(player, "perm.remove")) {
- msg(player, "§6 - remove <player> <perm>");
- }
- if(perm.has(player, "perm.removeall")) {
- msg(player, "§6 - removeall <player>");
- }
- if(perm.has(player, "perm.list")) {
- msg(player, "§6 - list <player>");
- }
- if(perm.has(player, "perm.toggle")) {
- msg(player, "§6 - toggle");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "give") {
- if(!perm.has(player, "perm.give")) {
- perm.no(player, "perm.give");
- goto("wait");
- }
- if(size != 3) {
- msg.prefix(player, prefix_perms, "/perm give <player> <perm>");
- } else {
- p_name = list.getIndex(args, 1);
- perm = list.getIndex(args, 2);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_perms, "This player has never been online.");
- goto("wait");
- }
- if(!perm.isGroupName(perm)) {
- msg.prefix(player, prefix_perms, "This is not a permission group.");
- goto("wait");
- }
- if(!perm.has(player, "isAdmin")) {
- if(perm == "admin" || perm == "mod" || perm == "bypass") {
- msg.prefix(player, prefix_perms, "Only admins can give this permission group.");
- goto("wait");
- }
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- p_name = player.getName(p_uuid);
- perm_id = perm.getIdFromGroupname(perm);
- if(player.hasPermGroup(p_id, perm_id)) {
- msg.prefix(player, prefix_perms, "Perm already added.");
- goto("wait");
- }
- if(isOnline(p_name)) {
- p = read.player(p_name);
- rank = perm.getRankFromGroupname(perm);
- if(rank != null) {
- offerRank(p, rank.getTechName(rank));
- }
- }
- givePerm(p_id, perm_id);
- msg.prefix(player, prefix_perms, concat("§rPerm §7", perm, "§r added to §7", p_name, "§r."));
- }
- goto("wait");
- }
- if(arg0 == "remove") {
- if(!perm.has(player, "perm.remove")) {
- perm.no(player, "perm.remove");
- goto("wait");
- }
- if(size != 3) {
- msg.prefix(player, prefix_perms, "/perm remove <player> <perm>");
- } else {
- p_name = list.getIndex(args, 1);
- perm = list.getIndex(args, 2);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_perms, "This player has never been online.");
- goto("wait");
- }
- if(!perm.isGroupName(perm)) {
- msg.prefix(player, prefix_perms, "This is not a permission group.");
- goto("wait");
- }
- if(!perm.has(player, "isAdmin")) {
- if(perm == "admin" || perm == "mod" || perm == "bypass") {
- msg.prefix(player, prefix_perms, "Only admins can give this permission group.");
- goto("wait");
- }
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- p_name = player.getName(p_uuid);
- //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 §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- }
- perm_id = perm.getIdFromGroupname(perm);
- if(!player.hasPermGroup(p_id, perm_id)) {
- msg.prefix(player, prefix_perms, "This player doesn't have that perm.");
- goto("wait");
- }
- removePerm(p_id, perm_id);
- msg.prefix(player, prefix_perms, concat("Perm §7", perm, "§r removed from §7", p_name, "§r."));
- }
- goto("wait");
- }
- if(arg0 == "removeall") {
- if(!perm.has(player, "perm.removeall")) {
- perm.no(player, "perm.removeall");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_perms, "/perm removeall <player>");
- } else {
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_perms, "This player has never been online.");
- 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 §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- }
- removeAllPerms(p_id);
- msg.prefix(player, prefix_perms, concat("§r All perms of §7", p_name, " §rwere removed"));
- }
- goto("wait");
- }
- if(arg0 == "list") {
- if(!perm.has(player, "perm.list")) {
- perm.no(player, "perm.list");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_perms, "/perm list <player>");
- } else {
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_perms, "This player has never been online.");
- goto("wait");
- }
- p_id = player.getId(player.getUuid(p_name));
- permslist = getPermsFromPlayer(p_id);
- listsize = list.getSize(permslist);
- if(listsize == 0) {
- msg.prefix(player, prefix_perms, "§rKeine Permissions vorhanden");
- } else {
- msg.prefix(player, prefix_perms, p_name);
- for(i = 0; i < listsize; i++) {
- msg(player, " - ", perm.getNameFromId(list.getIndex(permslist, i)));
- }
- }
- }
- goto("wait");
- }
- if(arg0 == "toggle") {
- if(!perm.has(player, "perm.toggle")) {
- perm.no(player, "perm.toggle");
- goto("wait");
- }
- player_id = player.getId(player);
- if(perm.has(player, "pseudoPerm")) {
- reloadAllPerms(player_id);
- msg.prefix(player, prefix_commands, "You have regained your permissions.");
- } else {
- removeAllPermsTemporarly(player_id);
- msg.prefix(player, prefix_commands, "Have fun as a user.");
- }
- goto("wait");
- }
- goto("perm_syntax");
- @allsounds
- if(size == 0) {
- msg.prefix(player, prefix_commands, "§r/allsounds...");
- msg(player, "§e - start");
- msg(player, "§e - stop");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "start") {
- if(!map.exists(sounds_map)) {
- sounds_map = map.new();
- }
- player_uuid = player.getUuid(player);
- script_id = map.get(sounds_map, player_uuid);
- if(script_id != null) {
- script = script.getFromId(script_id);
- if(script != null) {
- msg.prefix(player, prefix_commands, "Sounds already started.");
- goto("wait");
- }
- }
- script = script.start("system/playsounds");
- script.setVar(script, "player", player);
- map.add(sounds_map, player.getUuid(player), script.getId(script));
- msg.prefix(player, prefix_commands, "Sounds started.");
- goto("wait");
- }
- if(arg0 == "stop") {
- if(!map.exists(sounds_map)) {
- sounds_map = map.new();
- }
- script_id = map.get(sounds_map, player.getUuid(player));
- if(script_id == null) {
- msg.prefix(player, prefix_commands, "No sounds playing.");
- goto("wait");
- }
- script = script.getFromId(script_id);
- if(script == null) {
- msg.prefix(player, prefix_commands, "No sounds playing.");
- goto("wait");
- }
- script.term(script);
- msg.prefix(player, prefix_commands, "Sounds stopped.");
- goto("wait");
- }
- goto("wait");
- @weather
- if(size == 0) {
- @weather_syntax
- msg.prefix(player, "§eWeather", "§r/weather ...");
- msg(player, "§e - clear [duration]");
- msg(player, "§e - rain [duration]");
- msg(player, "§e - thunder [duration]");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "clear" || arg0 == "rain" || arg0 == "thunder") {
- if(size == 2) {
- duration = list.getIndex(args, 1);
- if(!isDouble(duration)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(duration < 0) {
- msg.prefix(player, prefix_commands, "§rPositive Zahl erwartet");
- goto("wait");
- }
- } else {
- duration = 12000;
- }
- world = loc.getWorld(entity.getLocation(player));
- if(arg0 == "clear") {
- if(size > 2) {
- msg.prefix(player, prefix_commands, "§r/weather clear [duration]");
- goto("wait");
- }
- world.clearWeather(world, duration);
- msg.prefix(player, prefix_commands, "§rWetter wurde auf Klar gestellt");
- goto("wait");
- }
- if(arg0 == "rain") {
- if(size > 2) {
- msg.prefix(player, prefix_commands, "§r/weather rain [duration]");
- goto("wait");
- }
- world.setRain(world, duration);
- msg.prefix(player, prefix_commands, "§rWetter wurde auf Regen gestellt");
- goto("wait");
- }
- if(arg0 == "thunder") {
- if(size > 2) {
- msg.prefix(player, prefix_commands, "§r/weather thunder [duration]");
- goto("wait");
- }
- world.setThunder(world, duration);
- msg.prefix(player, prefix_commands, "§rWetter wurde auf Gewitter gestellt");
- goto("wait");
- }
- goto("wait");
- }
- goto("weather_syntax");
- @time
- if(size == 0) {
- @time_syntax
- msg.prefix(player, "§eTime", "§r/time ...");
- msg(player, "§e - set <time>");
- msg(player, "§e - add <time>");
- msg(player, "§e - <day / noon / night / midnight>");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "set") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "§r/time set <time>");
- goto("wait");
- }
- setTime = list.getIndex(args, 1);
- if(!isDouble(setTime)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(setTime < 0) {
- msg.prefix(player, prefix_commands, "§rPositive Zahl erwartet");
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(player));
- while(setTime >= 24000) {
- setTime -= 24000;
- }
- world.setTime(world, setTime);
- msg.prefix(player, prefix_commands, concat("Time set to ", text.number(setTime), "."));
- goto("wait");
- }
- if(arg0 == "add") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "§r/time add <time>");
- goto("wait");
- }
- addTime = list.getIndex(args, 1);
- if(!isDouble(addTime)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(addTime < 0) {
- msg.prefix(player, prefix_commands, "§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);
- msg.prefix(player, prefix_commands, concat("Time set to ", text.number(newtime), "."));
- goto("wait");
- }
- newtime = null;
- if(arg0 == "day") {
- newtime = 1000;
- } elseif(arg0 == "noon") {
- newtime = 6000;
- } elseif(arg0 == "night") {
- newtime = 13000;
- } elseif(arg0 == "midnight") {
- newtime = 18000;
- }
- if(newtime != null) {
- world = loc.getWorld(entity.getLocation(player));
- world.setTime(world, newtime);
- msg.prefix(player, prefix_commands, concat("Time set to ", text.number(newtime), "."));
- goto("wait");
- }
- goto("time_syntax");
- @gamerule
- world = loc.getWorld(entity.getLocation(player));
- if(size == 0) {
- msg.prefix(player, prefix_commands, "/gamerule <gamerule> [value]");
- goto("wait");
- }
- gamerule_string = list.getIndex(args, 0);
- gamerule_key = gamerule.getKey(gamerule_string);
- if(gamerule_key == null) {
- msg.prefix(player, prefix_commands, "Gamerule doesn't exist.");
- goto("wait");
- }
- gamerule_value = gamerule.getValue(world, gamerule_key);
- if(size == 1) {
- if(gamerule.isBool(gamerule_value)) {
- value = gamerule.getBool(gamerule_value);
- } elseif(gamerule.isInt(gamerule_value)) {
- value = text.number(gamerule.getInt(gamerule_value));
- } else {
- msg.prefix(player, prefix_commands, "Unknown gamerule type.");
- goto("wait");
- }
- msg.prefix(player, prefix_commands, concat(gamerule_string, " ", value));
- goto("wait");
- }
- if(size == 2) {
- if(!perm.has(player, "gamerule.write")) {
- perm.no(player, "gamerule.write");
- goto("wait");
- }
- value = list.getIndex(args, 1);
- if(gamerule.isBool(gamerule_value)) {
- if(!isBool(value)) {
- msg.prefix(player, prefix_commands, "Boolean expected.");
- goto("wait");
- }
- gamerule.setBool(gamerule_value, value);
- } elseif(gamerule.isInt(gamerule_value)) {
- if(!isDouble(value)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- gamerule.setInt(gamerule_value, value);
- value = text.number(value);
- } else {
- msg.prefix(player, prefix_commands, "Unknown gamerule type.");
- goto("wait");
- }
- if(world.getName(world) == "overworld") {
- msg.prefix(player, prefix_commands, concat(gamerule_string, " set to ", value, "."));
- } else {
- msg.prefix(player, prefix_commands, concat(gamerule_string, " set to ", value, " (not persistent)."));
- }
- goto("wait");
- }
- goto("wait");
- @tip
- if(size == 0) {
- msg.prefix(player, prefix_tips, "§r/tip ...");
- msg(player, "§e - list §rList all tips");
- msg(player, "§e - add <tip> <text> §rAdds a tip");
- msg(player, "§e - remove <tip> §rRemoves a tip");
- msg(player, "§e - <tip> [player] §rSends a tip to all/a player");
- goto("wait");
- }
- arg0 = text.toLowerCase(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) {
- msg.prefix(player, prefix_tips, "No tips available.");
- }
- goto("wait");
- }
- if(arg0 == "add") {
- if(size < 3) {
- msg.prefix(player, prefix_commands, "§r/tip add <name> <text>");
- goto("wait");
- }
- tipp_key = list.getIndex(args, 1);
- tipp_value = concatList(args, " ", 2, size - 1);
- tipp_value = text.replace(tipp_value, "&", "§");
- tipp.register(tipp_key, tipp_value);
- msg.prefix(player, prefix_tips, "Tip added.");
- goto("wait");
- }
- if(arg0 == "remove") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "§r/tip remove <name>");
- goto("wait");
- }
- tipp_key = list.getIndex(args, 1);
- removeTippStatement = databank.prepare("DELETE FROM tipps WHERE tipp_key = ?;");
- databank.setString(removeTippStatement, 1, tipp_key);
- databank.workerExecute(removeTippStatement);
- msg.prefix(player, prefix_tips, "Tip removed.");
- goto("wait");
- }
- tipp_key = arg0;
- tipp_value = tipp.get(tipp_key);
- if(tipp_value == null) {
- msg.prefix(player, prefix_tips, "This tip does not exist.");
- goto("wait");
- }
- link = false;
- if(text.contains(tipp_value, "https://")) {
- link = true;
- https_index = text.indexOf(tipp_value, "https://", 0);
- space_index = text.indexOf(tipp_value, " ", https_index);
- length = text.length(tipp_value);
- if(https_index == 0) {
- msg_before = "";
- } else {
- msg_before = text.subString(tipp_value, 0, https_index);
- }
- if(space_index == -1) {
- msg_link = text.subString(tipp_value, https_index, length);
- msg_after = "";
- } else {
- msg_link = text.subString(tipp_value, https_index, space_index);
- msg_after = text.subString(tipp_value, space_index, length);
- }
- msg_link = text.link(msg_link, msg_link);
- }
- if(size == 1) {
- p = "online";
- } else {
- p_name = list.getIndex(args, 1);
- if(!isOnline(p_name)) {
- msg.prefix(player, prefix_tips, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- msg.prefix(player, prefix_tips, concat("Tip sent to §7", p_name, "§r."));
- }
- if(link) {
- msg(p, concat("§r[", prefix_tips, "§r] "), msg_before, msg_link, msg_after);
- } else {
- msg(p, concat("§r[", prefix_tips, "§r] ", tipp_value));
- }
- goto("wait");
- @help
- if(size > 1) {
- msg.prefix(player, prefix_commands, "§r/help [side]");
- goto("wait");
- }
- //Auf Permission überprüfen
- temp_list = list.new();
- for(i = 0; i < list.getSize(command_list); i++) {
- command = list.getIndex(command_list, i);
- if(perm.has(player, command)) {
- list.add(temp_list, command);
- }
- }
- list.sort(temp_list);
- temp_size = list.getSize(temp_list);
- max_side = temp_size / 10;
- if(size == 0) {
- side = 1;
- print_side = side - 1;
- } else {
- side = list.getIndex(args, 0);
- if(!isDouble(side)) {
- msg.prefix(player, prefix_commands, "§r/help [side]");
- goto("wait");
- }
- print_side = side - 1;
- if(print_side < 0 || print_side > max_side) {
- msg.prefix(player, prefix_commands, concat("Möglich: 1 - ", text.number(math.roundDown(max_side + 1))));
- goto("wait");
- }
- }
- msg(player, concat("§a --- Help ", text.number(side), " ---"));
- for(i = print_side * 10; i < print_side * 10 + 10; i++) {
- if(i < temp_size) {
- command = list.getIndex(temp_list, i);
- command = text.hover(command, map.getOrDefault(command_map, command, ""));
- msg(player, " /", command);
- }
- }
- if(side == 1) {
- backward = "§c<<Backward<<";
- forward = text.click("§b>>Forward>>", concat("/help ", side + 1));
- } elseif(side > max_side) {
- backward = text.click("§b<<Backward<<", concat("/help ", side - 1));
- forward = "§c>>Forward>>";
- } else {
- backward = text.click("§b<<Backward<<", concat("/help ", side - 1));
- forward = text.click("§b>>Forward>>", concat("/help ", side + 1));
- }
- msg(player, backward, " ", forward);
- goto("wait");
- @cli
- if(size != 1) {
- msg.prefix(player, prefix_commands, "§r/cli <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius) || radius < 0) {
- msg.prefix(player, prefix_commands, "Positive number expected.");
- goto("wait");
- }
- entity.removeAll("net.minecraft.entity.item.ItemEntity", entity.getLocation(player), radius);
- msg.prefix(player, prefix_commands, "§rItems entfernt");
- goto("wait");
- @plough
- if(size != 1) {
- msg.prefix(player, prefix_commands, "§r/plough <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- msg.prefix(player, prefix_commands, "§rPositive Zahl erwartet");
- goto("wait");
- }
- center_loc = getBlockLocation(entity.getLocation(player));
- for(x = radius * -1; x <= radius; x++) {
- for(z = radius * -1; z <= radius; z++) {
- for(y = radius * -1; y <= radius; y++) {
- length = math.hypot(x, math.hypot(y, z));
- if(length <= radius) {
- mod_loc = loc.mod(center_loc, x, y, z);
- block = block.get(mod_loc);
- if(block.hasTag(dirt_tag, block) && block.getType(loc.mod(mod_loc, 0, 1, 0)) == "minecraft:air") {
- block.set(mod_loc, "minecraft:farmland[moisture=7]");
- }
- }
- }
- }
- }
- msg.prefix(player, prefix_commands, "§rFeld gepflügt");
- goto("wait");
- @plant
- if(size != 1) {
- msg.prefix(player, prefix_commands, "§r/plant <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- msg.prefix(player, prefix_commands, "§rPositive Zahl erwartet");
- goto("wait");
- }
- center_loc = getBlockLocation(entity.getLocation(player));
- for(x = radius * -1; x <= radius; x++) {
- for(z = radius * -1; z <= radius; z++) {
- for(y = radius * -1; y <= radius; y++) {
- length = math.hypot(x, math.hypot(y, z));
- if(length <= radius) {
- mod_loc = loc.mod(center_loc, x, y, z);
- upper_loc = loc.mod(mod_loc, 0, 1, 0);
- if(block.getType(mod_loc) == "minecraft:farmland" && block.getType(upper_loc) == "minecraft:air") {
- block.set(upper_loc, "minecraft:wheat[age=7]");
- }
- }
- }
- }
- }
- msg.prefix(player, prefix_commands, "§rFeld bepflanzt");
- goto("wait");
- @grow
- if(size != 1) {
- msg.prefix(player, prefix_commands, "§r/grow <radius>");
- goto("wait");
- }
- radius = list.getIndex(args, 0);
- if(!isDouble(radius)) {
- msg.prefix(player, prefix_commands, "§rZahl erwartet");
- goto("wait");
- }
- if(radius < 0) {
- msg.prefix(player, prefix_commands, "§rPositive Zahl erwartet");
- goto("wait");
- }
- center_loc = getBlockLocation(entity.getLocation(player));
- grow(center_loc, radius);
- msg.prefix(player, prefix_commands, "§rFeld gedüngt");
- goto("wait");
- @start
- if(size != 1) {
- @starthelp
- msg.prefix(sender, prefix_commands, "/start ...");
- msg(sender, " - ai");
- msg(sender, " - chat");
- msg(sender, " - commands");
- msg(sender, " - creative");
- msg(sender, " - damage");
- msg(sender, " - doors");
- msg(sender, " - friends");
- msg(sender, " - games");
- msg(sender, " - harvest");
- msg(sender, " - hawkeye");
- msg(sender, " - herobrine");
- msg(sender, " - loom");
- msg(sender, " - mails");
- msg(sender, " - perms");
- msg(sender, " - pumpkin");
- msg(sender, " - scheduler");
- msg(sender, " - shop");
- msg(sender, " - sitting");
- msg(sender, " - stats");
- msg(sender, " - story");
- msg(sender, " - survival");
- msg(sender, " - ticket");
- msg(sender, " - timber");
- msg(sender, " - voxel");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "ai") {
- script = script.get("Ai");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Ai", "system/ai", "utils/u_general");
- }
- elseif(arg0 == "commands") {
- script = script.startNamed("Commands", "system/commands", "utils/u_general", "utils/u_games");
- if(script == null) {
- snuvi.debug("Old commands script still active due to error in new script");
- goto("wait");
- }
- script.term(script.get());
- }
- elseif(arg0 == "chat") {
- script = script.get("Chat");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Chat", "system/chat", "utils/u_general");
- }
- elseif(arg0 == "creative") {
- script = script.get("Creative");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Creative", "system/creative", "utils/u_general");
- }
- elseif(arg0 == "damage") {
- script = script.get("Damage");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Damage", "system/damage");
- }
- elseif(arg0 == "doors") {
- script = script.get("Doors");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Doors", "system/doors", "utils/u_general");
- }
- elseif(arg0 == "games") {
- script = script.get("Gamecenter");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Gamecenter", "system/gamecenter", "utils/u_general", "utils/u_games");
- }
- elseif(arg0 == "harvest") {
- script = script.get("Harvest");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Harvest", "system/harvest", "utils/u_general");
- }
- elseif(arg0 == "hawkeye") {
- script = script.get("Hawkeye");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Hawkeye", "system/hawkeye", "utils/u_general");
- }
- elseif(arg0 == "herobrine") {
- script = script.get("Herobrine");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Herobrine", "system/herobrine", "utils/u_general");
- }
- elseif(arg0 == "loom") {
- script = script.get("Loom");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Loom", "system/loom");
- }
- elseif(arg0 == "perms") {
- script.start("system/perms", "utils/u_general");
- }
- elseif(arg0 == "pumpkin") {
- script = script.get("Pumpkin");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Pumpkin", "system/pumpkin", "utils/u_general");
- }
- elseif(arg0 == "stats") {
- script = script.get("Ranklist");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Ranklist", "system/ranklist", "utils/u_general", "utils/u_games");
- }
- elseif(arg0 == "scheduler") {
- script = script.get("Scheduler");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Scheduler", "system/scheduler", "utils/u_general");
- }
- elseif(arg0 == "shop") {
- script = script.get("Shops");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Shops", "system/chestshops", "utils/u_general");
- }
- elseif(arg0 == "mails") {
- script = script.get("Mails");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Mails", "system/mailsystem", "utils/u_general");
- }
- elseif(arg0 == "ticket") {
- script = script.get("Ticket");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Ticket", "system/tickets", "utils/u_general");
- }
- elseif(arg0 == "timber") {
- script = script.get("Timber");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Timber", "system/timber", "utils/u_general");
- }
- elseif(arg0 == "story") {
- script = script.get("Story");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Story", "system/story", "utils/u_general");
- script = script.get("QuestsAdmont");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("QuestsAdmont", "story/admont/core", "utils/u_general", "utils/u_quest");
- script = script.get("QuestsSchiffbruch");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("QuestsSchiffbruch", "story/schiffbruch/core", "utils/u_general", "utils/u_quest");
- }
- elseif(arg0 == "sitting") {
- script = script.get("Sitting");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Sitting", "system/sitting", "utils/u_general");
- }
- elseif(arg0 == "survival") {
- script = script.get("Survival");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Survival", "system/survival", "utils/u_general");
- }
- elseif(arg0 == "voxel") {
- script = script.get("Voxel");
- if(script != null) {
- script.term(script);
- }
- script.startNamed("Voxel", "system/voxel");
- }
- else {
- goto("starthelp");
- }
- goto("wait");
- @senditem
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/senditem <player>");
- goto("wait");
- }
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_commands, "§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) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- player.safeGiveItem(p, item);
- player.removeItem(player, item);
- goto("wait");
- @top
- player_loc = entity.getLocation(player);
- y = 255;
- loc.setY(player_loc, y);
- while(block.isAir(player_loc)) {
- loc.setY(player_loc, y);
- y--;
- }
- player.teleport(player, loc.mod(player_loc, 0, 1, 0), true);
- goto("wait");
- @story
- story_spawn = world.getStorySpawn();
- world = loc.getWorld(story_spawn);
- if(world == null) {
- msg.prefix(player, prefix_commands, "This world is not loaded.");
- goto("wait");
- }
- if(size > 1) {
- msg.prefix(player, prefix_commands, "/story [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(!perm.has(player, "teleport.other")) {
- perm.no(player, "teleport.other");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 1) {
- msg.prefix(player, prefix_commands, "§rThe player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- }
- goto("wait");
- }
- if(size == 1) {
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " was teleported to the story world."));
- }
- }
- if(player.teleport(affectedplayer, story_spawn, true)) {
- msg.prefix(affectedplayer, prefix_commands, "You have been teleported to the story world.");
- }
- goto("wait");
- @games
- world = loc.getWorld(gamesspawn);
- if(world == null) {
- msg.prefix(player, prefix_commands, "This world is not loaded.");
- goto("wait");
- }
- if(size > 1) {
- msg.prefix(player, prefix_commands, "/games [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(!perm.has(player, "teleport.other")) {
- perm.no(player, "teleport.other");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 1) {
- msg.prefix(player, prefix_commands, "§rThe player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- }
- goto("wait");
- }
- if(size == 1) {
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " was teleported to the games world."));
- }
- }
- if(player.teleport(affectedplayer, gamesspawn, true)) {
- msg.prefix(affectedplayer, prefix_commands, "You have been teleported to the games world.");
- }
- goto("wait");
- @bug
- msg.prefix(player, prefix_commands, "Found a bug? Report it to marvinius with §b/mail marvinius <message>");
- goto("wait");
- @repair
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_commands, "You have to hold an item in your mainhand.");
- goto("wait");
- }
- item.setDamage(item, 0);
- msg.prefix(player, prefix_commands, "Your item has been repaired.");
- goto("wait");
- @report
- msg.prefix(player, prefix_commands, "Want to report a player?");
- msg(player, " - §b/ticket <message>");
- msg(player, " - §b/mail marvinius <message>");
- goto("wait");
- @playtime
- if(size == 0) {
- p_id = player.getId(player);
- arg0 = player.getName(player);
- } else {
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "year") {
- if(!perm.has(player, "playtime.year")) {
- perm.no(player, "playtime.year");
- goto("wait");
- }
- calendar = time.new(time.getMillis());
- now_month = time.getMonth(calendar);
- now_year = time.getYear(calendar);
- if(size == 1) {
- year = now_year;
- } else {
- year = list.getIndex(args, 1);
- if(!isDouble(year)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- if(year > now_year) {
- year = now_year;
- }
- }
- //Von allen Online-Spielern die Onlinezeit abrufen, summieren und zur Heute-Spielzeit addieren
- since_minutes = playtime.getTotalOnlineMinutes();
- //Tabelle erstellen
- table = table.new("§8", 4, 5, 5);
- msg(player, table.getStart(table));
- msg(player, table.get(table, text.number(year), "Playtime", "Change"));
- msg(player, table.getMiddle(table));
- //Erstes Mitternacht des gewählten Jahres festlegen
- now_day = time.getDay(calendar);
- time.nextDay(calendar);
- midnight = time.from(calendar) - (time.getDaysBetween(1, 1, year, now_day, now_month, now_year) + 1) * 86400000;
- //Monats-Spielzeit berechnen
- temp_list = list.new();
- list.add(temp_list, playtime.getInterval(midnight - time.getMonthDays(12, year - 1) * 86400000, midnight)); //Dezember des Vorjahres hinzufügen
- for(i = 1; i <= 12; i++) {
- midnight_2 = midnight + time.getMonthDays(i, now_year) * 86400000; //Alle Tage eines Monats * 24 Stunden
- minutes = playtime.getInterval(midnight, midnight_2);
- list.add(temp_list, minutes);
- midnight = midnight_2;
- if(i == now_month && year == now_year) {
- minutes += since_minutes;
- }
- }
- for(i = 1; i <= 12; i++) {
- minutes = list.getIndex(temp_list, i);
- hours = math.roundDown(minutes / 60);
- mod_minutes = minutes % 60;
- if(mod_minutes < 10) {
- time_string = concat("§6", text.number(hours), ":0", text.number(mod_minutes), " h");
- } else {
- time_string = concat("§6", text.number(hours), ":", text.number(mod_minutes), " h");
- }
- pre_minutes = list.getIndex(temp_list, i - 1);
- if(minutes >= pre_minutes) {
- color = "§a+";
- a = minutes;
- b = pre_minutes;
- } else {
- color = "§c-";
- a = pre_minutes;
- b = minutes;
- }
- if(b == 0) {
- change = "";
- } else {
- change = math.round(a / b * 100 - 100);
- change = concat(color, text.number(change), " %");
- }
- msg(player, table.get(table, concat("§6", month.getShortName(i)), time_string, change));
- if(i == now_month && year == now_year) {
- break;
- }
- }
- //Tabelle beenden
- msg(player, table.getEnd(table));
- goto("wait");
- }
- if(arg0 == "month") {
- if(!perm.has(player, "playtime.month")) {
- perm.no(player, "playtime.month");
- goto("wait");
- }
- calendar = time.new(time.getMillis());
- now_month = time.getMonth(calendar);
- now_year = time.getYear(calendar);
- year = now_year;
- if(size == 1) {
- month = now_month;
- } else {
- month = list.getIndex(args, 1);
- if(!isDouble(month)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- if(month < 1) {
- month = 1;
- } elseif(month > 12) {
- month = 12;
- }
- if(size == 3) {
- year = list.getIndex(args, 2);
- if(!isDouble(year)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- }
- if(year > now_year ||(year >= now_year && month > now_month)) {
- month = now_month;
- year = now_year;
- }
- }
- //Von allen Online-Spielern die Onlinezeit abrufen, summieren und zur Heute-Spielzeit addieren
- since_minutes = playtime.getTotalOnlineMinutes();
- //Tabelle erstellen
- table = table.new("§8", 4, 5, 5);
- msg(player, table.getStart(table));
- msg(player, table.get(table, month.getShortName(month), "Playtime", "Players"));
- msg(player, table.getMiddle(table));
- //Erstes Mitternacht des gewählten Monats festlegen
- now_day = time.getDay(calendar);
- time.nextDay(calendar);
- midnight = time.from(calendar) - (time.getDaysBetween(1, month, year, now_day, now_month, now_year) + 1) * 86400000;
- //Tages-Spielzeit berechnen
- for(i = 1; i <= time.getMonthDays(month, year); i++) {
- players = playtime.getPlayersPerInterval(midnight, midnight + 86400000);
- minutes = playtime.getInterval(midnight, midnight + 86400000);
- midnight += 86400000; //24 Stunden
- if(i == now_day && month == now_month && year == now_year) {
- minutes += since_minutes;
- }
- hours = math.roundDown(minutes / 60);
- minutes = minutes % 60;
- if(minutes < 10) {
- time_string = concat("§6", text.number(hours), ":0", text.number(minutes), " h");
- } else {
- time_string = concat("§6", text.number(hours), ":", text.number(minutes), " h");
- }
- msg(player, table.get(table, concat("§6", text.number(i)), time_string, text.number(players)));
- if(i == now_day && month == now_month && year == now_year) {
- break;
- }
- }
- //Tabelle beenden
- msg(player, table.getEnd(table));
- goto("wait");
- }
- if(arg0 == "all") {
- msg(player, getSpacer());
- msg.prefix(player, prefix_commands, "Server-Playtime");
- //Von allen Online-Spielern die Onlinezeit abrufen, summieren und zur Heute-Spielzeit addieren
- since_minutes = playtime.getTotalOnlineMinutes();
- now_time = time.getMillis();
- //Spielzeit heute
- calendar = time.new(now_time);
- time.nextDay(calendar);
- midnight = time.from(calendar) - 86400000; //24 Stunden von nächstem Mitternacht abziehen
- minutes = playtime.getInterval(midnight, now_time) + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§6Today: §r", hours, " h ", minutes, " min");
- //Spielzeit 30 Tage für alle Spieler
- oneMonthAgo = now_time - 2592000000; //30 Tage von jetzt an
- minutes = playtime.getInterval(oneMonthAgo, now_time) + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§630 Days: §r", hours, " h ", minutes, " min");
- //Spielzeit gesamt
- minutes = playtime.getTotal();
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§6Total: §r", hours, " h ", minutes, " min");
- goto("wait");
- }
- if(!perm.has(player, "playtime.other")) {
- perm.no(player, "playtime.other");
- goto("wait");
- }
- }
- if(!checkIfEverOnline(arg0)) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- now_time = time.getMillis();
- p_uuid = player.getUuid(arg0);
- arg0 = player.getName(p_uuid);
- p_id = player.getId(p_uuid);
- msg(player, getSpacer());
- msg.prefix(player, prefix_commands, concat("Playtime of ", player.getName(p_uuid)));
- //Online seit
- since_minutes = playtime.getPlayerOnlineMinutes(p_id);
- if(isOnline(arg0)) {
- since_hours = math.roundDown(since_minutes / 60);
- mod_minutes = since_minutes % 60;
- msg(player, concat("§aOnline since: §r", text.number(since_hours), " hours ", text.number(mod_minutes), " minutes"));
- } else {
- msg(player, "§6Status: ", "§cOffline");
- }
- //Spielzeit heute
- calendar = time.new(now_time);
- time.nextDay(calendar);
- midnight = time.from(calendar) - 86400000; //24 Stunden von nächstem Mitternacht abziehen
- minutes = playtime.getPlayerInterval(p_id, midnight, now_time) + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§6Today: §r", hours, " h ", minutes, " min");
- //Spielzeit 30 Tage
- oneMonthAgo = now_time - 2592000000; //30 Tage von jetzt an
- minutes = playtime.getPlayerInterval(p_id, oneMonthAgo, now_time) + since_minutes;
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§630 Days: §r", hours, " h ", minutes, " min");
- //Spielzeit gesamt
- minutes = playtime.getPlayerTotal(p_id);
- hours = text.number(math.roundDown(minutes / 60));
- minutes = text.number(minutes % 60);
- msg(player, "§6Total: §r", hours, " h ", minutes, " min");
- goto("wait");
- @datatools
- if(size == 0) {
- @datatoolshelp
- msg.prefix(player, prefix_datatools, "/datatools ...");
- msg(player, "§6 - hide <name> §rHides wusi on an itemstack");
- msg(player, "§6 - attribute <attribut> <slot> <double> <op> §rFügt ein Attribut zu einem ItemStack hinzu");
- msg(player, "§6 - hide-entity §rMacht ein Entity unsichtbar");
- msg(player, "§6 - show-entity §rMacht ein Entity sichtbar");
- msg(player, "§6 - name-entity <name> §rSetzt den Namen des Entities");
- msg(player, "§6 - name-visibility <boolean> §rZeigt den Namen (nicht) dauerhaft");
- msg(player, "§6 - name-item <name> §rSetzt den Itemnamen");
- msg(player, "§6 - lore-item <line> <lore> §rSetzt die Itemlore");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "hide") {
- if(size < 2) {
- msg.prefix(player, prefix_datatools, "§r/datatools hide <name>");
- goto("wait");
- }
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_datatools, "Hold an item in your hand.");
- goto("wait");
- }
- name = text.concatList(args, " ", 1, size - 1);
- if(item.hide(item, name)) {
- msg.prefix(player, prefix_datatools, "You hided something.");
- } else {
- msg.prefix(player, prefix_datatools, "You can't hide that.");
- }
- goto("wait");
- }
- if(arg0 == "attribute") {
- if(size < 5) {
- msg.prefix(player, prefix_datatools, "/datatools attribute <attribut> <slot> <double> <op>");
- goto("wait");
- }
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_commands, "You have to hold an item in your mainhand.");
- goto("wait");
- }
- double = list.getIndex(args, 3);
- if(!isDouble(double) || double < 0) {
- msg.prefix(player, prefix_datatools, "Natural number expected.");
- goto("wait");
- }
- attribut = concat("generic.", list.getIndex(args, 1));
- slot = read.slot(list.getIndex(args, 2));
- if(slot == null) {
- msg.prefix(player, prefix_datatools, "Incorrect slot.");
- goto("wait");
- }
- operation = list.getIndex(args, 4);
- if(operation == "ADDITION") {
- operation = 0;
- } elseif(operation == "MULTIPLY_BASE") {
- operation = 1;
- } elseif(operation == "MULTIPLY_TOTAL") {
- operation = 2;
- } else {
- msg.prefix(player, prefix_datatools, "Incorrect operation.");
- goto("wait");
- }
- item.addAttribute(item, attribut, slot, double, operation);
- msg.prefix(player, prefix_datatools, "Attribute added.");
- goto("wait");
- }
- if(arg0 == "name-item") {
- if(size < 2) {
- msg.prefix(player, prefix_datatools, "§r/datatools name-item <name>");
- goto("wait");
- }
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_datatools, "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- name = text.concatList(args, " ", 1, size - 1);
- name = text.replace(name, "&", "§");
- name = text.replace(name, "\\n", "\n");
- item.setName(item, name);
- msg.prefix(player, prefix_datatools, concat("Das Item trägt nun den Namen ", name, "§r."));
- goto("wait");
- }
- if(arg0 == "lore-item") {
- if(size < 3) {
- msg.prefix(player, prefix_datatools, "§r/datatools lore-item <line> <lore>");
- goto("wait");
- }
- item = living.getEquip(player, "hand");
- if(item.getType(item) == "minecraft:air") {
- msg.prefix(player, prefix_datatools, "§rDu musst ein Item in der Hand halten.");
- goto("wait");
- }
- line = list.getIndex(args, 1);
- if(!isDouble(line)) {
- msg.prefix(player, prefix_datatools, "Zahl erwartet.");
- goto("wait");
- }
- if(line < 0) {
- msg.prefix(player, prefix_datatools, "Positive Zahl erwartet.");
- goto("wait");
- }
- lore = text.concatList(args, " ", 2, size - 1);
- lore = text.replace(lore, "&", "§");
- item.addLore(item, line, lore);
- msg.prefix(player, prefix_datatools, "Die neue Lore wurde hinzugefügt.");
- goto("wait");
- }
- if(arg0 == "maxhealth") {
- if(size < 2) {
- msg.prefix(player, prefix_datatools, "§r/datatools maxhealth <value>");
- goto("wait");
- }
- value = list.getIndex(args, 1);
- if(!isDouble(value)) {
- msg.prefix(player, prefix_datatools, "Zahl erwartet.");
- goto("wait");
- }
- templist = living.near(player, 3);
- if(list.getSize(templist) == 0) {
- msg.prefix(player, prefix_datatools, "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- if(isPlayer(entity)) {
- msg.prefix(player, prefix_datatools, "Auf Spieler nicht anwendbar.");
- goto("wait");
- }
- living.setMaxHealth(entity, value);
- msg.prefix(player, prefix_datatools, concat("Das Entity ", entity.getType(entity), " hat nun Maxhealth: ", living.getMaxHealth(entity), "§r."));
- goto("wait");
- }
- if(arg0 == "name-entity") {
- if(size < 2) {
- msg.prefix(player, prefix_datatools, "§r/datatools name-entity <name>");
- goto("wait");
- }
- templist = living.near(player, 3);
- if(list.getSize(templist) == 0) {
- msg.prefix(player, prefix_datatools, "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- name = text.concatList(args, " ", 1, size - 1);
- name = text.replace(name, "&", "§");
- name = text.replace(name, "\\n", "\n");
- entity.setName(entity, name, true);
- msg.prefix(player, prefix_datatools, concat("Das Entity trägt nun den Namen ", name, "§r."));
- goto("wait");
- }
- if(arg0 == "name-visibility") {
- if(size != 2) {
- msg.prefix(player, prefix_datatools, "§r/datatools name-visibility <boolean>");
- goto("wait");
- }
- templist = living.near(player, 3);
- if(list.getSize(templist) == 0) {
- msg.prefix(player, prefix_datatools, "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- boolean = list.getIndex(args, 1);
- name = entity.getName(entity);
- entity.setName(entity, name, boolean);
- msg.prefix(player, prefix_datatools, "Änderung durchgeführt.");
- goto("wait");
- }
- if(arg0 == "hide-entity") {
- if(size != 1) {
- msg.prefix(player, prefix_datatools, "§r/datatools hide-entity");
- goto("wait");
- }
- templist = living.near(player, 3);
- if(list.getSize(templist) == 0) {
- msg.prefix(player, prefix_datatools, "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- entity.setInvisible(entity, true);
- msg.prefix(player, prefix_datatools, "Das Entity ist nun unsichtbar.");
- goto("wait");
- }
- if(arg0 == "show-entity") {
- if(size != 1) {
- msg.prefix(player, prefix_datatools, "§r/datatools show-entity");
- goto("wait");
- }
- templist = living.near(player, 3);
- if(list.getSize(templist) == 0) {
- msg.prefix(player, prefix_datatools, "Zu weit weg vom Entity.");
- goto("wait");
- }
- entity = list.getIndex(templist, 0);
- entity.setInvisible(entity, false);
- msg.prefix(player, prefix_datatools, "Das Entity ist nun sichtbar.");
- goto("wait");
- }
- goto("datatoolshelp");
- @human
- if(size == 0) {
- @humanhelp
- msg.prefix(player, prefix_human, "/human ...");
- msg(player, concat("§6 - spawn §rSpawnt einen Human"));
- msg(player, concat("§6 - set <name> §rSetzt den Skin"));
- msg(player, concat("§6 - setuuid <uuid> §rSetzt den Skin"));
- msg(player, concat("§6 - name §rSetzt den Namen"));
- msg(player, concat("§6 - kill §rTötet einen Human"));
- msg(player, concat("§6 - size <scale> §rSetzt die Größenskalierung"));
- msg(player, concat("§6 - steve §rSchaltet auf Steve Skin"));
- msg(player, concat("§6 - alex §rSchaltet auf Alex Skin"));
- msg(player, concat("§6 - statue <bool> §rToggles between statue"));
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "spawn") {
- human.spawn(entity.getLocation(player));
- msg.prefix(player, prefix_human, "Human gespawnt.");
- goto("wait");
- }
- player_loc = entity.getLocation(player);
- human = entity.get(player_loc, 3, "me.km.entities.EntityHuman");
- if(human == null) {
- msg.prefix(player, prefix_human, "Zu weit weg vom Human.");
- goto("wait");
- }
- if(arg0 == "set") {
- if(size == 2) {
- name = list.getIndex(args, 1);
- human.setSkin(human, name);
- msg.prefix(player, prefix_human, "Skin gesetzt.");
- goto("wait");
- }
- }
- elseif(arg0 == "setuuid") {
- if(size == 2) {
- uuid = list.getIndex(args, 1);
- human.setSkin(human, uuid);
- msg.prefix(player, prefix_human, "Skin gesetzt.");
- goto("wait");
- }
- }
- elseif(arg0 == "name") {
- if(size > 1) {
- name = text.concatList(args, " ", 1, size - 1);
- name = text.replace(name, "&", "§");
- name = text.replace(name, "\\n", "\n");
- entity.setName(human, name, true);
- msg.prefix(player, prefix_human, concat("Das Entity trägt nun den Namen ", name, "§r."));
- goto("wait");
- }
- }
- elseif(arg0 == "kill") {
- entity.remove(human);
- msg.prefix(player, prefix_human, "Human getötet.");
- goto("wait");
- }
- elseif(arg0 == "size") {
- if(size == 2) {
- scale = list.getIndex(args, 1);
- if(!isDouble(scale)) {
- msg.prefix(player, prefix_human, "Zahl erwartet.");
- goto("wait");
- }
- if(scale > 10) {
- msg.prefix(player, prefix_human, "Maximal 10.");
- scale = 10;
- }
- human.setScale(human, scale);
- msg.prefix(player, prefix_human, "Größe verändert.");
- goto("wait");
- }
- }
- elseif(arg0 == "steve") {
- human.setSlim(human, false);
- msg.prefix(player, prefix_human, "Skin-Format geändert.");
- goto("wait");
- }
- elseif(arg0 == "alex") {
- human.setSlim(human, true);
- msg.prefix(player, prefix_human, "Skin-Format geändert.");
- goto("wait");
- }
- elseif(arg0 == "statue") {
- if(size == 1) {
- bool = true;
- } elseif(size == 2) {
- bool = list.getIndex(args, 1);
- if(bool != true && bool != false) {
- bool = true;
- }
- }
- human.setStatue(human, bool);
- msg.prefix(player, prefix_human, "Human changed.");
- goto("wait");
- }
- goto("humanhelp");
- @answer
- if(player.isMuted(player)) {
- msg.prefix(player, "§6Commands", "You are muted.");
- goto("wait");
- }
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/answer <message>");
- goto("wait");
- }
- player_uuid = player.getUuid(sender);
- p_uuid = map.get(answer_map, player_uuid);
- if(p_uuid == null) {
- msg.prefix(sender, prefix_commands, "There is no one you could answer.");
- goto("wait");
- }
- message = text.replace(text.concatList(args, " ", 0, size - 1), "&", "§");
- if(text.startsWith(message, "https://", 0)) {
- message = text.link(message, message);
- }
- if(player.getId(p_uuid) == 18) {
- msg(sender, "§6[ -> §cSERVER§6] ", message);
- msg("SERVER", concat("§6[§c", sender_name), "§6] ", message);
- } else {
- p = player.get(p_uuid);
- if(p == null) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- msg(sender, text.concat2(concat("§6[ -> §c", player.getName(p), "§6] "), message));
- msg(p, text.concat2(concat("§6[§c", sender_name, "§6] "), message));
- }
- map.add(answer_map, p_uuid, player_uuid);
- map.add(answer_map, player_uuid, p_uuid);
- goto("wait");
- @msg
- if(player.isMuted(player)) {
- msg.prefix(player, "§6Commands", "You are muted.");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(sender, prefix_commands, "/msg <player> <message>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(sender, prefix_commands, "Unknown player.");
- goto("wait");
- }
- message = text.replace(text.concatList(args, " ", 1, size - 1), "&", "§");
- if(text.startsWith(message, "https://", 0)) {
- message = text.link(message, message);
- }
- if(text.toUpperCase(p_name) == "SERVER") {
- msg("SERVER", concat("§6[§c", sender_name), "§6] ", message);
- msg(sender, "§6[ -> §cSERVER§6] ", message);
- } else {
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- msg(p, concat("§6[§c", sender_name), "§6] ", message);
- msg(sender, concat("§6[ -> §c", player.getName(p)), "§6] ", message);
- }
- player_uuid = player.getUuid(sender);
- map.add(answer_map, p_uuid, player_uuid);
- map.add(answer_map, player_uuid, p_uuid);
- goto("wait");
- @list
- list = players.toList();
- size = list.getSize(list);
- msg(sender, getSpacer());
- if(size == 1) {
- msg(sender, concat("§6There is ", text.number(size), " players online."));
- } else {
- msg(sender, concat("§6There are ", text.number(size), " players online."));
- }
- for(i = 0; i < size; i++) {
- p = list.getIndex(list, i);
- full_name = player.getFullName(p);
- if(player.isAfk(p)) {
- full_name = concat("§7§m", removeFormat(full_name));
- }
- msg(sender, full_name);
- }
- goto("wait");
- @ass
- if(size < 2) {
- msg.prefix(player, prefix_commands, "§r/ass ...");
- msg(player, " - set <name>");
- msg(player, " - rename <name>");
- msg(player, " - remove <radius>");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "set") {
- name = text.concatList(args, " ", 1, size - 1);
- name = text.replace(name, "&", "§");
- name = text.replace(name, "\\n", "\n");
- ent = entity.spawn("km:nobody", entity.getLocation(player), "{NoGravity:true}");
- entity.setName(ent, name);
- goto("wait");
- }
- if(arg0 == "rename") {
- name = text.concatList(args, " ", 1, size - 1);
- name = text.replace(name, "&", "§");
- name = text.replace(name, "\\n", "\n");
- ent_list = living.near(player, 5);
- for(i = 0; i < list.getSize(ent_list); i++) {
- ent = list.getIndex(ent_list, i);
- if(entity.getType(ent) == "nobody") {
- entity.setName(ent, name);
- goto("wait");
- }
- }
- msg.prefix(player, prefix_commands, "§rKeinen Lufttext gefunden");
- goto("wait");
- }
- if(arg0 == "remove") {
- radius = list.getIndex(args, 1);
- if(!isDouble(radius)) {
- msg.prefix(player, prefix_commands, "Zahl erwartet.");
- goto("wait");
- }
- if(radius < 0 || radius > 5) {
- msg.prefix(player, prefix_commands, "§rRadius: 0-5");
- goto("wait");
- }
- ent_list = living.near(player, radius);
- for(i = 0; i < list.getSize(ent_list); i++) {
- ent = list.getIndex(ent_list, i);
- if(entity.getType(ent) == "nobody") {
- entity.remove(ent);
- msg.prefix(player, prefix_commands, "§rLufttext entfernt");
- goto("wait");
- }
- }
- msg.prefix(player, prefix_commands, "§rKeinen Lufttext gefunden");
- }
- goto("wait");
- @coords
- target_loc = player.getTarget(player, 5, false, false);
- targettype = block.getType(target_loc);
- if(targettype == "minecraft:air") {
- msg.prefix(player, prefix_commands, "You have to look at a block.");
- goto("wait");
- }
- msg(player, getSpacer());
- x = text.Number(loc.getX(target_loc));
- y = text.Number(loc.getY(target_loc));
- z = text.Number(loc.getZ(target_loc));
- msg(player, "§6World: §r", world.getName(loc.getWorld(target_loc)));
- msg(player, "§6Coords: §r", x, " / ", y, " / ", z);
- msg(player, "§6Block: §r", targettype);
- goto("wait");
- @sign
- if(size == 0) {
- msg.prefix(player, prefix_commands, "/sign <1-4> [text]");
- goto("wait");
- }
- target_loc = player.getTarget(player, 5, false, false);
- block = block.get(target_loc);
- if(!block.hasTag(sign_tag, block)) {
- msg.prefix(player, prefix_commands, "Look at a sign.");
- goto("wait");
- }
- line = list.getIndex(args, 0);
- if(!isDouble(line)) {
- msg.prefix(player, prefix_commands, "Number expected.");
- goto("wait");
- }
- if(!(line == 1 || line == 2 || line == 3 || line == 4)) {
- msg.prefix(player, prefix_commands, "Number between 1 and 5 expected.");
- goto("wait");
- }
- string = "";
- if(size > 1) {
- for(i = 1; i < size; i++) {
- arg = list.getIndex(args, i);
- if(isDouble(arg)) {
- arg = text.number(arg);
-
- }
- if(i == 1) {
- string = arg;
- } else {
- string = concat(string, " ", arg);
- }
- }
- }
- string = text.replace(string, "&", "§");
- block.setSign(target_loc, line - 1, string);
- goto("wait");
- @head
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/head <player>");
- goto("wait");
- }
- name = list.getIndex(args, 0);
- uuid = player.getUuid(name);
- if(uuid == null) {
- player.giveItem(player, read.item(concat("{id:\"minecraft:player_head\", Count:1b, tag:{SkullOwner:\"", name, "\"}}")));
- } else {
- player.giveItem(player, player.getHead(uuid, name));
- }
- goto("wait");
- @mute
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/mute <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!isOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- p_name = player.getName(p);
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- msg("online", concat("§c", p_name, " was muted by ", sender_name, "."));
- player.mute(p, true);
- goto("wait");
- @unmute
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/unmute <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!isOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- p_name = player.getName(p);
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- msg("online", concat("§c", p_name, " was unmuted by ", sender_name, "."));
- player.mute(p, false);
- goto("wait");
- @kick
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/kick <player> [reason]");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!isOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- p_name = player.getName(p);
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- if(size > 1) {
- reason = text.concatList(args, " ", 1, size - 1);
- msg("online", concat("§c", p_name, " was kicked by ", sender_name, ": ", reason));
- } else {
- reason = "You got kicked";
- msg("online", concat("§c", p_name, " was kicked by ", sender_name, "."));
- }
- ban.kick(p, reason);
- goto("wait");
- @silentkick
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/silentkick <player> [reason]");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!isOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- p_name = player.getName(p);
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- if(size > 1) {
- reason = text.concatList(args, " ", 1, size - 1);
- msg(sender, concat("§cYou silently kicked ", p_name, ": ", reason));
- } else {
- reason = "Du wurdest gekickt";
- msg(sender, concat("§cYou silently kicked ", p_name, "."));
- }
- ban.kick(p, reason);
- goto("wait");
- @warn
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/warn <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!isOnline(p_name)) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- p_name = player.getName(p);
- if(p_name == "marvinius") {
- msg(player, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- head.add(p, 0, sender_name, 0.4, 0.05, 0.2, 0.35);
- title.setSub(p, "is watching you");
- title.send(p, concat("§c", sender_name));
- list.add(warninglist, p_name);
- sgoto(100, "removeWarning");
- msg.prefix(player, prefix_commands, "The player got warned.");
- goto("wait");
- @removeWarning
- p_name = list.getIndex(warninglist, 0);
- if(isOnline(p_name)) {
- p = read.player(p_name);
- head.remove(p, 0);
- list.removeIndex(warninglist, 0);
- }
- goto("wait");
- @ban
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/ban <player> [reason]");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(player.getUuid(p_name));
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- if(size > 1) {
- reason = text.concatList(args, " ", 1, size - 1);
- msg("online", concat("§c", p_name, " got banned by ", sender_name, ". Reason: ", reason));
- msg("SERVER", concat("§c", p_name, " got banned by ", sender_name, ". Reason: ", reason));
- } else {
- reason = "Du wurdest gebannt";
- msg("online", concat("§c", p_name, " got banned by ", sender_name, "."));
- msg("SERVER", concat("§c", p_name, " got banned by ", sender_name, "."));
- }
- ban.add(player.getUuid(p_name), reason, sender_name);
- if(isOnline(p_name)) {
- p = read.player(p_name);
- ban.kick(p, reason);
- }
- goto("wait");
- @silentban
- if(size < 1) {
- msg.prefix(sender, prefix_commands, "/silentban <player> [reason]");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(player.getUuid(p_name));
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- if(size > 1) {
- reason = text.concatList(args, " ", 1, size - 1);
- msg(sender, concat("§cYou silently banned ", p_name, ": ", reason));
- } else {
- reason = "You got banned.";
- msg(sender, concat("§cYou silently banned ", p_name, "."));
- }
- ban.add(player.getUuid(p_name), reason, sender_name);
- if(isOnline(p_name)) {
- p = read.player(p_name);
- ban.kick(p, reason);
- }
- goto("wait");
- @unban
- if(size != 1) {
- msg.prefix(sender, prefix_commands, "/unban <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(player.getUuid(p_name));
- ban.remove(player.getUuid(p_name));
- msg(sender, concat("§cYou unbanned ", p_name, "."));
- goto("wait");
- @tempban
- if(size < 4) {
- msg.prefix(sender, prefix_commands, "/tempban <player> <days> <hours> <minutes> [reason]");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(player.getUuid(p_name));
- if(p_name == "marvinius") {
- msg(sender, "§cSorry §b¯\\_(ツ)_/¯");
- goto("wait");
- }
- days = list.getIndex(args, 1);
- hours = list.getIndex(args, 2);
- minutes = list.getIndex(args, 3);
- if(!isDouble(days) || !isDouble(hours) || !isDouble(minutes)) {
- msg.prefix(sender, prefix_commands, "Number expected.");
- goto("wait");
- }
- if(days < 0 || hours < 0 || minutes < 0) {
- msg.prefix(sender, prefix_commands, "Positive number expected.");
- goto("wait");
- }
- endtime = time.getMillis() + minutes * 60000 + hours * 3600000 + days * 86400000;
- timestring = getTimeString(endtime);
- if(size > 4) {
- reason = text.concatList(args, " ", 4, size - 1);
- msg("online", concat("§c", p_name, " got banned by ", sender_name, " until ", timestring, ". Reason: ", reason));
- msg("SERVER", concat("§c", p_name, " got banned by ", sender_name, " until ", timestring, ". Reason: ", reason));
- } else {
- reason = "Du wurdest gebannt";
- msg("online", concat("§c", p_name, " got banned by ", sender_name, " until ", timestring, "."));
- msg("SERVER", concat("§c", p_name, " got banned by ", sender_name, " until ", timestring, "."));
- }
- calendar = time.new(endtime);
- ban.add(player.getUuid(p_name), reason, sender_name, calendar);
- if(isOnline(p_name)) {
- p = read.player(p_name);
- ban.kick(p, reason);
- }
- goto("wait");
- @ping
- msg(player, "pong");
- goto("wait");
- @plot
- if(size == 0) {
- @plothelp
- msg.prefix(player, prefix_plot, "/plot ...");
- msg(player, "§d - info §rReturns info about current location");
- msg(player, "§d - pos1/pos2 §rSet corner points");
- msg(player, "§d - create §rCreates a (sub-)plot (Y: 0 - 255)");
- msg(player, "§d - create3D §rCreates a 3D (sub-)plot");
- msg(player, "§d - remove [id] §rRemoves a plot");
- msg(player, "§d - expand <anzahl> [id] §rExpands a plot");
- msg(player, "§d - name [id] <name> §rRenames a plot");
- msg(player, "§d - share <player> [id] §rAdd a player to a plot");
- msg(player, "§d - kick <player> [id] §rRemove a player from a plot");
- msg(player, "§d - leader <player> [id] §rPromote to plot-leader");
- msg(player, "§d - mod <player> [id] §rPromote to plot-mod");
- msg(player, "§d - chest <player> [id] §rAllows a player to open chests");
- msg(player, "§d - raise §rRaises a plot to a city");
- msg(player, "§d - sell <price> §rSells a sub-plot");
- if(perm.has(player, "plot.moreinfo")) {
- msg(player, "§d - list [player] §rLists all plots from a player");
- msg(player, "§d - moreinfo [id] §rReturns more detailed infos");
- msg(player, "§d - listall §rLists all plots");
- msg(player, "§d - flags <flags> <boolean> §rSet all flags to the boolean");
- } else {
- msg(player, "§d - list §rLists your plots");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "sell") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/plot sell <price>");
- goto("wait");
- }
- sign_loc = player.getTarget(player, 5, false, false);
- block = block.get(sign_loc);
- if(!block.hasTag(sign_tag, block)) {
- msg.prefix(player, prefix_plot, "You need to look at an empty sign.");
- goto("wait");
- }
- if(block.getSign(sign_loc, 0) != "" || block.getSign(sign_loc, 1) != "" || block.getSign(sign_loc, 2) != "" || block.getSign(sign_loc, 3) != "") {
- msg.prefix(player, prefix_plot, "You need to look at an empty sign.");
- goto("wait");
- }
- plot_list = plot.get(sign_loc);
- amount = list.getSize(plot_list);
- if(amount == 0 || amount == 1) {
- msg.prefix(player, prefix_plot, "You aren't on a sub plot.");
- goto("wait");
- }
- if(amount > 2) {
- msg.prefix(player, prefix_plot, "Multiple plots present. Not possible.");
- goto("wait");
- }
- plot_1 = list.getIndex(plot_list, 0);
- plot_2 = list.getIndex(plot_list, 1);
- if(plot.isCity(plot_1)) {
- city_plot = plot_1;
- sell_plot = plot_2;
- } elseif(plot.isCity(plot_2)) {
- sell_plot = plot_1;
- city_plot = plot_2;
- } else {
- msg.prefix(player, prefix_plot, "No city found.");
- goto("wait");
- }
- if(!plot.isLeader(city_plot, player) && !plot.isMod(city_plot, player)) {
- msg.prefix(player, prefix_plot, "You aren't a city plot leader or mod.");
- goto("wait");
- }
- snuvis = list.getIndex(args, 1);
- if(!isDouble(snuvis) || snuvis < 0) {
- msg.prefix(player, prefix_plot, "Positive number expected.");
- goto("wait");
- }
- //Sell Plot
- x1 = plot.getMinX(sell_plot);
- y1 = plot.getMinY(sell_plot);
- z1 = plot.getMinZ(sell_plot);
- x2 = plot.getMaxX(sell_plot);
- y2 = plot.getMaxY(sell_plot);
- z2 = plot.getMaxZ(sell_plot);
- length = math.abs(x1 - x2) + 1;
- width = math.abs(z1 - z2) + 1;
- high = math.abs(y1 - y2) + 1;
- //Change plot settings
- plot.setFree(sell_plot, true);
- plot.setName(sell_plot, "Free Plot");
- plot.removePlayer(sell_plot, player.getName(player));
- //Label Sign
- block.setSign(sign_loc, 0, "§3[§bFree Plot§3]");
- block.setSign(sign_loc, 1, concat("§2", text.number(snuvis)));
- if(high == 256) {
- block.setSign(sign_loc, 2, concat(text.number(length), "x", text.number(width)));
- } else {
- block.setSign(sign_loc, 2, concat(text.number(length), "x", text.number(width), " (Y:", text.number(high), ")"));
- }
- block.setSign(sign_loc, 3, text.number(player.getId(player)));
- msg.prefix(player, prefix_plot, "Free plot for selling created.");
- goto("wait");
- }
- if(arg0 == "raise") {
- location = entity.getLocation(player);
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_plot, "Only a clan leader can do this.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- if(clan.getMembersAmount(clan_id) < 5) {
- msg.prefix(player, prefix_plot, "Your clan needs 4 members to do this.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(plot.isCity(plot)) {
- msg.prefix(player, prefix_plot, "This plot is already a city.");
- goto("wait");
- }
- if(!plot.isLeader(plot, player)) {
- msg.prefix(player, prefix_plot, "Only the plot leader can do this.");
- goto("wait");
- }
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present. Not possible.");
- goto("wait");
- }
- x1 = plot.getMinX(plot);
- z1 = plot.getMinZ(plot);
- x2 = plot.getMaxX(plot);
- z2 = plot.getMaxZ(plot);
- length = math.abs(x1 - x2) + 1;
- width = math.abs(z1 - z2) + 1;
- plot_size = length * width;
- if(plot_size < 900) {
- msg.prefix(player, prefix_plot, "Your plot must be over 900m2.");
- goto("wait");
- }
- snuvis = 4096;
- if(!hasEnoughMoney(player, snuvis)) {
- msg.prefix(player, prefix_plot, concat("You'll need §6", text.number(snuvis), "§r snuvis for this."));
- goto("wait");
- }
- offerRank(player, "rank.major");
- player.setPlotRaised(player, true);
- subMoney(player, snuvis);
- plot.setCity(plot, true);
- msg.prefix(player, prefix_plot, concat("City created. Spent §6", text.number(snuvis), "§r snuvis."));
- goto("wait");
- }
- if(arg0 == "leader") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot leader <player> [plot_id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot leader ", p_name, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/plot leader <player> [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 2);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- player_id = player.getId(player);
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- if(!plot.isLeader(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't the plot leader.");
- goto("wait");
- }
- if(player_name == p_name) {
- msg.prefix(player, prefix_plot, "You are already the plot leader.");
- goto("wait");
- }
- }
- p_id = player.getId(p_uuid);
- if(plot.isLeader(plot, p_id)) {
- msg.prefix(player, prefix_plot, "This player is already the plot leader.");
- goto("wait");
- }
- old_leader = plot.getLeaderId(plot);
- if(old_leader != null) {
- plot.setMod(plot, old_leader);
- }
- plot.setLeader(plot, p_id);
- plot.addPlayer(plot, p_name);
- msg.prefix(player, prefix_plot, concat(p_name, " promoted to plot leader."));
- goto("wait");
- }
- if(arg0 == "mod") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot mod <player> [plot_id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot mod ", p_name, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/plot mod <player> [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 2);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- player_id = player.getId(player);
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- if(!plot.isLeader(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't the plot leader.");
- goto("wait");
- }
- }
- p_id = player.getId(p_uuid);
- if(plot.isLeader(plot, p_id)) {
- msg.prefix(player, prefix_plot, "Not possible. Promote another player first /plot leader <player>.");
- goto("wait");
- }
- if(plot.isMod(plot, p_id)) {
- msg.prefix(player, prefix_plot, "This player is already a plot mod.");
- goto("wait");
- }
- plot.setMod(plot, p_id);
- plot.addPlayer(plot, p_name);
- msg.prefix(player, prefix_plot, concat(p_name, " promoted to plot mod."));
- goto("wait");
- }
- if(arg0 == "chest") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot chest <player> [plot_id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot chest ", p_name, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/plot chest <player> [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 2);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- player_id = player.getId(player);
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- if(!plot.isLeader(plot, player_id) && !plot.isMod(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't a plot leader or mod.");
- goto("wait");
- }
- }
- p_id = player.getId(p_uuid);
- if(plot.isLeader(plot, p_id) || plot.isMod(plot, p_id)) {
- msg.prefix(player, prefix_plot, "Not possible. Player has higher permissions.");
- goto("wait");
- }
- if(plot.canOpenChests(plot, p_id)) {
- msg.prefix(player, prefix_plot, "This player already can open chests.");
- goto("wait");
- }
- plot.setChest(plot, p_id);
- msg.prefix(player, prefix_plot, concat(p_name, " can now open chests."));
- goto("wait");
- }
- if(arg0 == "remove") {
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 1) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot remove ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/plot remove [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 1);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!plot.isLeader(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't the plot leader.");
- goto("wait");
- }
- }
- if(plot.isCity(plot)) {
- plot_list = plot.intersecting(world, plot.getMinX(plot), plot.getMinY(plot), plot.getMinZ(plot), plot.getMaxX(plot), plot.getMaxY(plot), plot.getMaxZ(plot));
- iter = list.iterator(plot_list);
- while(hasNext(iter)) {
- sub_plot = next(iter);
- plot.removeAllPlayers(sub_plot);
- plot.remove(sub_plot, world);
- }
- }
- plot.removeAllPlayers(plot);
- plot.delMoveEvent(plot);
- plot.remove(plot, world);
- msg.prefix(player, prefix_plot, concat("Plot removed. #", text.number(plot.getId(plot)), " §6", plot.getName(plot)));
- goto("wait");
- }
- if(arg0 == "expand") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot expand <anzahl> [direction] [plot_id]");
- goto("wait");
- }
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- anzahl = list.getIndex(args, 1);
- if(!isDouble(anzahl) || anzahl < 0) {
- msg.prefix(player, prefix_plot, "Positive number expected.");
- goto("wait");
- }
- if(size == 2) {
- yaw = loc.getYaw(location);
- direction = getDirection(yaw);
- if(direction == null) {
- msg.prefix(player, prefix_plot, "Direction of view too imprecise.");
- goto("wait");
- }
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot expand ", anzahl, " ", direction, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 4) {
- msg.prefix(player, prefix_commands, "/plot expand <anzahl> [direction] [plot_id]");
- goto("wait");
- }
- direction = text.toLowerCase(list.getIndex(args, 2));
- plot_id = list.getIndex(args, 3);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- if(plot.isSub(plot)) {
- msg.prefix(player, prefix_plot, "Sub plots can't be expanded.");
- goto("wait");
- }
- x1 = plot.getMinX(plot);
- y1 = plot.getMinY(plot);
- z1 = plot.getMinZ(plot);
- x2 = plot.getMaxX(plot);
- y2 = plot.getMaxY(plot);
- z2 = plot.getMaxZ(plot);
- if(direction == "east") {
- old_x2 = x2;
- x2 += anzahl;
- list = plot.intersecting(world, x2, y1, z1, old_x2, y2, z2);
- } elseif(direction == "south") {
- old_z2 = z2;
- z2 += anzahl;
- list = plot.intersecting(world, x1, y1, z2, x2, y2, old_z2);
- } elseif(direction == "west") {
- old_x1 = x1;
- x1 -= anzahl;
- list = plot.intersecting(world, old_x1, y1, z1, x1, y2, z2);
- } elseif(direction == "north") {
- old_z1 = z1;
- z1 -= anzahl;
- list = plot.intersecting(world, x1, y1, old_z1, x2, y2, z1);
- } else {
- msg.prefix(player, prefix_plot, "Unknown direction [north/east/south/west].");
- goto("wait");
- }
- if(!perm.has(player, "plot.other")) {
- if(list.getSize(list) > 0) {
- msg.prefix(player, prefix_plot, "New area is intersecting with other plots.");
- goto("wait");
- }
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!plot.isLeader(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't the plot leader.");
- goto("wait");
- }
- //Calc costs
- length = math.abs(x1 - x2) + 1;
- width = math.abs(z1 - z2) + 1;
- snuvis = plot.calcCost(world, length, width);
- if(!hasEnoughMoney(player, snuvis)) {
- msg.prefix(player, prefix_plot, concat("You'll need §6", text.number(snuvis), "§r snuvis for this."));
- goto("wait");
- }
- subMoney(player, snuvis);
- expand_message = concat("The plot has been expanded. Spent §6", text.number(snuvis), "§r snuvis.");
- if(!player.hasBigPlotCreated(player)) {
- plot_size = length * width;
- if(plot_size >= 900) {
- offerRank(player, "rank.colonizer");
- player.setBigPlotCreated(player, true);
- }
- }
- } else {
- expand_message = concat("The plot has been expanded.");
- }
- //Expand plot
- gs_edge1 = loc.new(world, x1, y1, z1);
- gs_edge2 = loc.new(world, x2, y2, z2);
- new_plot = plot.setEdges(plot, gs_edge1, gs_edge2);
- plot.delMoveEvent(plot);
- plot.setMoveEvent(new_plot, world);
- msg.prefix(player, prefix_plot, expand_message);
- goto("wait");
- }
- if(arg0 == "share") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot share <player> [plot_id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot share ", p_name, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/plot share <player> [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 2);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!plot.isLeader(plot, player_id) && !plot.isMod(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't a plot leader or mod.");
- goto("wait");
- }
- }
- plot.addPlayer(plot, p_name);
- msg.prefix(player, prefix_plot, concat(p_name, " added to the plot."));
- goto("wait");
- }
- if(arg0 == "kick") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot kick <player> [plot_id]");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot kick ", p_name, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/plot kick <player> [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 2);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!plot.isLeader(plot, player_id) && !plot.isMod(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't a plot leader or mod.");
- goto("wait");
- }
- if(player_name == p_name) {
- msg.prefix(player, prefix_plot, "You can't kick yourself.");
- goto("wait");
- }
- p_id = player.getId(p_uuid);
- if(plot.isLeader(plot, p_id)) {
- msg.prefix(player, prefix_plot, "You can't kick the plot-leader.");
- goto("wait");
- }
- }
- plot.removePlayer(plot, p_name);
- msg.prefix(player, prefix_plot, concat(p_name, " removed from this plot."));
- goto("wait");
- }
- if(arg0 == "name") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/plot name [plot_id] <name>");
- goto("wait");
- }
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- //Angegeben wurde ein Name aus einem Wort, ohne Plotid. Der Spieler muss auf einem Plot sein.
- if(size == 2) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- name = list.getIndex(args, 1);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot name ", plot_id, " ", name)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- }
- if(size > 2) {
- plot_id = list.getIndex(args, 1);
- if(isDouble(plot_id)) {
- //Angegeben wurde eine eine Plotid mit einem Namen aus ein oder mehreren Wörtern
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- name = text.concatList(args, " ", 2, size - 1);
- } else {
- //Angegeben wurde ein Name aus mehreren Wörtern, ohne Plotid. Der Spieler muss auf einem Plot sein.
- name = text.concatList(args, " ", 1, size - 1);
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot name ", plot_id, " ", name)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- }
- }
- if(!perm.has(player, "plot.other")) {
- if(!world.canUsePlots(world)) {
- msg.prefix(player, prefix_perms, "You have no permission for this in this world.");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!plot.isLeader(plot, player_id) && !plot.isMod(plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't a plot leader or mod.");
- goto("wait");
- }
- }
- plot.setName(plot, name);
- msg.prefix(player, prefix_plot, concat("Plot renamed to ", name, "."));
- goto("wait");
- }
- if(arg0 == "create" || arg0 == "create3d") {
- player_id = player.getId(player);
- loc1 = map.get(plotpos1, player_id);
- loc2 = map.get(plotpos2, player_id);
- if(loc1 == null || loc2 == null) {
- msg.prefix(player, prefix_plot, "No corner points set.");
- goto("wait");
- }
- world1 = loc.getWorld(loc1);
- if(world1 != loc.getWorld(loc2)) {
- msg.prefix(player, prefix_plot, "Corner points have different worlds.");
- goto("wait");
- }
- x1 = loc.getX(loc1);
- y1 = loc.getY(loc1);
- z1 = loc.getZ(loc1);
- x2 = loc.getX(loc2);
- y2 = loc.getY(loc2);
- z2 = loc.getZ(loc2);
- if(arg0 == "create") {
- loc.setY(loc1, 0);
- loc.setY(loc2, 255);
- }
- create_message = "Plot created.";
- sub_plot = false;
- if(!perm.has(player, "plot.other")) {
- world_name = world.getName(world1);
- if(!world.canUsePlots(world1)) {
- msg.prefix(player, prefix_perms, "You have no permission in this world.");
- goto("wait");
- }
- list = plot.intersecting(world1, x1, y1, z1, x2, y2, z2);
- if(list.getSize(list) > 0) {
- city_plot = list.getIndex(list, 0);
- if(plot.isCity(city_plot)) {
- if(!plot.isLeader(city_plot, player_id) && !plot.isMod(city_plot, player_id)) {
- msg.prefix(player, prefix_plot, "You aren't a plot leader or mod.");
- goto("wait");
- }
- city_id = plot.getId(city_plot);
- if(!loc.hasPlotId(loc1, city_id)) {
- msg.prefix(player, prefix_plot, "The sub plot needs to be surrounded by the city.");
- goto("wait");
- }
- if(!loc.hasPlotId(loc2, city_id)) {
- msg.prefix(player, prefix_plot, "The sub plot needs to be surrounded by the city.");
- goto("wait");
- }
- sub_plot = true;
- } else {
- msg.prefix(player, prefix_plot, "Intersecting plots are not allowed.");
- goto("wait");
- }
- }
- if(!sub_plot) {
- //Calc costs
- length = math.abs(x1 - x2) + 1;
- width = math.abs(z1 - z2) + 1;
- if(length < 3 || width < 3) {
- msg.prefix(player, prefix_plot, "Length and width of the plot must be at least 3.");
- goto("wait");
- }
- snuvis = plot.calcCost(world1, length, width);
- free_plot_used = player.usedHisFreePlot(player_id);
- if(!free_plot_used && world_name != "creative") {
- snuvis -= plot.calcCost(world1, 16, 16);
- if(snuvis < 0) {
- snuvis = 0;
- }
- msg.prefix(player, prefix_plot, "Free plot (16 x 16) to calculation included.");
- }
- if(!hasEnoughMoney(player, snuvis)) {
- msg.prefix(player, prefix_plot, concat("You'll need §6", text.number(snuvis), "§r snuvis for this."));
- goto("wait");
- }
- create_message = concat("Plot created. Spent §6", text.number(snuvis), "§r snuvis.");
- subMoney(player, snuvis);
- if(!free_plot_used && world_name != "creative") {
- player.setUsedFreePlot(player_id, true);
- offerRank(player, "rank.settler");
- }
- if(!player.hasBigPlotCreated(player)) {
- plot_size = length * width;
- if(plot_size >= 900) {
- offerRank(player, "rank.colonizer");
- player.setBigPlotCreated(player, true);
- }
- }
- }
- }
- //Create plot
- map.remove(plotpos1, player_id);
- map.remove(plotpos2, player_id);
- plot = plot.add(loc1, loc2);
- if(sub_plot) {
- plot.setSub(plot, true);
- }
- plot.setMoveEvent(plot, world1);
- plot.setName(plot, concat(player_name, "'s plot"));
- plot.addPlayer(plot, player_name);
- plot.setLeader(plot, player_id);
- msg.prefix(player, prefix_plot, create_message);
- goto("wait");
- }
- if(arg0 == "pos1" || arg0 == "pos2") {
- loc = entity.getLocation(player);
- loc = getBlockLocation(loc);
- player_id = player.getId(player);
- if(arg0 == "pos1") {
- map.add(plotpos1, player_id, loc);
- pos_string = "Pos1";
- } elseif(arg0 == "pos2") {
- map.add(plotpos2, player_id, loc);
- pos_string = "Pos2";
- }
- x = text.number(loc.getX(loc));
- y = text.number(loc.getY(loc));
- z = text.number(loc.getZ(loc));
- msg.prefix(player, prefix_plot, concat(pos_string, " (", x, "/", y, "/", z, ") set."));
- loc1 = map.get(plotpos1, player_id);
- loc2 = map.get(plotpos2, player_id);
- if(loc1 != null && loc2 != null) {
- world1 = loc.getWorld(loc1);
- snuvis = plot.calcCost(world1, loc1, loc2);
- if(!player.usedHisFreePlot(player_id) && world.getName(world1) != "creative") {
- snuvis -= plot.calcCost(world1, 16, 16);
- if(snuvis < 0) {
- snuvis = 0;
- }
- msg.prefix(player, prefix_plot, "Free plot (16 x 16) to calculation included.");
- }
- if(loc.isCity(loc1) && loc.isCity(loc2)) {
- snuvis = 0;
- }
- msg.prefix(player, prefix_plot, concat("This plot will cost §6", text.number(snuvis), "§r snuvis."));
- }
- goto("wait");
- }
- if(arg0 == "flags") {
- if(!perm.has(player, "plot.moreinfo")) {
- perm.no(player, "plot.moreinfo");
- goto("wait");
- }
- if(size < 3 || size > 4) {
- msg.prefix(player, prefix_commands, "/plot flags <flags> <boolean> [plot_id]");
- goto("wait");
- }
- flags = list.getIndex(args, 1);
- if(!isDouble(flags) || flags < 0) {
- msg.prefix(player, prefix_commands, "Positive number expected.");
- goto("wait");
- }
- boolean = list.getIndex(args, 2);
- if(!(boolean == true || boolean == false)) {
- msg.prefix(player, prefix_commands, "Boolean expected.");
- goto("wait");
- }
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 3) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- x = loc.getX(location);
- y = loc.getY(location);
- z = loc.getZ(location);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot flags ", flags, " ", boolean, " ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- } else {
- plot_id = list.getIndex(args, 3);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- flags_list = list.new();
- temp_flags = 0;
- if(flags >= 512) {
- list.add(flags_list, "SUB_PLOT_FLAG");
- temp_flags += 512;
- }
- if(flags >= 256) {
- list.add(flags_list, "FREE_FLAG");
- temp_flags += 256;
- }
- if(flags >= 128) {
- list.add(flags_list, "CITY_FLAG");
- temp_flags += 128;
- }
- if(flags >= 64) {
- list.add(flags_list, "EXPLOSION_FLAG");
- temp_flags += 64;
- }
- if(flags >= 32) {
- list.add(flags_list, "ENTITY_INTERACT_FLAG");
- temp_flags += 32;
- }
- if(flags >= 16) {
- list.add(flags_list, "BLOCK_INTERACT_FLAG");
- temp_flags += 16;
- }
- if(flags >= 8) {
- list.add(flags_list, "HIT_AMBIENT_FLAG");
- temp_flags += 8;
- }
- if(flags >= 4) {
- list.add(flags_list, "BUCKET_FLAG");
- temp_flags += 4;
- }
- if(flags >= 2) {
- list.add(flags_list, "BREAK_FLAG");
- temp_flags += 2;
- }
- if(flags >= 1) {
- list.add(flags_list, "PLACE_FLAG");
- temp_flags += 1;
- }
- plot.setFlags(plot, flags, boolean);
- msg.prefix(player, prefix_plot, "Flags gesetzt.");
- goto("wait");
- }
- if(arg0 == "list") {
- if(size == 1) {
- p_name = player.getName(player);
- } else {
- if(!perm.has(player, "plot.moreinfo")) {
- perm.no(player, "plot.moreinfo");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- }
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_plot, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- msg.prefix(player, prefix_commands, concat(p_name, "'s plots:"));
- world = loc.getWorld(entity.getLocation(player));
- iter = plot.iterator(world, p_uuid);
- while(hasNext(iter)) {
- plot = next(iter);
- msg(player, concat(" - #", text.number(plot.getId(plot)), " ", plot.getType(plot), " §6", plot.getName(plot)));
- }
- goto("wait");
- }
- if(arg0 == "listall") {
- if(!perm.has(player, "plot.moreinfo")) {
- perm.no(player, "plot.moreinfo");
- goto("wait");
- }
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/plot listall");
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(player));
- msg.prefix(player, prefix_commands, concat("All plots in this world: ", world.getName(world)));
- iterator = plot.iterator(world);
- while(hasNext(iterator)) {
- plot = next(iterator);
- plot_id = plot.getId(plot);
- msg(player, concat(" - #", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot), " §r", plot.getLeaderName(plot)));
- }
- goto("wait");
- }
- if(arg0 == "moreinfo" || arg0 == "mi") {
- if(!perm.has(player, "plot.moreinfo")) {
- perm.no(player, "plot.moreinfo");
- goto("wait");
- }
- location = entity.getLocation(player);
- world = loc.getWorld(location);
- if(size == 1) {
- plot_list = plot.get(location);
- amount = list.getSize(plot_list);
- if(amount == 0) {
- msg.prefix(player, prefix_plot, "You aren't on a plot.");
- goto("wait");
- }
- plot = list.getIndex(plot_list, 0);
- if(amount > 1) {
- msg.prefix(player, prefix_plot, "Multiple plots present:");
- for(i = 0; i < amount; i++) {
- plot = list.getIndex(plot_list, i);
- plot_id = plot.getId(plot);
- msg(player, text.click(" [§cSelect§r] ", concat("/plot moreinfo ", plot_id)), concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot)));
- }
- goto("wait");
- }
- } else {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/plot moreinfo [plot_id]");
- goto("wait");
- }
- plot_id = list.getIndex(args, 1);
- plot = plot.getFromId(plot_id, world);
- if(plot == null) {
- msg.prefix(player, prefix_plot, "Unknown plot or not in this world.");
- goto("wait");
- }
- }
- owners = "";
- owners_list = plot.getOwners(plot);
- copy_list = list.copy(owners_list);
- plot_id = plot.getId(plot);
- msg.prefix(player, prefix_plot, concat("#", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot)));
- msg(player, " §dWorld: §r", world.getName(world));
- msg(player, " §dPos1: §r", plot.getMinX(plot), " / ", plot.getMinY(plot), " / ", plot.getMinZ(plot));
- msg(player, " §dPos2: §r", plot.getMaxX(plot), " / ", plot.getMaxY(plot), " / ", plot.getMaxZ(plot));
-
- leader_name = plot.getLeaderName(plot);
- if(leader_name == "") {
- leader_name = "-";
- }
- msg(player, " §dLeader: §r", leader_name);
- list.remove(copy_list, player.getUuid(leader_name));
-
- mods_list = plot.getMods(plot);
- mods_amount = list.getSize(mods_list);
- if(mods_amount == 0) {
- mods_string = "-";
- } else {
- iter = list.iterator(mods_list);
- mods_string = "";
- while(hasNext(iter)) {
- p_name = player.getNameFromId(next(iter));
- p_uuid = player.getUuid(p_name);
- list.remove(copy_list, p_uuid);
- if(mods_string == "") {
- mods_string = p_name;
- } else {
- mods_string = concat(mods_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dMods: §r", mods_string);
-
- members_amount = list.getSize(copy_list);
- if(members_amount == 0) {
- members_string = "-";
- } else {
- iter = list.iterator(copy_list);
- members_string = "";
- while(hasNext(iter)) {
- p_name = player.getName(next(iter));
- if(members_string == "") {
- members_string = p_name;
- } else {
- members_string = concat(members_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dMembers: §r", members_string);
-
- chests_list = plot.getChestRanks(plot);
- chests_amount = list.getSize(chests_list);
- if(chests_amount == 0) {
- chests_string = "-";
- } else {
- iter = list.iterator(chests_list);
- chests_string = "";
- while(hasNext(iter)) {
- p_name = player.getNameFromId(next(iter));
- if(chests_string == "") {
- chests_string = p_name;
- } else {
- chests_string = concat(chests_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dOnly chest: §r", chests_string);
-
- flags = plot.getFlags(plot);
- flags_true = list.new();
- flags_false = list.new();
- array = array.new(2);
- array[0] = 512;
- array[1] = "SUB_PLOT_FLAG";
- if(flags >= 512) {
- list.add(flags_true, array);
- flags -= 512;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 256;
- array[1] = "FREE_FLAG";
- if(flags >= 256) {
- list.add(flags_true, array);
- flags -= 256;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 128;
- array[1] = "CITY_FLAG";
- if(flags >= 128) {
- list.add(flags_true, array);
- flags -= 128;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 64;
- array[1] = "EXPLOSION_FLAG";
- if(flags >= 64) {
- list.add(flags_true, array);
- flags -= 64;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 32;
- array[1] = "ENTITY_INTERACT_FLAG";
- if(flags >= 32) {
- list.add(flags_true, array);
- flags -= 32;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 16;
- array[1] = "BLOCK_INTERACT_FLAG";
- if(flags >= 16) {
- list.add(flags_true, array);
- flags -= 16;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 8;
- array[1] = "HIT_AMBIENT_FLAG";
- if(flags >= 8) {
- list.add(flags_true, array);
- flags -= 8;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 4;
- array[1] = "BUCKET_FLAG";
- if(flags >= 4) {
- list.add(flags_true, array);
- flags -= 4;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 2;
- array[1] = "BREAK_FLAG";
- if(flags >= 2) {
- list.add(flags_true, array);
- flags -= 2;
- } else {
- list.add(flags_false, array);
- }
- array = array.new(2);
- array[0] = 1;
- array[1] = "PLACE_FLAG";
- if(flags >= 1) {
- list.add(flags_true, array);
- } else {
- list.add(flags_false, array);
- }
- x = loc.getX(location);
- y = loc.getY(location);
- z = loc.getZ(location);
- msg(player, " §dFlags true:");
- iter = list.iterator(flags_true);
- while(hasNext(iter)) {
- array = next(iter);
- flag_number = array[0];
- flag_name = array[1];
- msg(player, " ", text.click(concat(" §d[§r", flag_name, "§d] "), concat("/plot flags ", flag_number, " false ", plot_id)));
- }
- msg(player, " §dFlags false:");
- iter = list.iterator(flags_false);
- while(hasNext(iter)) {
- array = next(iter);
- flag_number = array[0];
- flag_name = array[1];
- msg(player, " ", text.click(concat(" §d[§r", flag_name, "§d] "), concat("/plot flags ", flag_number, " true ", plot_id)));
- }
- goto("wait");
- }
- if(arg0 == "info" || arg0 == "i") {
- location = entity.getLocation(player);
- list = plot.get(location);
- world = loc.getWorld(location);
- size = list.getSize(list);
- if(size == 0) {
- msg.prefix(player, prefix_plot, "No plots found.");
- goto("wait");
- }
- if(size == 1) {
- msg.prefix(player, prefix_plot, concat(text.number(size), " plot found:"));
- } else {
- msg.prefix(player, prefix_plot, concat(text.number(size), " plots found:"));
- }
- for(i = 0; i < size; i++) {
- plot = list.getIndex(list, i);
- plot_id = plot.getId(plot);
- msg(player, concat(" - #", text.number(plot_id), " ", plot.getType(plot), " §6", plot.getName(plot)));
- owners_list = plot.getOwners(plot);
- copy_list = list.copy(owners_list);
- plot_id = plot.getId(plot);
- msg(player, " §dWorld: §r", world.getName(world));
- msg(player, " §dPos1: §r", plot.getMinX(plot), " / ", plot.getMinY(plot), " / ", plot.getMinZ(plot));
- msg(player, " §dPos2: §r", plot.getMaxX(plot), " / ", plot.getMaxY(plot), " / ", plot.getMaxZ(plot));
-
- leader_name = plot.getLeaderName(plot);
- if(leader_name == "") {
- leader_name = "-";
- }
- msg(player, " §dLeader: §r", leader_name);
- list.remove(copy_list, player.getUuid(leader_name));
-
- mods_list = plot.getMods(plot);
- mods_amount = list.getSize(mods_list);
- if(mods_amount == 0) {
- mods_string = "-";
- } else {
- iter = list.iterator(mods_list);
- mods_string = "";
- while(hasNext(iter)) {
- p_name = player.getNameFromId(next(iter));
- p_uuid = player.getUuid(p_name);
- list.remove(copy_list, p_uuid);
- if(mods_string == "") {
- mods_string = p_name;
- } else {
- mods_string = concat(mods_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dMods: §r", mods_string);
-
- members_amount = list.getSize(copy_list);
- if(members_amount == 0) {
- members_string = "-";
- } else {
- iter = list.iterator(copy_list);
- members_string = "";
- while(hasNext(iter)) {
- p_name = player.getName(next(iter));
- if(members_string == "") {
- members_string = p_name;
- } else {
- members_string = concat(members_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dMembers: §r", members_string);
-
- chests_list = plot.getChestRanks(plot);
- chests_amount = list.getSize(chests_list);
- if(chests_amount == 0) {
- chests_string = "-";
- } else {
- iter = list.iterator(chests_list);
- chests_string = "";
- while(hasNext(iter)) {
- p_name = player.getNameFromId(next(iter));
- if(chests_string == "") {
- chests_string = p_name;
- } else {
- chests_string = concat(chests_string, " / ", p_name);
- }
- }
- }
- msg(player, " §dOnly chest: §r", chests_string);
- }
- goto("wait");
- }
- goto("plothelp");
- @stopadventure
- removeAdventureDisplay(player);
- player.setAdventure(player, false);
- msg.prefix(player, "§5Adventure", "Adventure canceled!");
- goto("wait");
- @speed
- if(size < 1 || size > 2) {
- if(perm.has(player, "speed.other")) {
- msg.prefix(player, prefix_commands, "/speed <1-10> [player]");
- } else {
- msg.prefix(player, prefix_commands, "/speed <1-10>");
- }
- goto("wait");
- }
- speed = list.getIndex(args, 0);
- if(!isDouble(speed)) {
- msg.prefix(player, prefix_commands, "Zahl erwartet.");
- goto("wait");
- }
- if(speed < 1) {
- speed = 1;
- }
- if(speed > 10) {
- speed = 10;
- }
- if(size == 2) {
- if(!perm.has(player, "speed.other")) {
- perm.no(player, "speed.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- player.setSpeed(affectedplayer, speed);
- msg.prefix(affectedplayer, prefix_commands, concat("Set your speed to ", text.number(speed), "."));
- if(affectedplayer != player) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " set your speed to ", text.number(speed), "."));
- }
- goto("wait");
- @butcher
- loc = entity.getLocation(player);
- world = loc.getWorld(loc);
- list = world.getEntities(world);
- size = list.getSize(list);
- killed = 0;
- for(i = 0; i < size; i++) {
- element = list.getIndex(list, i);
- if(isLiving(element)) {
- entity_type = entity.getType(element);
- if(set.contains(butcher_set, entity_type)) {
- entity.remove(element);
- killed++;
- }
- }
- }
- msg.prefix(player, prefix_commands, concat(text.number(killed), " mobs killed."));
- goto("wait");
- @enderchest
- if(size < 1 || size > 2) {
- msg.prefix(player, prefix_commands, "/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) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- from_player = read.player(from_name);
- if(from_player == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- player.openEnderchest(affectedplayer, from_player, concat("Enderchest von ", from_name));
- goto("wait");
- @gamemode
- if(size < 1 || size > 2) {
- msg.prefix(player, prefix_commands, "/gamemode <mode> [player]");
- goto("wait");
- }
- if(size == 2) {
- if(!perm.has(player, "gamemode.other")) {
- perm.no(player, "gamemode.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 1);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not 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 {
- msg.prefix(player, prefix_commands, "Unknown gamemode.");
- goto("wait");
- }
- player.setGamemode(affectedplayer, mode);
- if(affectedplayer != player) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat("Gamemode of ", affectedname, " set to ", mode, "."));
- }
- msg.prefix(affectedplayer, prefix_commands, concat("Set your gamemode to ", mode, "."));
- goto("wait");
- @home
- if(size == 0) {
- @homesyntax
- msg.prefix(player, prefix_commands, "/home ...");
- msg(player, "§6 - set <home> §rSets a home");
- msg(player, "§6 - delete <home> §rDeletes a home");
- if(perm.has(player, "home.other")) {
- msg(player, "§6 - list [player] §rLists all homes");
- msg(player, "§6 - <home> [player] §rTeleports to a home");
- } else {
- msg(player, "§6 - list §rLists your homes");
- msg(player, "§6 - <home> §rTeleports to your home");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "del" || arg0 == "delete") {
- if(size < 2) {
- goto("homesyntax");
- }
- player_id = player.getId(player);
- name = text.toLowerCase(list.getIndex(args, 1));
- if(!home.exists(player_id, name)) {
- msg.prefix(player, prefix_commands, concat("Home ", name, "doesn't exist."));
- goto("wait");
- }
- home.delete(player_id, name);
- msg.prefix(player, prefix_commands, concat("Home ", name, " deleted."));
- goto("wait");
- }
- if(arg0 == "list") {
- affecteduuid = player.getUuid(affectedname);
- if(size == 2) {
- if(!perm.has(player, "home.other")) {
- perm.no(player, "home.other");
- goto("wait");
- }
- affectedname = text.toLowerCase(list.getIndex(args, 1));
- affecteduuid = player.getUuid(affectedname);
- if(affecteduuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- }
- id = player.getId(affecteduuid);
- homes_list = home.getList(id);
- home_amount = list.getSize(homes_list);
- if(home_amount == 0) {
- msg.prefix(player, prefix_commands, "No homes existing.");
- } else {
- msg.prefix(player, prefix_commands, concat("Homes of ", affectedname, ":"));
- for(i = 0; i < home_amount; i++) {
- msg(player, concat("§6 - §r", list.getIndex(homes_list, i)));
- }
- }
- goto("wait");
- }
- location = entity.getLocation(player);
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(!word.isSurvName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't use this command in this world.");
- goto("wait");
- }
- if(arg0 == "set") {
- if(size < 2) {
- goto("homesyntax");
- }
- player_id = player.getId(player);
- homes_list = home.getList(player_id);
- home_amount = list.getSize(homes_list);
- if(perm.has(player, "isAdmin")) {
- max_homes = 100;
- } elseif(perm.has(player, "isMod")) {
- max_homes = 40;
- } elseif(perm.has(player, "isTeam")) {
- max_homes = 20;
- } elseif(perm.has(player, "canTP")) {
- max_homes = 10;
- } else {
- max_homes = 5;
- }
- if(home_amount >= max_homes) {
- msg.prefix(player, prefix_commands, concat("You can only set ", text.number(max_homes), " homes."));
- goto("wait");
- }
- name = text.toLowerCase(list.getIndex(args, 1));
- if(name == "set" || name == "del" || name == "delete" || name == "list") {
- msg.prefix(player, prefix_commands, "This name ist not allowed.");
- goto("wait");
- }
- if(!text.onlyletters(name)) {
- msg.prefix(player, prefix_commands, "Only letters allowed.");
- goto("wait");
- }
- if(text.length(name) > 20) {
- msg.prefix(player, prefix_commands, "Maximum 20 letters.");
- goto("wait");
- }
- if(home.exists(player_id, name)) {
- msg.prefix(player, prefix_commands, concat("Home ", name, " already exists."));
- goto("wait");
- }
- home.set(player_id, name, location);
- msg.prefix(player, prefix_commands, concat("Home ", name, " set."));
- goto("wait");
- }
- //Teleportation
- if(size == 2) {
- affectedname = text.toLowerCase(list.getIndex(args, 1));
- }
- affecteduuid = player.getUuid(affectedname);
- if(affecteduuid == null) {
- msg.prefix(player, prefix_commands, "Der Spieler war noch nie online.");
- goto("wait");
- }
- player_id = player.getID(affecteduuid);
- location = home.getLocation(player_id, arg0);
- if(location == null) {
- msg.prefix(player, prefix_commands, "Home doesn't exist."); //oder die welt ist nicht geladen
- goto("wait");
- }
- player.teleport(player, location, true);
- goto("wait");
- @tpa
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/tpa <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(!player.doesAcceptTpaRequests(p)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r rejects teleport requests."));
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport in this world.");
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(p)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport to this world.");
- goto("wait");
- }
- addTpaRequest(player.getUuid(player), p_uuid);
- msg(player, concat("§6Teleport-Request: [§c", player_name, "§6 -> §c ", p_name, "§6]"));
- msg(p, concat("§6Teleport-Request: [§c", player_name, "§6 -> §c ", p_name, "§6] "), text.click("§6[§aAccept§6]", concat("/tpaccept ", player_name)));
- goto("wait");
- @tpahere
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/tpahere <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(!player.doesAcceptTpaRequests(p)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r rejects teleport requests."));
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r isn't allowed to teleport to this world."));
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(p)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r isn't allowed to teleport from their world."));
- goto("wait");
- }
- addTpaRequest(p_uuid, player.getUuid(player));
- msg(player, concat("§6Teleport-Request: [§c", p_name, "§6 -> §c ", player_name, "§6]"));
- msg(p, concat("§6Teleport-Request: [§c", p_name, "§6 -> §c ", player_name, "§6] "), text.click("§6[§aAccept§6]", concat("/tpaccepthere ", player_name)));
- goto("wait");
- @tpaccept
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/tpaccept <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r isn't allowed to teleport to your world."));
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(p)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, concat("§c", p_name, "§r isn't allowed to teleport from their world."));
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- if(!hasTpaRequest(p_uuid, player_uuid)) {
- msg.prefix(player, prefix_commands, "No outstanding teleport-request.");
- goto("wait");
- }
- location = entity.getLocation(player);
- player.teleport(p, location, true);
- goto("wait");
- @tpaccepthere
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/tpaccepthere <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p_name = player.getName(p_uuid);
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport in this world.");
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(p)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport to this world.");
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- if(!hasTpaRequest(player_uuid, p_uuid)) {
- msg.prefix(player, prefix_commands, "No outstanding teleport-request.");
- goto("wait");
- }
- location = entity.getLocation(p);
- player.teleport(player, location, true);
- goto("wait");
- @teleport
- if(size < 1 || size > 2) {
- if(perm.has(player, "teleport.other")) {
- msg.prefix(player, prefix_commands, "/teleport [player] <to-player>");
- } else {
- msg.prefix(player, prefix_commands, "/teleport <player>");
- }
- goto("wait");
- }
- if(size == 1) {
- to_name = list.getIndex(args, 0);
- }
- elseif(size == 2) {
- if(!perm.has(player, "teleport.other")) {
- perm.no(player, "teleport.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- //Damit der ganze Spielername und nicht nur der eingegebene angezeigt wird
- to_name = list.getIndex(args, 1);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 2) {
- msg.prefix(player, prefix_commands, "This player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- }
- goto("wait");
- }
- to_player = read.player(to_name);
- if(to_player == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- //Damit der ganze Spielername und nicht nur der eingegebene angezeigt wird
- to_name = player.getName(to_player);
- location = entity.getLocation(to_player);
- if(player.teleport(affectedplayer, location, true)) {
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat("Teleported ", affectedname, " to ", to_name, "."));
- }
- msg.prefix(affectedplayer, prefix_commands, concat("Teleported you to ", to_name, "."));
- }
- goto("wait");
- @say
- if(size == 0) {
- msg.prefix(sender, prefix_commands, "/say <text>");
- goto("wait");
- }
- message = text.concatList(args, " ", 0, size - 1);
- msg("online", text.hover("[§cServer§r]", "The center of Wusiness"), " ", text.replace(message, "&", "§"));
- msg("SERVER", "[§cServer§r] ", text.replace(message, "&", "§"));
- goto("wait");
- @warp
- if(size == 0) {
- @warpsyntax
- msg.prefix(player, prefix_commands, "/warp ...");
- if(perm.has(player, "warp.create")) {
- msg(player, "§6 - set [group] <warp> §rSets a warp");
- msg(player, "§6 - delete [group] <warp> §rDeletes a warp");
- msg(player, "§6 - [group] <warp> §rTeleports to a warp");
- msg(player, "§6 - list [group] §rLists all warps");
- msg(player, "§6 - groups §rLists all warp groups");
- } else {
- msg(player, "§6 - <warp> §rTeleports to a warp");
- msg(player, "§6 - list §rLists all warps");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "delete") {
- if(!perm.has(player, "warp.create")) {
- perm.no(player, "warp.create");
- goto("wait");
- }
- if(size < 2) {
- goto("warpsyntax");
- }
- if(size == 2) {
- warp_name = text.toLowerCase(list.getIndex(args, 1));
- warp_group = "default";
- } else {
- warp_group = text.toLowerCase(list.getIndex(args, 1));
- warp_name = text.toLowerCase(list.getIndex(args, 2));
- }
- if(warp.delete(warp_group, warp_name)) {
- msg.prefix(player, prefix_commands, concat("Warp ", warp_name, " in group ", warp_group, " deleted."));
- } else {
- msg.prefix(player, prefix_commands, "Warpname doesn't exist.");
- }
- goto("wait");
- }
- if(arg0 == "list") {
- if(size == 1) {
- warp_group = "default";
- } else {
- if(!perm.has(player, "warp.create")) {
- perm.no(player, "warp.create");
- goto("wait");
- }
- warp_group = text.toLowerCase(list.getIndex(args, 1));
- }
- warps_list = warp.getList(warp_group);
- if(list.getSize(warps_list) == 0) {
- msg.prefix(player, prefix_commands, "No warps existing.");
- } else {
- msg.prefix(player, prefix_commands, concat("§6", warp_group, "§r warps:"));
- for(i = 0; i < list.getSize(warps_list); i++) {
- msg(player, concat("§6 - §r", list.getIndex(warps_list, i)));
- }
- }
- goto("wait");
- }
- if(arg0 == "groups") {
- if(!perm.has(player, "warp.create")) {
- perm.no(player, "warp.create");
- goto("wait");
- }
- groups_list = warp.getGroups();
- msg.prefix(player, prefix_commands, "All warp groups:");
- for(i = 0; i < list.getSize(groups_list); i++) {
- msg(player, concat("§6 - §r", list.getIndex(groups_list, i)));
- }
- goto("wait");
- }
- if(arg0 == "set") {
- if(!perm.has(player, "warp.create")) {
- perm.no(player, "warp.create");
- goto("wait");
- }
- if(size < 2) {
- goto("warpsyntax");
- }
- if(size == 2) {
- warp_name = text.toLowerCase(list.getIndex(args, 1));
- warp_group = "default";
- } else {
- warp_group = text.toLowerCase(list.getIndex(args, 1));
- warp_name = text.toLowerCase(list.getIndex(args, 2));
- }
- if(warp.exists(warp_group, warp_name)) {
- msg.prefix(player, prefix_commands, "Warpname already exists.");
- goto("wait");
- }
- warp.create(warp_group, warp_name, entity.getLocation(player));
- msg.prefix(player, prefix_commands, concat("Warp ", warp_name, " in group ", warp_group, " set."));
- goto("wait");
- }
- //Teleportation
- if(size == 1) {
- warp_name = arg0;
- warp_group = "default";
- } else {
- if(!perm.has(player, "warp.create")) {
- perm.no(player, "warp.create");
- goto("wait");
- }
- warp_name = text.toLowerCase(list.getIndex(args, 1));
- warp_group = arg0;
- }
- warp_loc = warp.get(warp_group, warp_name);
- if(warp_loc == null) {
- msg.prefix(player, prefix_commands, "Warpname doesn't exist.");
- goto("wait");
- }
- if(!perm.has(player, "warp.create")) {
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport in this world.");
- goto("wait");
- }
- world_name = world.getName(loc.getWorld(warp_loc));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport to this world.");
- goto("wait");
- }
- }
- if(player.teleport(player, warp_loc, true)) {
- msg.prefix(player, prefix_commands, concat("You have been teleported to warp §7", warp_name, "."));
- }
- goto("wait");
- @databank
- if(size == 0) {
- @databankhelp
- msg.prefix(player, prefix_commands, "/databank...");
- msg(player, "§6 - showtables §rShows all tables");
- msg(player, "§6 - showfields §rShows fields from a table");
- msg(player, "§6 - showdataypes §rShows dataypes from a table");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "showtables") {
- msg(player, getSpacer());
- stmt = databank.prepare("SHOW TABLES");
- result = databank.execute(stmt);
- while(databank.next(result)) {
- msg(player, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(stmt);
- goto("wait");
- }
- if(arg0 == "showfields") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/databank showfields <table>");
- goto("wait");
- }
- table = list.getIndex(args, 1);
- if(!databank.isExistingTable(table)) {
- msg.prefix(player, prefix_commands, "This in no existing table.");
- goto("wait");
- }
- msg(player, getSpacer());
- fields = databank.getTableFields(table);
- iter = list.iterator(fields);
- while(hasNext(iter)) {
- msg(player, next(iter));
- }
- goto("wait");
- }
- if(arg0 == "showdataypes") {
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/databank showdataypes <table>");
- goto("wait");
- }
- table = list.getIndex(args, 1);
- if(!databank.isExistingTable(table)) {
- msg.prefix(player, prefix_commands, "This in no existing table.");
- goto("wait");
- }
- msg(player, getSpacer());
- msg(player, databank.getTableDatatypes(table));
- goto("wait");
- }
- goto("databankhelp");
- @seen
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/seen <player>");
- goto("wait");
- }
- seen_name = list.getIndex(args, 0);
- seen_uuid = player.getUuid(seen_name);
- if(seen_uuid == null) {
- msg.prefix(player, prefix_commands, "Dieser Spieler war noch nie online.");
- goto("wait");
- }
- if(read.player(seen_name) != null) {
- msg.prefix(player, prefix_commands, "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 = databank.getLong(result, 1);
- calendar = time.new(time);
- 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.prefix(player, prefix_commands, concat(seen_name, " war zuletzt am §e", dateformat, "§r um §e", clockformat, " Uhr §ronline."));
- varset = true;
- }
- databank.close(result);
- databank.close(seenStatement);
- if(!varset) {
- msg.prefix(player, prefix_commands, "Keine Daten vorhanden.");
- goto("wait");
- }
- goto("wait");
- @lastseen
- if(size != 1) {
- msg.prefix(sender, prefix_commands, "/lastseen <amount>");
- goto("wait");
- }
- amount = list.getIndex(args, 0);
- if(!isDouble(amount)) {
- msg.prefix(sender, prefix_commands, "Zahl erwartet.");
- goto("wait");
- }
- if(amount < 1) {
- msg.prefix(sender, prefix_commands, "Zahl größer 0 erwartet.");
- goto("wait");
- }
- msg.prefix(sender, prefix_commands, "These players were last seen:");
- table = table.new("§f", 12, 12);
- msg(sender, table.getStart(table));
- msg(sender, table.get(table, "Player", "Date"));
- msg(sender, table.getMiddle(table));
- 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 = databank.getLong(result, 2);
- msg(sender, table.get(table, concat("§a", player.getNameFromId(id)), concat("§e", getTimeString(time))));
- }
- msg(sender, table.getEnd(table));
- databank.close(result);
- databank.close(lastseenStatement);
- goto("wait");
- @feed
- if(size > 1) {
- msg.prefix(player, prefix_commands, "/feed [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat("Der Hunger von ", affectedname, " wurde gestillt."));
- }
- }
- player.setHunger(affectedplayer, 20);
- player.setSaturation(affectedplayer, 5);
- msg.prefix(affectedplayer, prefix_commands, "Dein Hunger wurde gestillt.");
- goto("wait");
- @tempfly
- if(size < 2) {
- msg.prefix(sender, prefix_commands, "/tempfly <player> <sec>");
- goto("wait");
- }
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(sender, prefix_commands, "This player is not online.");
- goto("wait");
- }
- p_name = player.getName(player.getUuid(p_name));
- if(player.hasMinigame(p)) {
- msg.prefix(player, prefix_commands, "This player can't fly now.");
- goto("wait");
- }
- sec = list.getIndex(args, 1);
- if(!isDouble(sec) || sec < 0) {
- msg.prefix(sender, prefix_commands, "Positive number expected.");
- goto("wait");
- }
- msg.prefix(sender, prefix_commands, concat(p_name, " can now fly for ", text.number(sec), " seconds."));
- msg.prefix(p, prefix_commands, concat("You can now fly for ", text.number(sec), " seconds."));
- player.setFly(p, true);
- duration = sec * 20;
- data.setTimer(p, "fly", duration);
- status.addTimed(player, 53, duration, "Fly");
- goto("wait");
- @fly
- if(size > 2) {
- msg.prefix(player, prefix_commands, "/fly [player] [on/off]");
- goto("wait");
- }
- if(size >= 1) {
- if(!perm.has(player, "fly.other")) {
- perm.no(player, "fly.other");
- goto("wait");
- }
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- if(player.hasMinigame(affectedplayer) || (perm.has(affectedplayer, "fly") && !perm.has(affectedplayer, "isTeam"))) {
- if(size == 2) {
- msg.prefix(player, prefix_commands, "This player can't fly now.");
- } else {
- msg.prefix(player, prefix_commands, "You can't fly now.");
- }
- goto("wait");
- }
- }
- if(size == 2) {
- boolean = list.getIndex(args, 1);
- if(boolean == "on") {
- fly = true;
- } elseif(boolean == "off") {
- fly = false;
- } else {
- msg.prefix(player, prefix_commands, "/fly [player] [on/off]");
- goto("wait");
- }
- } else {
- if(player.hasFly(affectedplayer)) {
- fly = false;
- } else {
- fly = true;
- }
- }
- player.setFly(affectedplayer, fly);
- if(fly) {
- msg.prefix(affectedplayer, prefix_commands, "You can fly now.");
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " can fly now."));
- }
- } else {
- msg.prefix(affectedplayer, prefix_commands, "You can't fly anymore.");
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " can't fly anymore."));
- }
- }
- goto("wait");
- @tppos
- if(size < 3 || size > 5) {
- msg.prefix(player, prefix_commands, "/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)) {
- msg.prefix(player, prefix_commands, "x/y/z müssen Zahlen sein.");
- goto("wait");
- }
- if(size >= 4) {
- worldname = list.getIndex(args, 3);
- world = world.get(worldname);
- if(world == null) {
- msg.prefix(player, prefix_commands, "This world is not loaded.");
- goto("wait");
- }
- } else {
- world = loc.getWorld(entity.getLocation(player));
- }
- if(x < -16000) {
- x = -16000;
- } elseif(x > 16000) {
- x = 16000;
- }
- if(y < 0) {
- y = 0;
- } elseif(y > 255) {
- y = 255;
- }
- if(z < -16000) {
- z = -16000;
- } elseif(z > 16000) {
- z = 16000;
- }
- location = loc.new(world, x, y, z);
- if(size == 5) {
- affectedname = list.getIndex(args, 4);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 5) {
- msg.prefix(player, prefix_commands, "§rThe player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- }
- goto("wait");
- }
- if(player.teleport(affectedplayer, location, true)) {
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " was teleported."));
- }
- }
- goto("wait");
- @back
- if(size > 0) {
- msg.prefix(player, prefix_commands, "/back");
- goto("wait");
- }
- if(player.hasMinigame(player)) {
- msg.prefix(player, prefix_commands, "§rYou can't teleport now.");
- goto("wait");
- }
- hasPerms = perm.has(player, "isTeam");
- if(!hasPerms) {
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name) || world.isStoryName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't use /back in this world.");
- goto("wait");
- }
- }
- location = player.getBackPos(player);
- if(location == null) {
- msg.prefix(player, prefix_commands, "No back-location available.");
- goto("wait");
- }
- world = loc.getWorld(location);
- if(world == null) {
- msg.prefix(player, prefix_commands, "This world is not loaded.");
- goto("wait");
- }
- if(!hasPerms) {
- world_name = world.getName(world);
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport to this world.");
- goto("wait");
- }
- }
- player.teleport(player, location, true);
- goto("wait");
- @clan
- if(size == 0) {
- @clanhelp
- msg.prefix(player, prefix_clan, "§r/clan...");
- msg(player, "§2 - invite <name> §rInvites a player");
- msg(player, "§2 - accept <id/name/tag> §rAccepts an invitation");
- msg(player, "§2 - info [id/name/tag] §rReturns info about a clan");
- msg(player, "§2 - create <name> <tag> §rCreates a clan");
- msg(player, "§2 - kick <name> §rKicks a player");
- msg(player, "§2 - leader <name> §rPromote to clan-leader");
- msg(player, "§2 - mod <name> §rPromote to clan-mod");
- msg(player, "§2 - degrade <name> §rDemote a clan-mod");
- msg(player, "§2 - leave §rLeave a clan");
- msg(player, "§2 - disband §rDisband a clan");
- msg(player, "§2 - rename <name> <tag> §rRenames a clan");
- msg(player, "§2 - setspawn §rSets a clan-spawn");
- msg(player, "§2 - spawn §rTeleports to clan-spawn");
- msg(player, "§2 - msg <message> §rSends a clan-message");
- msg(player, "§2 - mail <message> §rSends a clan-mail");
- msg(player, "§2 - shout <message> §rSends a message to all online players");
- msg(player, "§2 - deposit <money> §rDeposit money to the clan account");
- msg(player, "§2 - withdraw <money> §rWithdraw money from the clan account");
- msg(player, "§2 - party §rInvites all online members to a party");
- msg(player, "§2 - list §rLists all clans");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "invite") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan invite <name>");
- goto("wait");
- }
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player) && !player.isClanMod(player)) {
- msg.prefix(player, prefix_clan, "You have no permission for this.");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(text.toLowerCase(player.getName(player)) == text.toLowerCase(p_name)) {
- msg.prefix(player, prefix_clan, "You can't invite yourself.");
- goto("wait");
- }
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(sender, prefix_clan, "This player has never been online.");
- goto("wait");
- }
- if(!isOnline(p_name)) {
- msg.prefix(player, prefix_clan, "This player has to be online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(player.isClanMember(player)) {
- msg.prefix(player, prefix_clan, "This player is already in a clan.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- p_id = player.getId(p);
- if(player.hasClanInvitation(p_id, clan_id)) {
- msg.prefix(player, prefix_clan, "This player already has an invitation from your clan.");
- goto("wait");
- }
- player.addClanInvitation(p_id, clan_id);
- clan_name = clan.getName(clan_id);
- msg.prefix(player, prefix_clan, text.concat("You invited §7", p_name, "§r to your clan."));
- msg.prefix(p, prefix_clan, text.concat("You got an clan invitation by §7", clan_name, "§r."));
- msg(p, text.click("§r[§aAccept§r]", concat("/clan accept ", clan_id)));
- sgoto(6000, "remove_clan_invitation"); //5 Minuten
- goto("wait");
- }
- if(arg0 == "accept") {
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan accept <id/name/tag>");
- goto("wait");
- }
- if(player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are already in a clan.");
- goto("wait");
- }
- arg1 = list.getIndex(args, 1);
- if(isDouble(arg1)) {
- clan_id = arg1;
- clan_name = clan.getName(clan_id);
- if(clan_name == null) {
- msg.prefix(player, prefix_clan, "Unknown clan.");
- goto("wait");
- }
- } else {
- clan_id = clan.getIdFromName(arg1);
- if(clan_id == null) {
- clan_id = clan.getIdFromTag(arg1);
- if(clan_id == null) {
- msg.prefix(player, prefix_clan, "Unknown clan.");
- goto("wait");
- }
- }
- }
- player_id = player.getId(player);
- if(!player.hasClanInvitation(player_id, clan_id)) {
- msg.prefix(player, prefix_clan, "You have no invitation from this clan.");
- goto("wait");
- }
- clan.addMember(clan_id, player, "member");
- player.setHeadName(player);
- clan.msg(clan_id, text.concat("§7", player.getName(player), "§r joined the clan."));
- msg.prefix(player, prefix_clan, text.concat("You joined §7", clan_name, "§r."));
- clan_size = clan.getMembersAmount(clan_id);
- if(clan_size >= 15) {
- rank.offerClan(clan_id, "rank.lord");
- } elseif(clan_size >= 10) {
- rank.offerClan(clan_id, "rank.chief");
- } elseif(clan_size >= 5) {
- rank.offerClan(clan_id, "rank.commander");
- }
- goto("wait");
- }
- if(arg0 == "create") {
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/clan create <name> <tag>");
- goto("wait");
- }
- if(player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are already in a clan.");
- goto("wait");
- }
- clan_name = list.getIndex(args, 1);
- if(text.length(clan_name) > 20) {
- msg.prefix(player, prefix_clan, "Maximum 20 letters allowed for name.");
- goto("wait");
- }
- if(!text.onlyletters(clan_name)) {
- msg.prefix(player, prefix_clan, "Only letters are allowed.");
- goto("wait");
- }
- if(clan.isExistingName(clan_name)) {
- msg.prefix(player, prefix_clan, "This name already exists.");
- goto("wait");
- }
- clan_tag = list.getIndex(args, 2);
- tag_length = text.length(clan_tag);
- if(tag_length < 3 || tag_length > 4) {
- msg.prefix(player, prefix_clan, "3 to 4 letters allowed for tag.");
- goto("wait");
- }
- if(!text.onlyletters(clan_tag)) {
- msg.prefix(player, prefix_clan, "Only letters are allowed.");
- goto("wait");
- }
- if(clan.isExistingTag(clan_tag)) {
- msg.prefix(player, prefix_clan, "This tag already exists.");
- goto("wait");
- }
- if(!hasEnoughMoney(player, 4096)) { //1 Goldmünze
- msg.prefix(player, prefix_clan, "You need 4096 snuvis (1 gold coin).");
- goto("wait");
- }
- subMoney(player, 4096);
- clan_id = clan.create(clan_name, clan_tag);
- clan.addMember(clan_id, player, "leader");
- player.setHeadName(player);
- msg.prefix(player, prefix_clan, "Clan successful created.");
- goto("wait");
- }
- if(arg0 == "info") {
- if(size == 1) {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_commands, "/clan info <id/name/tag>");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan_name = clan.getName(clan_id);
- clan_tag = clan.getTag(clan_id);
- }
- if(size == 2) {
- arg1 = list.getIndex(args, 1);
- if(isDouble(arg1)) {
- clan_id = arg1;
- clan_name = clan.getName(clan_id);
- if(clan_name == null) {
- msg.prefix(player, prefix_clan, "Unknown clan.");
- goto("wait");
- }
- } else {
- clan_id = clan.getIdFromName(arg1);
- if(clan_id == null) {
- clan_id = clan.getIdFromTag(arg1);
- if(clan_id == null) {
- msg.prefix(player, prefix_clan, "Unknown clan.");
- goto("wait");
- }
- }
- clan_name = clan.getName(clan_id);
- }
- clan_tag = clan.getTag(clan_id);
- }
- list = clan.getMembersList(clan_id);
- mod_list = list.new();
- members_list = list.new();
- iter = list.iterator(list);
- while(hasNext(iter)) {
- player_uuid = next(iter);
- player_name = player.getName(player_uuid);
- player_id = player.getId(player_uuid);
- if(player.isClanLeader(player_id)) {
- leader = player_name;
- } else {
- if(player.isClanMod(player_id)) {
- list.add(mod_list, player_name);
- } else {
- list.add(members_list, player_name);
- }
- }
- }
- if(list.getSize(mod_list) == 0) {
- mods = "-";
- } else {
- mods = text.concatList(mod_list, ", ", 0, list.getSize(mod_list) - 1);
- }
- if(list.getSize(members_list) == 0) {
- members = "-";
- } else {
- members = text.concatList(members_list, ", ", 0, list.getSize(members_list) - 1);
- }
- msg(player, text.concat("§6§lClan §r", clan_name, " (", clan_tag, " #ID:", text.number(clan_id), ")"));
- msg(player, "§6Leader");
- msg(player, "§r", leader);
- msg(player, "§6Mods");
- msg(player, "§r", mods);
- msg(player, "§6Members");
- msg(player, "§r", members);
- msg(player, "§6Money");
- msg(player, text.number(clan.getMoney(clan_id)));
- goto("wait");
- }
- if(arg0 == "rename") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- if(size != 3) {
- msg.prefix(player, prefix_commands, "/clan rename <name> <tag>");
- goto("wait");
- }
- clan_name = list.getIndex(args, 1);
- if(text.length(clan_name) > 20) {
- msg.prefix(player, prefix_clan, "Maximum 20 letters allowed for name.");
- goto("wait");
- }
- if(!text.onlyletters(clan_name)) {
- msg.prefix(player, prefix_clan, "Only letters are allowed.");
- goto("wait");
- }
- if(clan.isExistingName(clan_name)) {
- msg.prefix(player, prefix_clan, "This name already exists.");
- goto("wait");
- }
- clan_tag = list.getIndex(args, 2);
- tag_length = text.length(clan_tag);
- if(tag_length < 3 || tag_length > 4) {
- msg.prefix(player, prefix_clan, "3 to 4 letters allowed for tag.");
- goto("wait");
- }
- if(!text.onlyletters(clan_tag)) {
- msg.prefix(player, prefix_clan, "Only letters are allowed.");
- goto("wait");
- }
- if(clan.isExistingTag(clan_tag)) {
- msg.prefix(player, prefix_clan, "This tag already exists.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- if(clan.getMoney(clan_id) < 64) {
- msg.prefix(player, prefix_clan, "Your clan needs 64 snuvis.");
- goto("wait");
- }
- clan.subMoney(clan_id, 64);
- clan.setName(clan_id, clan_name);
- clan.setTag(clan_id, clan_tag);
- clan.msg(clan_id, text.concat("Clan renamed to §7", clan_name, "§r."));
- //New tag for online players
- clan.updateHeadNames(clan_id);
- goto("wait");
- }
- if(arg0 == "msg") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/clan msg <message>");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat(player.getName(player), ": ", text.concatList(args, " ", 1, size - 1)));
- goto("wait");
- }
- if(arg0 == "mail") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/clan mail <message>");
- goto("wait");
- }
- if(player.isClanMember(player)) {
- msg.prefix(player, prefix_commands, "You have no permission for this.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.mail(clan_id, player.getName(player), text.concatList(args, " ", 1, size - 1));
- goto("wait");
- }
- if(arg0 == "shout") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/clan shout <message>");
- goto("wait");
- }
- if(player.isClanMember(player)) {
- msg.prefix(player, prefix_commands, "You have no permission for this.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- if(clan.getMoney(clan_id) < 10) {
- msg.prefix(player, prefix_clan, "Your clan needs 10 snuvis.");
- goto("wait");
- }
- clan.subMoney(clan_id, 10);
- msg.prefix("online", prefix_clan, text.concat(clan.getTag(clan_id), ": ", text.concatList(args, " ", 1, size - 1)));
- goto("wait");
- }
- if(arg0 == "deposit") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan deposit <money>");
- goto("wait");
- }
- money = list.getIndex(args, 1);
- if(!isDouble(money) || money < 0) {
- msg.prefix(player, prefix_clan, "Positive number expected.");
- goto("wait");
- }
- if(!hasEnoughMoney(player, money)) {
- msg.prefix(player, prefix_clan, "You can't transfer more money than you have.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.addMoney(clan_id, money);
- subMoney(player, money);
- clan.msg(clan_id, text.concat("§7", player.getName(player), "§r transferred §7", text.number(money), "§r snuvis."));
- goto("wait");
- }
- if(arg0 == "party") {
- counter = 0;
- clan_id = player.getClanId(player);
- list = clan.getMembersList(clan_id);
- iter = list.iterator(list);
- while(hasNext(iter)) {
- p = player.get(next(iter));
- if(p != null) {
- temp = party.invitePlayer(player, p);
- if(temp == true) {
- counter++;
- }
- }
- }
- msg.prefix(player, prefix_clan, concat(text.number(counter), " online clan members invited to a party."));
- goto("wait");
- }
- if(arg0 == "withdraw") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan withdraw <money>");
- goto("wait");
- }
- money = list.getIndex(args, 1);
- if(!isDouble(money) || money < 0) {
- msg.prefix(player, prefix_clan, "Positive number expected.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan_money = clan.getMoney(clan_id);
- if(clan_money < money) {
- msg.prefix(player, prefix_clan, text.concat("There are only §7", text.number(clan_money), "§r snuvis on the clan account."));
- goto("wait");
- }
- clan.subMoney(clan_id, money);
- addMoney(player, money);
- msg.prefix(player, prefix_clan, text.concat("You have withdrawn §7", text.number(money), "§r snuvis."));
- goto("wait");
- }
- if(arg0 == "leader") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan leader <name>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_clan, "This player has never been online.");
- goto("wait");
- }
- if(text.toLowerCase(player.getName(player)) == text.toLowerCase(p_name)) {
- msg.prefix(player, prefix_clan, "You can't do this for yourself.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- if(!player.isSameClan(player, p_id)) {
- msg.prefix(player, prefix_clan, "This player is not in your clan.");
- goto("wait");
- }
- player.setClanRole(p_id, "leader");
- player.setClanRole(player, "mod");
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat("§7", p_name, "§r was set to clan leader."));
- goto("wait");
- }
- if(arg0 == "mod") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan leader <name>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_clan, "This player has never been online.");
- goto("wait");
- }
- if(text.toLowerCase(player.getName(player)) == text.toLowerCase(p_name)) {
- msg.prefix(player, prefix_clan, "You can't do this for yourself.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- if(!player.isSameClan(player, p_id)) {
- msg.prefix(player, prefix_clan, "This player is not in your clan.");
- goto("wait");
- }
- player.setClanRole(p_id, "mod");
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat("§7", p_name, "§r was set to clan mod."));
- goto("wait");
- }
- if(arg0 == "degrade") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan degrade <name>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_clan, "This player has never been online.");
- goto("wait");
- }
- if(text.toLowerCase(player.getName(player)) == text.toLowerCase(p_name)) {
- msg.prefix(player, prefix_clan, "You can't do this for yourself.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- if(!player.isSameClan(player, p_id)) {
- msg.prefix(player, prefix_clan, "This player is not in your clan.");
- goto("wait");
- }
- player.setClanRole(p_id, "member");
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat("§7", p_name, "§r was degraded."));
- goto("wait");
- }
- if(arg0 == "kick") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player) && !player.isClanMod(player)) {
- msg.prefix(player, prefix_clan, "You have no permission for this.");
- goto("wait");
- }
- if(size != 2) {
- msg.prefix(player, prefix_commands, "/clan kick <name>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_clan, "This player has never been online.");
- goto("wait");
- }
- if(text.toLowerCase(player.getName(player)) == text.toLowerCase(p_name)) {
- msg.prefix(player, prefix_clan, "You can't do this for yourself.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- p_id = player.getId(p_uuid);
- if(!player.isSameClan(player, p_id)) {
- msg.prefix(player, prefix_clan, "This player is not in your clan.");
- goto("wait");
- }
- if(player.isClanLeader(p_id)) {
- msg.prefix(player, prefix_clan, "You can't kick the leader.");
- goto("wait");
- }
- if(player.isClanMod(player) && player.isClanMod(p_id)) {
- msg.prefix(player, prefix_clan, "You can't kick another mod.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat("§7", p_name, "§r got kicked out of the clan."));
- clan.removeMember(clan_id, p_id);
- p = read.player(p_name);
- if(p_name != null) {
- player.setHeadName(p);
- }
- goto("wait");
- }
- if(arg0 == "disband") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You are not a clan leader.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.msg(clan_id, "Clan disbanded.");
- list = clan.getMembersList(clan_id);
- clan.delete(clan_id);
- iter = list.iterator(list);
- while(hasNext(iter)) {
- p = player.get(next(iter));
- if(p != null) {
- player.setHeadName(p);
- }
- }
- goto("wait");
- }
- if(arg0 == "leave") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(player.isClanLeader(player)) {
- msg.prefix(player, prefix_clan, "You have to set another leader first.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.msg(clan_id, text.concat("§7", player.getName(player), "§r left the clan."));
- clan.removeMember(clan_id, player);
- player.setHeadName(player);
- goto("wait");
- }
- if(arg0 == "list") {
- table = table.new("§b", 2, 6, 4, 5);
- msg(player, table.getStart(table));
- msg(player, table.get(table, "§2ID", "§2Name", "§2Tag", "§2Members"));
- msg(player, table.getMiddle(table));
-
- list = clan.getIdList();
- iter = list.iterator(list);
- while(hasNext(iter)) {
- clan_id = next(iter);
- name = clan.getName(clan_id);
- tag = clan.getTag(clan_id);
- amount = clan.getMembersAmount(clan_id);
- msg(player, table.get(table, text.number(clan_id), name, tag, text.number(amount)));
- }
- msg(player, table.getEnd(table));
- goto("wait");
- }
- if(arg0 == "setspawn") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- if(!player.isClanLeader(player) && !player.isClanMod(player)) {
- msg.prefix(player, prefix_clan, "You have no permission for this.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- clan.setSpawn(clan_id, entity.getLocation(player));
- msg.prefix(player, prefix_clan, "New clan spawn set.");
- goto("wait");
- }
- if(arg0 == "spawn") {
- if(!player.isInClan(player)) {
- msg.prefix(player, prefix_clan, "You are not in a clan.");
- goto("wait");
- }
- clan_id = player.getClanId(player);
- spawn_loc = clan.getSpawn(clan_id);
- if(spawn_loc == null) {
- msg.prefix(player, prefix_clan, "No clan spawn set.");
- goto("wait");
- }
- if(!perm.has(player, "isTeam")) {
- world_name = world.getName(loc.getWorld(entity.getLocation(player)));
- if(world.isGamesName(world_name)) {
- msg.prefix(player, prefix_commands, "You can't teleport in this world.");
- goto("wait");
- }
- }
- player.teleport(player, spawn_loc, true);
- goto("wait");
- }
- goto("clanhelp");
- @remove_clan_invitation
- list.removeIndex(clan_invitations, 0);
- goto("wait");
- @color
- msg(player, getSpacer());
- 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, " &l §l(bold)");
- msg(player, " &m §m(strikethrough)");
- msg(player, " &n §n(underline)");
- msg(player, " &o §o(italic)");
- goto("wait");
- @setspawn
- if(size != 1) {
- @setspawnhelp
- msg.prefix(player, prefix_commands, "§r/setspawn ...");
- msg(player, "§6 - server");
- msg(player, "§6 - games");
- msg(player, "§6 - creative");
- msg(player, "§6 - story");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- new_spawn = text.location(entity.getLocation(player));
- config = getScriptVar("server_config");
- if(arg0 == "games") {
- config.set(config, "gamesspawn", new_spawn);
- msg.prefix(player, prefix_commands, "New spawn for gaming world set.");
- } elseif(arg0 == "server") {
- config.set(config, "serverspawn", new_spawn);
- msg.prefix(player, prefix_commands, "New main Spawn set.");
- } elseif(arg0 == "creative") {
- config.set(config, "creativespawn", new_spawn);
- msg.prefix(player, prefix_commands, "New spawn for creative world set.");
- } elseif(arg0 == "story") {
- config.set(config, "storyspawn", new_spawn);
- msg.prefix(player, prefix_commands, "New spawn for story world set.");
- } else {
- goto("setspawnhelp");
- }
- config.saveAsync(config);
- goto("wait");
- @heal
- if(size > 1) {
- msg.prefix(player, prefix_commands, "/heal [player]");
- goto("wait");
- }
- if(size == 1) {
- affectedname = list.getIndex(args, 0);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_commands, concat(affectedname, " was healed."));
- }
- }
- living.heal(affectedplayer, 50);
- player.setHunger(affectedplayer, 20);
- player.setSaturation(affectedplayer, 5);
- entity.clearEffects(affectedplayer);
- entity.setBurning(affectedplayer, 0);
- msg.prefix(affectedplayer, prefix_commands, "You have been healed.");
- goto("wait");
- @inv
- if(size == 0) {
- @invhelp
- msg.prefix(player, prefix_commands, "§r/inv ...");
- if(perm.has(player, "inv.ignore")) {
- msg(player, "§6 - ignore §rToggles inventory change on world change");
- }
- if(perm.has(player, "inv.see")) {
- msg(player, "§6 - see <player> §rOpens a player's inventory");
- }
- if(perm.has(player, "inv.reload")) {
- msg(player, "§6 - reload <player> §rReloads a player's inventory");
- }
- if(perm.has(player, "inv.saveFor")) {
- msg(player, "§6 - saveFor <player> <world> §rSaves your inventory for a player");
- }
- if(perm.has(player, "inv.loadFrom")) {
- msg(player, "§6 - loadFrom <player> <world> §rLoads a player's inventory for you");
- }
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "ignore") {
- if(!perm.has(player, "inv.ignore")) {
- perm.no(player, "inv.ignore");
- goto("wait");
- }
- ignore = player.hasInvIgnore(player);
- if(ignore == null) {
- ignore = false;
- }
- if(ignore) {
- msg.prefix(player, prefix_commands, "Your inventory will change on joining another world.");
- } else {
- msg.prefix(player, prefix_commands, "You'll keep your inventory on joining another world.");
- }
- player.invIgnore(player, !ignore);
- goto("wait");
- }
- if(arg0 == "see") {
- if(!perm.has(player, "inv.see")) {
- perm.no(player, "inv.see");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/inv see <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- inv.show(p, player);
- goto("wait");
- }
- if(arg0 == "reload") {
- if(!perm.has(player, "inv.reload")) {
- perm.no(player, "inv.reload");
- goto("wait");
- }
- if(size < 2) {
- msg.prefix(player, prefix_commands, "/inv reload <player>");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p == null) {
- msg.prefix(player, prefix_commands, "This player is not online.");
- goto("wait");
- }
- world = loc.getWorld(entity.getLocation(p));
- inv.loadFromPlayer(p, p, world);
- msg.prefix(player, prefix_commands, "Inventory reloaded.");
- goto("wait");
- }
- if(arg0 == "savefor") {
- if(size != 1 && size != 3) {
- msg.prefix(player, prefix_commands, "/inv saveFor <player> <world>");
- goto("wait");
- }
- if(size == 1) {
- for_player_or_id = player.getId(player);
- world = loc.getWorld(entity.getLocation(player));
- }
- if(size == 3) {
- if(!perm.has(player, "inv.saveFor")) {
- perm.no(player, "inv.saveFor");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p != null) {
- msg.prefix(player, prefix_commands, "This player is online. Use /invsee");
- goto("wait");
- }
- for_player_or_id = player.getId(p_uuid);
- world_name = list.getIndex(args, 2);
- world = world.get(world_name);
- if(world == null) {
- msg.prefix(player, prefix_world, "This world is not loaded.");
- goto("wait");
- }
- }
- inv.saveForPlayer(player, for_player_or_id, world);
- msg.prefix(player, prefix_commands, "Inventory saved.");
- goto("wait");
- }
- if(arg0 == "loadfrom") {
- if(size != 1 && size != 3) {
- msg.prefix(player, prefix_commands, "/inv loadFrom <player> <world>");
- goto("wait");
- }
- if(size == 1) {
- from_player_or_id = player.getId(player);
- world = loc.getWorld(entity.getLocation(player));
- }
- if(size == 3) {
- if(!perm.has(player, "inv.loadFrom")) {
- perm.no(player, "inv.loadFrom");
- goto("wait");
- }
- p_name = list.getIndex(args, 1);
- p_uuid = player.getUuid(p_name);
- if(p_uuid == null) {
- msg.prefix(player, prefix_commands, "This player has never been online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(p != null) {
- msg.prefix(player, prefix_commands, "This player is online. Use /invsee");
- goto("wait");
- }
- from_player_or_id = player.getId(p_uuid);
- world_name = list.getIndex(args, 2);
- world = world.get(world_name);
- if(world == null) {
- msg.prefix(player, prefix_world, "This world is not loaded.");
- goto("wait");
- }
- }
- inv.loadFromPlayer(player, from_player_or_id, world);
- msg.prefix(player, prefix_commands, "Inventory loaded.");
- goto("wait");
- }
- goto("wait");
- @boost
- entity.throw(player, 0, 5, 0);
- goto("wait");
- @memory
- msg.prefix(player, prefix_commands, concat("Used RAM: ", text.number(usedMemory()), " / ", text.number(math.round(allocatedMemory())), " MB"));
- goto("wait");
- @world
- if(size == 0) {
- @world_syntax
- msg.prefix(player, prefix_world, "/world ...");
- msg(player, "§b - info <world> §rShows info about a world");
- msg(player, "§b - tp <world> [player] §rTeleports a player to a world");
- msg(player, "§b - list §rShows all loaded worlds");
- msg(player, "§b - load <world> §rLoads a world");
- msg(player, "§b - unload <world> §rUnloads a world (removes it from memory)");
- msg(player, "§b - setspawn §rSets the world's spawn");
- msg(player, "§b - diffi <world> <diffi> §rSets the world's difficulty");
- goto("wait");
- }
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "info") {
- msg(player, getSpacer());
- world = loc.getWorld(entity.getLocation(player));
- msg(player, "§6World: §r", world.getName(world));
- msg(player, "§6Rain: §r", world.hasStorm(world));
- time = world.getTime(world);
- while(time >= 24000) {
- time -= 24000;
- }
- msg(player, "§6Zeit: §r", text.number(time));
- goto("wait");
- }
- if(arg0 == "tp") {
- if(size < 2 || size > 3) {
- msg.prefix(player, prefix_world, "§r/world tp <world> [player]");
- goto("wait");
- }
- if(size >= 2) {
- world_name = text.toLowerCase(list.getIndex(args, 1));
- world = world.get(world_name);
- if(world == null) {
- msg.prefix(player, prefix_world, "This world is not loaded.");
- goto("wait");
- }
- }
- if(size == 3) {
- affectedname = list.getIndex(args, 2);
- affectedplayer = read.player(affectedname);
- if(affectedplayer == null) {
- msg.prefix(player, prefix_world, "This player is not online.");
- goto("wait");
- }
- }
- if(player.hasMinigame(affectedplayer)) {
- if(size == 3) {
- msg.prefix(player, prefix_commands, "This player can't be teleported now.");
- } else {
- msg.prefix(player, prefix_commands, "You can't teleport now.");
- }
- goto("wait");
- }
- if(player != affectedplayer) {
- affectedname = player.getName(affectedplayer);
- msg.prefix(player, prefix_world, concat(affectedname, " was teleported to the spawn of the world ", world_name, "."));
- }
- if(world_name == "games") {
- loc = world.getGamesSpawn();
- } elseif(world_name == "creative") {
- loc = world.getCreativeSpawn();
- } elseif(world_name == "story") {
- loc = world.getStorySpawn();
- } else {
- loc = world.getSpawn(world);
- }
- player.teleport(affectedplayer, loc, true);
- goto("wait");
- }
- if(arg0 == "list") {
- msg.prefix(player, prefix_world, "Loaded worlds:");
- worldlist = world.getAll();
- for(i = 0; i < list.getSize(worldlist); i++) {
- msg(player, " - ", world.getName(list.getIndex(worldlist, i)));
- }
- msg(player, getSpacer());
- goto("wait");
- }
- if(arg0 == "load") {
- if(size != 2) {
- msg.prefix(player, prefix_world, "§r/world load <world>");
- goto("wait");
- }
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world != null) {
- msg.prefix(player, prefix_world, "This world is already loaded.");
- goto("wait");
- }
- if(!world.register(worldname)) {
- msg.prefix(player, prefix_world, concat("The world ", worldname, " can't be found."));
- goto("wait");
- }
- msg.prefix(player, prefix_world, "The world was loaded.");
- goto("wait");
- }
- if(arg0 == "unload") {
- if(size != 2) {
- msg.prefix(player, prefix_world, "§r/world unload <world>");
- goto("wait");
- }
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world == null) {
- msg.prefix(player, prefix_world, "This world is not loaded.");
- goto("wait");
- }
- if(!world.unregister(worldname)) {
- msg.prefix(player, prefix_world, "This world can't be unlaoded.");
- goto("wait");
- }
- msg.prefix(player, prefix_world, "You unlaoded this world.");
- goto("wait");
- }
- if(arg0 == "setspawn") {
- location = entity.getLocation(player);
- world.setSpawn(location, 0);
- msg.prefix(player, prefix_world, concat("New spawn of the world ", world.getName(loc.getWorld(location)), " set."));
- goto("wait");
- }
- if(arg0 == "diffi") {
- if(size != 3) {
- msg.prefix(player, prefix_world, "§r/world diffi <world> <diffi>");
- goto("wait");
- }
- worldname = list.getIndex(args, 1);
- world = world.get(worldname);
- if(world == null) {
- msg.prefix(player, prefix_world, "This world is not loaded.");
- goto("wait");
- }
- diffi_string = list.getIndex(args, 2);
- if(diffi_string != "PEACEFUL" || diffi_string != "EASY" || diffi_string != "NORMAL" || diffi_string != "HARD") {
- msg.prefix(player, prefix_world, "False input.");
- goto("wait");
- }
- world.setDiffi(world, diffi_string);
- msg.prefix(player, prefix_world, "Difficulty changed.");
- goto("wait");
- }
- goto("world_syntax");
- @yeet
- if(size == 0){
- msg.prefix(player, prefix_commands, "/yeet <strength>");
- goto("wait");
- }
- yeet_strength = list.getIndex(args, 0);
- yeet(player,math.abs(yeet_strength));
- msg(player, "§4YEET");
- goto("wait");
- @giveup
- script_id = quest.getFromPlayer(player);
- if(script_id == null) {
- msg.prefix(player, prefix_quest, "You are not in a quest.");
- goto("wait");
- }
- script = script.getFromId(script_id);
- if(script == null) {
- snuvi.debug("Player used giveup on corrupt quest");
- quest.removePlayer(player); //in case of corrupt quest
- msg.prefix(player, prefix_quest, "You have no quest.");
- goto("wait");
- }
- setScriptVar("player", player);
- script.callEvent("quest_term", script);
- quest.term(script, player);
- msg.prefix(player, prefix_quest, "Quest termed.");
- goto("wait");
- @leave
- set = player.getMinigameIds(player);
- iter = set.iterator(set);
- if(hasNext(iter)) {
- script_id = next(iter);
- script = script.getFromId(script_id);
- if(script == null) {
- snuvi.debug(concat("Player left game without existing gamescript ", set));
- msg.prefix(player, prefix_commands, "An error occured and some displays may not have been reset. So please panic and call for an admin! No, please don't do that.");
- player.resetMinigames(player);
- entity.teleport(player, gamesspawn);
- goto("wait");
- }
- minigame.hub(script, player);
- goto("wait");
- }
- msg.prefix(player, "§dScript", "You are not in a minigame.");
- goto("wait");
- function minigame.hub(script, player) {
- script.setVar(script, "player", player);
- script.callEvent("player_giveup", script);
- }
- @jail
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/jail <player>");
- } else {
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_jail, "This player has never been online.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- if(isJailed(p_uuid)) {
- msg.prefix(player, prefix_jail, "This player is already jailed.");
- goto("wait");
- }
- if(player_name == p_name) {
- msg.prefix(player, prefix_jail, "Self-Jailing isn't a good idea.");
- goto("wait");
- }
- if(!isOnline(p_name)) {
- msg.prefix(player, prefix_jail, "This player is not online.");
- goto("wait");
- }
- p = read.player(p_name);
- if(perm.has(p, "jail")) {
- msg.prefix(player, prefix_jail, "You can't jail this player.");
- goto("wait");
- }
- list.add(jailed_list, p_uuid);
- msg.prefix(player, prefix_jail, concat(p_name, " wurde gejailt"));
- showJail(p_name);
- if(!jail_loop_active) {
- sgoto(5, "jailloop");
- }
- }
- goto("wait");
- @unjail
- if(size != 1) {
- msg.prefix(player, prefix_commands, "/unjail <player>");
- } else {
- p_name = list.getIndex(args, 0);
- if(!checkIfEverOnline(p_name)) {
- msg.prefix(player, prefix_jail, "This player has never been online.");
- goto("wait");
- }
- p_uuid = player.getUuid(p_name);
- if(!isJailed(p_uuid)) {
- msg.prefix(player, prefix_jail, "This player is not jailed.");
- goto("wait");
- }
- list.remove(jailed_list, p_uuid);
- msg.prefix(player, prefix_jail, "You freed this player from jail.");
- }
- goto("wait");
- function inv.show(from_player, to_player) {
- player_inv = player.getInv(from_player);
- //inv = inv.new("333303000 333333333 333333333 333333333 000000000 333333333");
- inv = inv.new("333303000333333333333333333333333333000000000333333333");
- set.add($invseeids, inv.getId(inv));
- inv.setItem(inv, 0, living.getEquip(from_player, "head"));
- inv.setItem(inv, 1, living.getEquip(from_player, "chest"));
- inv.setItem(inv, 2, living.getEquip(from_player, "legs"));
- inv.setItem(inv, 3, living.getEquip(from_player, "feet"));
- inv.setItem(inv, 4, living.getEquip(from_player, "offhand"));
- for(slot = 0; slot <= 8; slot++) {
- inv.setItem(inv, slot + 32, inv.getItem(player_inv, slot));
- }
- for(slot = 0; slot <= 26; slot++) {
- inv.setItem(inv, slot + 5, inv.getItem(player_inv, slot + 9));
- }
- inv.open(inv, to_player, concat("Inventory of ", player.getName(from_player)));
- }
- function isAWallSign(location) {
- return block.hasTag($wall_signs_tag, block.get(location));
- }
- //--------------------------------------------------
- //Databank-Utils
- //--------------------------------------------------
- function databank.isExistingTable(table) {
- temp = false;
- stmt = databank.prepare("SHOW TABLES");
- result = databank.execute(stmt);
- while(databank.next(result)) {
- if(table == databank.getString(result, 1)) {
- temp = true;
- break;
- }
- }
- databank.close(result);
- databank.close(stmt);
- return temp;
- }
- function databank.getTableFields(table) {
- fields = list.new();
- stmt = databank.prepare(concat("SHOW FIELDS FROM ", table));
- result = databank.execute(stmt);
- while(databank.next(result)) {
- list.add(fields, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(stmt);
- return fields;
- }
- function databank.getTableDatatypes(table) {
- stmt = databank.prepare(concat("SHOW CREATE TABLE ", table));
- result = databank.execute(stmt);
- if(databank.next(result)) {
- temp = databank.getString(result, 2);
- }
- databank.close(result);
- databank.close(stmt);
- return temp;
- }
- //--------------------------------------------------
- //Tipp-Utils
- //--------------------------------------------------
- function tipp.register(tipp_key, tipp_value) {
- stmt = databank.prepare("INSERT INTO tipps (tipp_key, tipp_value) VALUES (?,?) ON DUPLICATE KEY UPDATE tipp_value = ?");
- databank.setString(stmt, 1, tipp_key);
- databank.setString(stmt, 2, tipp_value);
- databank.setString(stmt, 3, tipp_value);
- databank.workerExecute(stmt);
- }
- function tipp.get(tipp_key) {
- tipp_value = null;
- stmt = databank.prepare("SELECT tipp_value FROM tipps WHERE tipp_key = ?;");
- databank.setString(stmt, 1, tipp_key);
- result = databank.execute(stmt);
- while(databank.next(result)) {
- tipp_value = databank.getString(result, 1);
- }
- databank.close(result);
- databank.close(stmt);
- return tipp_value;
- }
- //--------------------------------------------------
- //Warp-Utils
- //--------------------------------------------------
- function warp.create(warp_group, warp_name, location) {
- config = config.new(concat("scripts/configs/warps/", warp_group), warp_name);
- config.set(config, "world", world.getName(loc.getWorld(location)));
- config.set(config, "x", loc.getX(location));
- config.set(config, "y", loc.getY(location));
- config.set(config, "z", loc.getZ(location));
- config.set(config, "yaw", loc.getYaw(location));
- config.set(config, "pitch", loc.getPitch(location));
- config.saveAsync(config);
- }
- function warp.exists(warp_group, warp_name) {
- config = config.new(concat("scripts/configs/warps/", warp_group), warp_name);
- return config.exists(config);
- }
- function warp.getGroups() {
- file = file.new("scripts/configs/warps");
- file_list = file.getList(file);
- groups_list = list.new();
- iter = list.iterator(file_list);
- while(hasNext(iter)) {
- warp = file.getName(next(iter));
- list.add(groups_list, warp);
- }
- return groups_list;
- }
- function warp.get(warp_group, warp_name) {
- config = config.new(concat("scripts/configs/warps/", warp_group), warp_name);
- if(config.exists(config)) {
- config.load(config);
- }
- world_name = text.convert(config.getString(config, "world", "null"));
- if(world_name == null) {
- return null;
- }
- world = world.get(world_name);
- x = config.getDouble(config, "x", 0);
- y = config.getDouble(config, "y", 100);
- z = config.getDouble(config, "z", 0);
- yaw = config.getDouble(config, "yaw", 0);
- pitch = config.getDouble(config, "pitch", 0);
- location = loc.new(world, x, y, z, yaw, pitch);
- return location;
- }
- function warp.delete(warp_group, warp_name) {
- config = config.new(concat("scripts/configs/warps/", warp_group), warp_name);
- if(!config.exists(config)) {
- return false;
- }
- config.delete(config);
- return true;
- }
- function warp.getList(warp_group) {
- file = file.new(concat("scripts/configs/warps/", warp_group));
- warps_list = list.new();
- if(file.exists(file)) {
- file_list = file.getList(file);
- iter = list.iterator(file_list);
- while(hasNext(iter)) {
- warp = file.getName(next(iter));
- warp = text.replace(warp, ".snuvic", "");
- list.add(warps_list, warp);
- }
- }
- return warps_list;
- }
- //--------------------------------------------------
- //Home-Utils
- //--------------------------------------------------
- function home.set(player_id, home_name, location) {
- stmt = databank.prepare("INSERT INTO homes (player_id, name, world_name, x, y, z, yaw, pitch) VALUES (?,?,?,?,?,?,?,?);");
- databank.setInt(stmt, 1, player_id);
- databank.setString(stmt, 2, home_name);
- databank.setString(stmt, 3, world.getName(loc.getWorld(location)));
- databank.setInt(stmt, 4, loc.getX(location));
- databank.setInt(stmt, 5, loc.getY(location));
- databank.setInt(stmt, 6, loc.getZ(location));
- databank.setInt(stmt, 7, loc.getYaw(location));
- databank.setInt(stmt, 8, loc.getPitch(location));
- databank.workerExecute(stmt);
- }
- function home.delete(player_id, home_name) {
- stmt = databank.prepare("DELETE FROM homes WHERE player_id = ? AND name = ?;");
- databank.setInt(stmt, 1, player_id);
- databank.setString(stmt, 2, home_name);
- databank.workerExecute(stmt);
- }
- function home.getLocation(player_id, home_name) {
- stmt = databank.prepare("SELECT world_name, x, y, z, yaw, pitch FROM homes WHERE player_id = ? AND name = ?;");
- databank.setInt(stmt, 1, player_id);
- databank.setString(stmt, 2, home_name);
- result = databank.execute(stmt);
- if(databank.next(result)) {
- world = world.get(databank.getString(result, 1));
- if(world == null) {
- return null;
- }
- x = databank.getDouble(result, 2);
- y = databank.getDouble(result, 3);
- z = databank.getDouble(result, 4);
- yaw = databank.getDouble(result, 5);
- pitch = databank.getDouble(result, 6);
- location = loc.new(world, x, y, z, yaw, pitch);
- }
- databank.close(result);
- databank.close(stmt);
- return location;
- }
- function home.exists(player_id, home_name) {
- stmt = databank.prepare("SELECT player_id FROM homes WHERE player_id = ? AND name = ?;");
- databank.setInt(stmt, 1, player_id);
- databank.setString(stmt, 2, home_name);
- result = databank.execute(stmt);
- if(databank.next(result)) {
- temp = true;
- } else {
- temp = false;
- }
- databank.close(result);
- databank.close(stmt);
- return temp;
- }
- function home.getList(player_id) {
- homes_list = list.new();
- stmt = databank.prepare("SELECT name FROM homes WHERE player_id = ?;");
- databank.setInt(stmt, 1, player_id);
- result = databank.execute(stmt);
- while(databank.next(result)) {
- list.add(homes_list, databank.getString(result, 1));
- }
- databank.close(result);
- databank.close(stmt);
- return homes_list;
- }
- function hasTpaRequest(player_uuid, aim_uuid) {
- for(i = 0; i < list.getSize($tpa_request); i++) {
- array = list.getIndex($tpa_request, i);
- if(array[0] == player_uuid && array[1] == aim_uuid) {
- list.removeIndex($tpa_request, i);
- return true;
- }
- }
- return false;
- }
- function addTpaRequest(player_uuid, aim_uuid) {
- array = array.new(2);
- array[0] = player_uuid;
- array[1] = aim_uuid;
- list.add($tpa_request, array);
- }
- function setCommandHelps() {
- command.clearHelp();
- command.clearIgnored();
- command.addIgnored("teleport");
- command.addIgnored("time");
- command.addIgnored("help");
- command.addIgnored("ban");
- command.addIgnored("kick");
- command.addIgnored("kill");
- command.addIgnored("gamemode");
-
- commandhelp.add("silentjoin");
- commandhelp.add("nowb");
- commandhelp.add("coords");
- commandhelp.add("ping");
- commandhelp.add("rank");
- commandhelp.add("back");
- commandhelp.add("boost");
- commandhelp.add("bug");
- commandhelp.add("report");
- commandhelp.add("skills");
- commandhelp.add("startgame");
- commandhelp.add("top");
- commandhelp.add("ride");
- commandhelp.add("repair");
- commandhelp.add("lag");
- commandhelp.add("live");
- commandhelp.add("hack");
- //commandhelp.add("vote");
-
- commandhelp.addChildPlayer("mute");
- commandhelp.addChildPlayer("unmute");
- commandhelp.addChildPlayer("tpa");
- commandhelp.addChildPlayer("tpaccept");
- commandhelp.addChildPlayer("tpahere");
- commandhelp.addChildPlayer("tpaccepthere");
- commandhelp.addChildPlayer("head");
- commandhelp.addChildPlayer("seen");
- commandhelp.addChildPlayer("heal");
- commandhelp.addChildPlayer("feed");
-
- help = commandhelp.add("lightning");
- commandhelp.addAlias(help, "thor", "lightning");
- help = commandhelp.add("color");
- commandhelp.addAlias(help, "colour", "color");
- help = commandhelp.add("iteminfo");
- commandhelp.addAlias(help, "itemdb", "iteminfo");
- help = commandhelp.add("head");
- commandhelp.addAlias(help, "skull", "head");
- help = commandhelp.add("memory");
- commandhelp.addAlias(help, "ram", "memory");
- help = commandhelp.add("afk");
- commandhelp.addAlias(help, "afklo", "afk");
-
- help = commandhelp.add("leave");
- commandhelp.addAlias(help, "l", "leave");
- commandhelp.addAlias(help, "hub", "leave");
-
- help = commandhelp.add("giveup");
- commandhelp.addAlias(help, "fuckit", "giveup");
-
- help = command.newHelp("vanish", "vanish");
- //vanish [on] [player]
- helpArg0 = command.newHelpLiteral("on");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //vanish [off] [player]
- helpArg0 = command.newHelpLiteral("off");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "v", "vanish");
-
- help = command.newHelp("start", "start");
- command.addHelpChild(help, command.newHelpLiteral("ai"));
- command.addHelpChild(help, command.newHelpLiteral("chat"));
- command.addHelpChild(help, command.newHelpLiteral("commands"));
- command.addHelpChild(help, command.newHelpLiteral("creative"));
- command.addHelpChild(help, command.newHelpLiteral("damage"));
- command.addHelpChild(help, command.newHelpLiteral("doors"));
- command.addHelpChild(help, command.newHelpLiteral("harvest"));
- command.addHelpChild(help, command.newHelpLiteral("hawkeye"));
- command.addHelpChild(help, command.newHelpLiteral("herobrine"));
- command.addHelpChild(help, command.newHelpLiteral("loom"));
- command.addHelpChild(help, command.newHelpLiteral("games"));
- command.addHelpChild(help, command.newHelpLiteral("mails"));
- command.addHelpChild(help, command.newHelpLiteral("perms"));
- command.addHelpChild(help, command.newHelpLiteral("pumpkin"));
- command.addHelpChild(help, command.newHelpLiteral("scheduler"));
- command.addHelpChild(help, command.newHelpLiteral("shop"));
- command.addHelpChild(help, command.newHelpLiteral("sitting"));
- command.addHelpChild(help, command.newHelpLiteral("stats"));
- command.addHelpChild(help, command.newHelpLiteral("story"));
- command.addHelpChild(help, command.newHelpLiteral("survival"));
- command.addHelpChild(help, command.newHelpLiteral("ticket"));
- command.addHelpChild(help, command.newHelpLiteral("timber"));
- command.addHelpChild(help, command.newHelpLiteral("voxel"));
- command.addHelp(help);
- help = command.newHelp("gamemode", "gamemode");
- helpArg0 = command.newHelpLiteral("adventure");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "gamemode.other"));
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpLiteral("creative");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "gamemode.other"));
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpLiteral("spectator");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "gamemode.other"));
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpLiteral("survival");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "gamemode.other"));
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpInt("0-3", 0, 3);
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "gamemode.other"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "gm", "gamemode");
-
- help = command.newHelp("databank", "databank");
- //databank showtables
- command.addHelpChild(help, command.newHelpLiteral("showtables"));
- //databank showfields <table>
- helpArg0 = command.newHelpLiteral("showfields");
- command.addHelpChild(helpArg0, command.newHelpString("table", false));
- command.addHelpChild(help, helpArg0);
- //databank showdataypes <table>
- helpArg0 = command.newHelpLiteral("showdataypes");
- command.addHelpChild(helpArg0, command.newHelpString("table", false));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("copyisland", "copyisland");
- //copyisland copy/paste
- command.addHelpChild(help, command.newHelpLiteral("copy"));
- command.addHelpChild(help, command.newHelpLiteral("paste"));
- //copyisland pos1/pos2
- command.addHelpChild(help, command.newHelpLiteral("pos1"));
- command.addHelpChild(help, command.newHelpLiteral("pos2"));
- command.addHelp(help);
-
- help = command.newHelp("fly", "fly");
- helpArg0 = command.newHelpSpecial("Player", "player", "fly.other");
- command.addHelpChild(helpArg0, command.newHelpLiteral("on"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("off"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("allsounds", "allsounds");
- command.addHelpChild(help, command.newHelpLiteral("start"));
- command.addHelpChild(help, command.newHelpLiteral("stop"));
- command.addHelp(help);
-
- help = command.newHelp("spawn", "spawn");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player", "teleport.other"));
- command.addHelp(help);
-
- help = command.newHelp("games", "games");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player", "teleport.other"));
- command.addHelp(help);
-
- help = command.newHelp("story", "story");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player", "teleport.other"));
- command.addHelp(help);
-
- help = command.newHelp("ass", "ass");
- //ass set <name>
- helpArg0 = command.newHelpLiteral("set");
- command.addHelpChild(helpArg0, command.newHelpString("name", true));
- command.addHelpChild(help, helpArg0);
- //ass rename <name>
- helpArg0 = command.newHelpLiteral("rename");
- command.addHelpChild(helpArg0, command.newHelpString("name", true));
- command.addHelpChild(help, helpArg0);
- //ass remove <radius>
- helpArg0 = command.newHelpLiteral("remove");
- command.addHelpChild(helpArg0, command.newHelpInt("radius", 0, 30));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("tppos", "tppos");
- helpArg0 = command.newHelpInt("x", -16000, 16000);
- helpArg1 = command.newHelpInt("y", 0, 1000);
- helpArg2 = command.newHelpInt("z", -16000, 16000);
- helpArg3 = command.newHelpString("world", false);
- helpArg4 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg3, helpArg4);
- command.addHelpChild(helpArg2, helpArg3);
- command.addHelpChild(helpArg1, helpArg2);
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("stats", "stats");
- addStatsGameHelp(help, "BedWars");
- addStatsGameHelp(help, "RageMode");
- addStatsGameHelp(help, "Jump'n'Run");
- addStatsGameHelp(help, "Rebuild");
- addStatsGameHelp(help, "FastBridge");
- addStatsGameHelp(help, "SnowGame");
- addStatsGameHelp(help, "TJR");
- addStatsGameHelp(help, "IJR");
- addStatsGameHelp(help, "Letters");
- addStatsGameHelp(help, "Sammelfieber");
- addStatsGameHelp(help, "Buttons");
- addStatsGameHelp(help, "HideAndSeek");
- addStatsGameHelp(help, "Inverting");
- addStatsGameHelp(help, "Spleef");
- addStatsGameHelp(help, "Knockfight");
- addStatsGameHelp(help, "Leapfrog");
- addStatsGameHelp(help, "Parcour");
- addStatsGameHelp(help, "Halma");
- addStatsGameHelp(help, "ShoppingChaos");
- addStatsGameHelp(help, "MengerRun");
- command.addHelp(help);
-
- help = command.newHelp("setspawn", "setspawn");
- command.addHelpChild(help, command.newHelpLiteral("server"));
- command.addHelpChild(help, command.newHelpLiteral("games"));
- command.addHelpChild(help, command.newHelpLiteral("creative"));
- command.addHelpChild(help, command.newHelpLiteral("story"));
- command.addHelp(help);
-
- help = command.newHelp("datatools", "datatools");
- //datatools hide <name>
- helpArg0 = command.newHelpLiteral("hide");
- command.addHelpChild(helpArg0, command.newHelpLiteral("enchantments"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("attributes"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("unbreakable"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("destroys"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("placed_on"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("potion_effects"));
- command.addHelpChild(help, helpArg0);
- //datatools attribute <attribute> <slot> <double> <op>
- helpArg0 = command.newHelpLiteral("attribute");
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("ARMOR"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("ARMOR_TOUGHNESS"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("ATTACK_DAMAGE"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("KNOCKBACK_RESISTANCE"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("MAX_HEALTH"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("MOVEMENT_SPEED"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("ATTACK_SPEED"));
- command.addHelpChild(helpArg0, addDtAttributeAttributHelp("LUCK"));
- command.addHelpChild(help, helpArg0);
- //datatools hide-entity
- command.addHelpChild(help, command.newHelpLiteral("hide-entity"));
- //datatools show-entity
- command.addHelpChild(help, command.newHelpLiteral("show-entity"));
- //datatools name-entity <name>
- helpArg0 = command.newHelpLiteral("name-entity");
- helpArg1 = command.newHelpString("name", true);
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //datatools name-visibility <name>
- helpArg0 = command.newHelpLiteral("name-visibility");
- command.addHelpChild(helpArg0, command.newHelpBool("wusi"));
- command.addHelpChild(help, helpArg0);
- //datatools name-item <name>
- helpArg0 = command.newHelpLiteral("name-item");
- helpArg1 = command.newHelpString("name", true);
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //datatools lore-item <line> <lore>
- helpArg0 = command.newHelpLiteral("lore-item");
- helpArg1 = command.newHelpInt("line", 0, 1000);
- helpArg2 = command.newHelpString("lore", true);
- command.addHelpChild(helpArg1, helpArg2);
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "dt", "datatools");
-
- help = command.newHelp("hawkeye", "hawkeye");
- //hawkeye search <parameters>
- helpArg0 = command.newHelpLiteral("search");
- command.addHelpChild(helpArg0, command.newHelpString("name", true));
- command.addHelpChild(help, helpArg0);
- //hawkeye undo
- command.addHelpChild(help, command.newHelpLiteral("undo"));
- //hawkeye rollback
- command.addHelpChild(help, command.newHelpLiteral("rollback"));
- //hawkeye tool
- command.addHelpChild(help, command.newHelpLiteral("tool"));
- commandhelp.addAlias(help, "ha", "hawkeye");
- command.addHelp(help);
-
- help = command.newHelp("voxel", "voxel");
- command.addHelpChild(help, command.newHelpInt("radius", 1, 5));
- command.addHelpChild(help, command.newHelpLiteral("block"));
- command.addHelp(help);
-
- help = command.newHelp("help", "help");
- command.addHelpChild(help, command.newHelpInt("page", 1, 100));
- command.addHelp(help);
- commandhelp.addAlias(help, "mimimi", "help");
-
- help = command.newHelp("suicide", "suicide");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player", "kill.other"));
- command.addHelp(help);
-
- help = command.newHelp("tempfly", "tempfly");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpInt("seconds", 1, 10000));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("tempban", "tempban");
- helpArg0 = command.newHelpSpecial("Player", "player");
- helpArg1 = command.newHelpInt("days", 1, 100);
- helpArg2 = command.newHelpInt("hours", 1, 100);
- helpArg3 = command.newHelpInt("minutes", 1, 100);
- command.addHelpChild(helpArg3, command.newHelpString("reason", true));
- command.addHelpChild(helpArg2, helpArg3);
- command.addHelpChild(helpArg1, helpArg2);
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("ban", "ban");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("reason", true));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("silentban", "silentban");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("reason", true));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("kick", "kick");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("reason", true));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("silentkick", "silentkick");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("reason", true));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("time", "time");
- //time set <time>
- helpArg0 = command.newHelpLiteral("set");
- command.addHelpChild(helpArg0, command.newHelpInt("time", 0, 100000));
- command.addHelpChild(help, helpArg0);
- //time add <time>
- helpArg0 = command.newHelpLiteral("add");
- command.addHelpChild(helpArg0, command.newHelpInt("time", 0, 100000));
- command.addHelpChild(help, helpArg0);
- //time day / noon / night / midnight
- command.addHelpChild(help, command.newHelpLiteral("day"));
- command.addHelpChild(help, command.newHelpLiteral("noon"));
- command.addHelpChild(help, command.newHelpLiteral("night"));
- command.addHelpChild(help, command.newHelpLiteral("midnight"));
- command.addHelp(help);
-
- help = command.newHelp("enderchest", "enderchest");
- //enderchest [player] <from-player>
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("from-player", false));
- command.addHelpChild(help, helpArg0);
- //enderchest [player] <from-player>
- command.addHelpChild(help, command.newHelpString("from-player", false));
- command.addHelp(help);
-
- help = command.newHelp("nickname", "nickname");
- command.addHelpChild(help, command.newHelpString("name", true));
- command.addHelpChild(help, command.newHelpLiteral("remove"));
- command.addHelp(help);
-
- help = command.newHelp("perm", "perm");
- //perm give <player> <perm>
- helpArg0 = command.newHelpLiteral("give", "perm.give");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpLiteral("admin", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("mod", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("supporter"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("builder"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("worldedit"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("teleport"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("vip"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("dev"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("yt"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("streamer"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("sponsor"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("bypass", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("creative"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //perm remove <player> <perm>
- helpArg0 = command.newHelpLiteral("remove", "perm.remove");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpLiteral("admin", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("mod", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("supporter"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("builder"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("worldedit"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("teleport"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("vip"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("dev"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("yt"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("streamer"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("sponsor"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("bypass", "isAdmin"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("creative"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //perm removeall <player>
- helpArg0 = command.newHelpLiteral("removeall", "perm.removeall");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //perm list <player>
- helpArg0 = command.newHelpLiteral("list", "perm.list");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //perm toggle
- command.addHelpChild(help, command.newHelpLiteral("toggle", "perm.toggle"));
- command.addHelp(help);
-
- help = command.newHelp("script", "script");
- //script start <scripts>
- helpArg0 = command.newHelpLiteral("start");
- command.addHelpChild(helpArg0, command.newHelpString("scrips...", true));
- command.addHelpChild(help, helpArg0);
- //script see
- command.addHelpChild(help, command.newHelpLiteral("see"));
- //script term
- helpArg0 = command.newHelpLiteral("term");
- command.addHelpChild(helpArg0, command.newHelpLiteral("all"));
- command.addHelpChild(helpArg0, command.newHelpInt("id", 0, 1000000));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "s", "script");
-
- help = command.newHelp("home", "home");
- //home set
- helpArg0 = command.newHelpLiteral("set");
- command.addHelpChild(helpArg0, command.newHelpString("home", false));
- command.addHelpChild(help, helpArg0);
- //home delete
- helpArg0 = command.newHelpLiteral("delete");
- command.addHelpChild(helpArg0, command.newHelpString("home", false));
- command.addHelpChild(help, helpArg0);
- //home list
- helpArg0 = command.newHelpLiteral("list");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "home.other"));
- command.addHelpChild(help, helpArg0);
- //home <name>
- helpArg0 = command.newHelpString("home", false);
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "home.other"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("plot", "plot");
- //plot info
- command.addHelpChild(help, command.newHelpLiteral("info"));
- command.addHelpChild(help, command.newHelpLiteral("i"));
- //plot pos1/pos2
- command.addHelpChild(help, command.newHelpLiteral("pos1"));
- command.addHelpChild(help, command.newHelpLiteral("pos2"));
- //plot create/create3D
- command.addHelpChild(help, command.newHelpLiteral("create"));
- command.addHelpChild(help, command.newHelpLiteral("create3D"));
- //plot remove
- helpArg0 = command.newHelpLiteral("remove");
- command.addHelpChild(helpArg0, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(help, helpArg0);
- //plot name <name>
- helpArg0 = command.newHelpLiteral("name");
- command.addHelpChild(helpArg0, command.newHelpString("name", true));
- helpArg1 = command.newHelpInt("id", 0, 10000);
- command.addHelpChild(helpArg1, command.newHelpString("name", true));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot share <name>
- helpArg0 = command.newHelpLiteral("share");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot kick <name>
- helpArg0 = command.newHelpLiteral("kick");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot raise
- command.addHelpChild(help, command.newHelpLiteral("raise"));
- //plot leader <name>
- helpArg0 = command.newHelpLiteral("leader");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot mod <name>
- helpArg0 = command.newHelpLiteral("mod");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot chest <name>
- helpArg0 = command.newHelpLiteral("chest");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpInt("id", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot sell <price>
- helpArg0 = command.newHelpLiteral("sell");
- command.addHelpChild(helpArg0, command.newHelpInt("price", 1, 10000));
- command.addHelpChild(help, helpArg0);
- //plot moreinfo
- command.addHelpChild(help, command.newHelpLiteral("moreinfo", "plot.moreinfo"));
- //plot listall
- command.addHelpChild(help, command.newHelpLiteral("listall"));
- //plot flags <int> <boolean>
- helpArg0 = command.newHelpLiteral("flags");
- helpArg1 = command.newHelpInt("int", 1, 1000);
- command.addHelpChild(helpArg1, command.newHelpBool("wusi"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //plot expand <anzahl>
- helpArg0 = command.newHelpLiteral("expand");
- helpArg1 = command.newHelpInt("anzahl", 1, 1000);
- command.addHelpChild(helpArg1, command.newHelpInt("id", 1, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "p", "plot");
-
- help = command.newHelp("warp", "warp");
- //warp set [group] <name>
- helpArg0 = command.newHelpLiteral("set", "warp.create");
- command.addHelpChild(helpArg0, command.newHelpString("name", false, "warp.create"));
- helpArg1 = command.newHelpString("group", false, "warp.create");
- command.addHelpChild(helpArg1, command.newHelpString("name", false, "warp.create"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //warp delete [group] <name>
- helpArg0 = command.newHelpLiteral("delete", "warp.create");
- command.addHelpChild(helpArg0, command.newHelpString("name", false, "warp.create"));
- helpArg1 = command.newHelpString("group", false, "warp.create");
- command.addHelpChild(helpArg1, command.newHelpString("name", false, "warp.create"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //warp groups
- command.addHelpChild(help, command.newHelpLiteral("groups", "warp.create"));
- //warp list [group]
- helpArg0 = command.newHelpLiteral("list");
- command.addHelpChild(helpArg0, command.newHelpString("group", false, "warp.create"));
- command.addHelpChild(help, helpArg0);
- //warp [group] <name>
- helpArg0 = command.newHelpString("name", false);
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpString("group", false, "warp.create");
- command.addHelpChild(helpArg0, command.newHelpString("name", false));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("teleport", "teleport");
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "to-player", "teleport.other"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
- commandhelp.addAlias(help, "tp", "teleport");
-
- help = command.newHelp("lastseen", "lastseen");
- command.addHelpChild(help, command.newHelpInt("amount", 1, 100));
- command.addHelp(help);
-
- help = command.newHelp("human", "human");
- //human spawn
- command.addHelpChild(help, command.newHelpLiteral("spawn"));
- //human set <name>
- helpArg0 = command.newHelpLiteral("set");
- command.addHelpChild(helpArg0, command.newHelpString("name", false));
- command.addHelpChild(help, helpArg0);
- //human setuuid <uuid>
- helpArg0 = command.newHelpLiteral("setuuid");
- command.addHelpChild(helpArg0, command.newHelpString("uuid", false));
- command.addHelpChild(help, helpArg0);
- //human name
- helpArg0 = command.newHelpLiteral("name");
- command.addHelpChild(helpArg0, command.newHelpString("name", true));
- command.addHelpChild(help, helpArg0);
- //human kill
- command.addHelpChild(help, command.newHelpLiteral("kill"));
- //human size <scale>
- helpArg0 = command.newHelpLiteral("size");
- command.addHelpChild(helpArg0, command.newHelpInt("scale", 0, 100));
- command.addHelpChild(help, helpArg0);
- //human steve
- command.addHelpChild(help, command.newHelpLiteral("steve"));
- //human alex
- command.addHelpChild(help, command.newHelpLiteral("alex"));
- //human statue
- helpArg0 = command.newHelpLiteral("statue");
- command.addHelpChild(helpArg0, command.newHelpBool("wusi"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("mail", "mail");
- //mail <player> <message>
- helpArg0 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //mail new
- command.addHelpChild(help, command.newHelpLiteral("new"));
- //mail inbox
- command.addHelpChild(help, command.newHelpLiteral("inbox"));
- //mail outbox
- command.addHelpChild(help, command.newHelpLiteral("outbox"));
- //mail reset
- command.addHelpChild(help, command.newHelpLiteral("reset", "mail.reset"));
- command.addHelp(help);
-
- help = command.newHelp("playtime", "playtime");
- //playtime [player]
- command.addHelpChild(help, command.newHelpSpecial("Player", "player"));
- //playtime all
- command.addHelpChild(help, command.newHelpLiteral("all"));
- //playtime month [1-12] [year]
- helpArg0 = command.newHelpLiteral("month");
- helpArg1 = command.newHelpInt("int", 1, 12);
- command.addHelpChild(helpArg1, command.newHelpInt("year", 2019, 2024));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //playtime year [year]
- helpArg0 = command.newHelpLiteral("year");
- command.addHelpChild(helpArg0, command.newHelpInt("year", 2019, 2024));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("user", "user");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player", "user.other"));
- command.addHelp(help);
-
- help = command.newHelp("cli", "cli");
- command.addHelpChild(help, command.newHelpInt("int", 0, 1000));
- command.addHelp(help);
-
- help = command.newHelp("plant", "plant");
- command.addHelpChild(help, command.newHelpInt("int", 0, 1000));
- command.addHelp(help);
-
- help = command.newHelp("grow", "grow");
- command.addHelpChild(help, command.newHelpInt("int", 0, 1000));
- command.addHelp(help);
-
- help = command.newHelp("plough", "plough");
- command.addHelpChild(help, command.newHelpInt("int", 0, 1000));
- command.addHelp(help);
-
- help = command.newHelp("news", "news");
- command.addHelpChild(help, command.newHelpString("text", true));
- command.addHelp(help);
-
- help = command.newHelp("inv", "inv");
- //inv ignore
- command.addHelpChild(help, command.newHelpLiteral("ignore"));
- //inv see <player>
- helpArg0 = command.newHelpLiteral("see");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //inv reload <player>
- helpArg0 = command.newHelpLiteral("reload");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //inv loadFrom <player> <world>
- helpArg0 = command.newHelpLiteral("loadFrom");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpString("world", false));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //inv saveFor <player> <world>
- helpArg0 = command.newHelpLiteral("saveFor");
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpString("world", false));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("warn", "warn");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player"));
- command.addHelp(help);
-
- help = command.newHelp("jail", "jail");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player"));
- command.addHelp(help);
-
- help = command.newHelp("unjail", "unjail");
- command.addHelpChild(help, command.newHelpSpecial("Player", "player"));
- command.addHelp(help);
-
- help = command.newHelp("friend", "friend");
- //friend add <player>
- helpArg0 = command.newHelpLiteral("add");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //friend remove <player>
- helpArg0 = command.newHelpLiteral("remove");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //friend list
- command.addHelpChild(help, command.newHelpLiteral("list"));
- command.addHelp(help);
- commandhelp.addAlias(help, "f", "friend");
-
- help = command.newHelp("sign", "sign");
- helpArg0 = command.newHelpInt("1-4", 1, 4);
- command.addHelpChild(helpArg0, command.newHelpString("text", true));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("speed", "speed");
- helpArg0 = command.newHelpInt("int", 1, 10);
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "speed.other"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("errordebug", "errordebug");
- command.addHelpChild(help, command.newHelpLiteral("list"));
- command.addHelpChild(help, command.newHelpLiteral("clear"));
- command.addHelpChild(help, command.newHelpLiteral("toggle"));
- command.addHelp(help);
-
- help = command.newHelp("error", "error");
- command.addHelpChild(help, command.newHelpLiteral("list"));
- command.addHelpChild(help, command.newHelpLiteral("clear"));
- command.addHelp(help);
-
- help = command.newHelp("world", "world");
- //world info <world>
- helpArg0 = command.newHelpLiteral("info");
- command.addHelpChild(helpArg0, command.newHelpString("world", false));
- command.addHelpChild(help, helpArg0);
- //world tp <world> [player]
- helpArg0 = command.newHelpLiteral("tp");
- helpArg1 = command.newHelpString("world", false);
- command.addHelpChild(helpArg1, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //world list
- command.addHelpChild(help, command.newHelpLiteral("list"));
- //world load <world>
- helpArg0 = command.newHelpLiteral("load");
- command.addHelpChild(helpArg0, command.newHelpString("world", false));
- command.addHelpChild(help, helpArg0);
- //world unload <world>
- helpArg0 = command.newHelpLiteral("unload");
- command.addHelpChild(helpArg0, command.newHelpString("world", false));
- command.addHelpChild(help, helpArg0);
- //world diffi <world> <diffi>
- helpArg0 = command.newHelpLiteral("diffi");
- helpArg1 = command.newHelpString("world", false);
- command.addHelpChild(helpArg1, command.newHelpLiteral("PEACEFUL"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("EASY"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("NORMAL"));
- command.addHelpChild(helpArg1, command.newHelpLiteral("HARD"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //world setspawn
- helpArg0 = command.newHelpLiteral("setspawn");
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("quest", "quest");
- //quest term <player>
- helpArg0 = command.newHelpLiteral("term");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("pvp", "pvp");
- helpArg0 = command.newHelpLiteral("on");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "pvp.other"));
- command.addHelpChild(help, helpArg0);
- helpArg0 = command.newHelpLiteral("off");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "pvp.other"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("game", "game");
- command.addHelpChild(help, command.newHelpLiteral("open"));
- command.addHelpChild(help, command.newHelpLiteral("close"));
- command.addHelp(help);
-
- help = command.newHelp("party", "party");
- //party invite <player>
- helpArg0 = command.newHelpLiteral("invite");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party accept <player>
- helpArg0 = command.newHelpLiteral("accept");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party deny <player>
- helpArg0 = command.newHelpLiteral("deny");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party kick <player>
- helpArg0 = command.newHelpLiteral("kick");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party leave
- command.addHelpChild(help, command.newHelpLiteral("leave"));
- //party promote <player>
- helpArg0 = command.newHelpLiteral("promote");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party demote <player>
- helpArg0 = command.newHelpLiteral("demote");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //party disband
- command.addHelpChild(help, command.newHelpLiteral("disband"));
- //party list
- command.addHelpChild(help, command.newHelpLiteral("list"));
- command.addHelp(help);
-
- help = command.newHelp("var", "var");
- helpArg0 = command.newHelpInt("id", 0, 1000000);
- command.addHelpChild(helpArg0, command.newHelpString("varname", false));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("setservermessage", "setservermessage");
- command.addHelpChild(help, command.newHelpString("message", true));
- command.addHelp(help);
-
- help = command.newHelp("clan", "clan");
- //clan invite <name>
- helpArg0 = command.newHelpLiteral("invite");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //clan accept <id/name/tag>
- helpArg0 = command.newHelpLiteral("invite");
- command.addHelpChild(helpArg0, command.newHelpInt("id", 1, 500));
- command.addHelpChild(helpArg0, command.newHelpString("name", false));
- command.addHelpChild(helpArg0, command.newHelpString("tag", false));
- command.addHelpChild(help, helpArg0);
- //clan info [id/name/tag]
- helpArg0 = command.newHelpLiteral("info");
- command.addHelpChild(helpArg0, command.newHelpInt("id", 1, 500));
- command.addHelpChild(helpArg0, command.newHelpString("name", false));
- command.addHelpChild(helpArg0, command.newHelpString("tag", false));
- command.addHelpChild(help, helpArg0);
- //clan create <name> <tag>
- helpArg0 = command.newHelpLiteral("create");
- helpArg1 = command.newHelpString("name", false);
- command.addHelpChild(helpArg1, command.newHelpString("false", false));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //clan kick <name>
- helpArg0 = command.newHelpLiteral("kick");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //clan leader <name>
- helpArg0 = command.newHelpLiteral("leader");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //clan mod <name>
- helpArg0 = command.newHelpLiteral("mod");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //clan degrade <name>
- helpArg0 = command.newHelpLiteral("degrade");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- //clan leave
- command.addHelpChild(help, command.newHelpLiteral("leave"));
- //clan rename <name> <tag>
- helpArg0 = command.newHelpLiteral("rename");
- helpArg1 = command.newHelpString("name", false);
- command.addHelpChild(helpArg1, command.newHelpString("false", false));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //clan disband
- command.addHelpChild(help, command.newHelpLiteral("disband"));
- //clan msg <message>
- helpArg0 = command.newHelpLiteral("msg");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //clan mail <message>
- helpArg0 = command.newHelpLiteral("mail");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //clan shout <message>
- helpArg0 = command.newHelpLiteral("shout");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //clan deposit <money>
- helpArg0 = command.newHelpLiteral("deposit");
- command.addHelpChild(helpArg0, command.newHelpInt("money", 0, 1000));
- command.addHelpChild(help, helpArg0);
- //clan withdraw <money>
- helpArg0 = command.newHelpLiteral("withdraw");
- command.addHelpChild(helpArg0, command.newHelpInt("money", 0, 1000));
- command.addHelpChild(help, helpArg0);
- //clan party
- command.addHelpChild(help, command.newHelpLiteral("party"));
- //clan setspawn
- command.addHelpChild(help, command.newHelpLiteral("setspawn"));
- //clan spawn
- command.addHelpChild(help, command.newHelpLiteral("spawn"));
- //clan list
- command.addHelpChild(help, command.newHelpLiteral("list"));
- command.addHelp(help);
-
- help = command.newHelp("shop", "shop");
- //shop create
- command.addHelpChild(help, command.newHelpLiteral("create"));
- //shop admin
- command.addHelpChild(help, command.newHelpLiteral("admin"));
- //shop remove
- helpArg0 = command.newHelpLiteral("remove");
- command.addHelpChild(helpArg0, command.newHelpLiteral("buy"));
- command.addHelpChild(helpArg0, command.newHelpLiteral("sell"));
- command.addHelpChild(help, helpArg0);
- //shop buy <amount> <price>
- helpArg0 = command.newHelpLiteral("buy");
- helpArg1 = command.newHelpInt("amount", 0, 1000);
- command.addHelpChild(helpArg1, command.newHelpInt("price", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //shop sell <amount> <price>
- helpArg0 = command.newHelpLiteral("sell");
- helpArg1 = command.newHelpInt("amount", 0, 1000);
- command.addHelpChild(helpArg1, command.newHelpInt("price", 0, 10000));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("setmessage", "setmessage");
- //setmessage info
- command.addHelpChild(help, command.newHelpLiteral("info"));
- //setmessage join <message>
- helpArg0 = command.newHelpLiteral("join");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //setmessage leave <message>
- helpArg0 = command.newHelpLiteral("leave");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //setmessage delete <player>
- helpArg0 = command.newHelpLiteral("delete");
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player", "setmessage.delete"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("tip", "tip");
- //tipp list
- helpArg0 = command.newHelpLiteral("list");
- command.addHelpChild(help, helpArg0);
- //tipp add <tipp> <text>
- helpArg0 = command.newHelpLiteral("add");
- helpArg1 = command.newHelpString("tip", false);
- command.addHelpChild(helpArg1, command.newHelpString("text", true));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- //tipp remove <tipp>
- helpArg0 = command.newHelpLiteral("remove");
- command.addHelpChild(helpArg0, command.newHelpString("tip", false));
- command.addHelpChild(help, helpArg0);
- //tipp <tipp> [player]
- helpArg0 = command.newHelpString("tip", false);
- command.addHelpChild(helpArg0, command.newHelpSpecial("Player", "player"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("ticket", "ticket");
- //ticket new <message>
- helpArg0 = command.newHelpLiteral("new");
- command.addHelpChild(helpArg0, command.newHelpString("message", true));
- command.addHelpChild(help, helpArg0);
- //ticket stop <ticket-id>
- helpArg0 = command.newHelpLiteral("stop");
- command.addHelpChild(helpArg0, command.newHelpInt("ticket-id", 1, 1000));
- command.addHelpChild(help, helpArg0);
- //ticket list
- command.addHelpChild(help, command.newHelpLiteral("list", "isSupporter"));
- //ticket get [ticket-id]
- helpArg0 = command.newHelpLiteral("get");
- command.addHelpChild(helpArg0, command.newHelpInt("ticket-id", 1, 1000, "isSupporter"));
- command.addHelpChild(help, helpArg0);
- //ticket finish <ticket-id>
- helpArg0 = command.newHelpLiteral("finish");
- command.addHelpChild(helpArg0, command.newHelpInt("ticket-id", 1, 1000, "isSupporter"));
- command.addHelpChild(help, helpArg0);
- //ticket release <ticket-id>
- helpArg0 = command.newHelpLiteral("release");
- command.addHelpChild(helpArg0, command.newHelpInt("ticket-id", 1, 1000, "isSupporter"));
- command.addHelpChild(help, helpArg0);
- //ticket report <ticket-id>
- helpArg0 = command.newHelpLiteral("report");
- command.addHelpChild(helpArg0, command.newHelpInt("ticket-id", 1, 1000, "isSupporter"));
- command.addHelpChild(help, helpArg0);
- command.addHelp(help);
-
- help = command.newHelp("yeet", "yeet");
- command.addHelpChild(help, command.newHelpInt("strength", 1, 10000000000000));
- command.addHelp(help);
-
- command.sendHelp();
- }
- function commandhelp.add(command) {
- help = command.newHelp(command, command);
- command.addHelp(help);
- return help;
- }
- function commandhelp.addChildString(command, arg0, bool) {
- help = command.newHelp(command, command);
- command.addHelpChild(help, command.newHelpString(arg0, bool));
- command.addHelp(help);
- }
- function commandhelp.addChildPlayer(command) {
- help = command.newHelp(command, command);
- command.addHelpChild(help, command.newHelpSpecial("Player", "player"));
- command.addHelp(help);
- }
- function commandhelp.addChildBool(command, arg0) {
- help = command.newHelp(command, command);
- command.addHelpChild(help, command.newHelpBool(arg0));
- command.addHelp(help);
- }
- function commandhelp.addAlias(help, alias, command) {
- helpAlias = command.newHelp(alias, command);
- command.addHelpAlias(helpAlias, help);
- command.addHelp(helpAlias);
- }
- function addStatsGameHelp(help, game) {
- helpArg0 = command.newHelpLiteral(game);
- command.addHelpChild(helpArg0, command.newHelpLiteral("top"));
- command.addHelpChild(helpArg0, command.newHelpInt("rank", 1, 1000));
- helpArg1 = command.newHelpSpecial("Player", "player");
- command.addHelpChild(helpArg1, command.newHelpLiteral("remove", "stats.remove"));
- command.addHelpChild(helpArg0, helpArg1);
- command.addHelpChild(help, helpArg0);
- }
- function addDtAttributeAttributHelp(attribut) {
- helpArg1 = command.newHelpLiteral(attribut);
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("mainhand"));
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("offhand"));
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("head"));
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("chest"));
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("legs"));
- command.addHelpChild(helpArg1, addDtAttributeSlotHelp("feet"));
- return helpArg1;
- }
- function addDtAttributeSlotHelp(slot) {
- helpArg2 = command.newHelpLiteral(slot);
- helpArg3 = command.newHelpInt("double", 0, 1000);
- command.addHelpChild(helpArg3, command.newHelpLiteral("ADDITION"));
- command.addHelpChild(helpArg3, command.newHelpLiteral("MULTIPLY_BASE"));
- command.addHelpChild(helpArg3, command.newHelpLiteral("MULTIPLY_TOTAL"));
- command.addHelpChild(helpArg2, helpArg3);
- return helpArg2;
- }
- function showJail(player_name) {
- if(isOnline(player_name)) {
- inv.open($jailmenu, read.player(player_name), "§8Gefängnis");
- }
- }
- function isJailed(player_uuid) {
- return(list.contains($jailed_list, player_uuid));
- }
- function command.register(command, description) {
- command.add(command);
- list.add($command_list, command);
- map.add($command_map, command, description);
- }
- function command.registerAlias(alias, command) {
- command.add(alias);
- map.add($alias_map, alias, command);
- }
- //--------------------------------------------------
- //Time-Utils
- //--------------------------------------------------
- //Spielzeit aller Online-Spieler
- function playtime.getTotalOnlineMinutes() {
- minutes = 0;
- iter = list.iterator(players.toList());
- while(hasNext(iter)) {
- minutes += playtime.getPlayerOnlineMinutes(player.getId(next(iter)));
- }
- return minutes;
- }
- //Spielzeit in einem Zeitraum exkl. der Spielzeit der Online-Spieler
- function playtime.getInterval(from, to) {
- stmt = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime WHERE join_time > ? AND join_time < ?;");
- databank.setLong(stmt, 1, from);
- databank.setLong(stmt, 2, to);
- result = databank.execute(stmt);
- if(databank.next(result)) {
- minutes = databank.getLong(result, 1) / 1000 / 60;
- } else {
- minutes = 0;
- }
- databank.close(result);
- databank.close(stmt);
- return minutes;
- }
- //Gesamte Spielzeit inkl. der Spielzeit der Online-Spieler
- function playtime.getTotal() {
- minutes = playtime.getTotalOnlineMinutes();
- stmt = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime;");
- result = databank.execute(stmt);
- if(databank.next(result)) {
- minutes += databank.getLong(result, 1) / 1000 / 60;
- }
- databank.close(result);
- databank.close(stmt);
- return minutes;
- }
- //Spielzeit eines Spielers in einem Zeitraum exkl. der Online-Spielzeit
- function playtime.getPlayerInterval(player_id, from, to) {
- stmt = databank.prepare("SELECT SUM(leave_time - join_time) FROM playtime WHERE player_id = ? AND join_time > ? AND join_time < ?;");
- databank.setInt(stmt, 1, player_id);
- databank.setLong(stmt, 2, from);
- databank.setLong(stmt, 3, to);
- result = databank.execute(stmt);
- if(databank.next(result)) {
- minutes = databank.getLong(result, 1) / 1000 / 60;
- } else {
- minutes = 0;
- }
- databank.close(result);
- databank.close(stmt);
- return minutes;
- }
- function playtime.getPlayersPerInterval(from, to) {
- set = set.new();
- stmt = databank.prepare("SELECT player_id FROM playtime WHERE join_time > ? AND join_time < ?;");
- databank.setLong(stmt, 1, from);
- databank.setLong(stmt, 2, to);
- result = databank.execute(stmt);
- while(databank.next(result)) {
- set.add(set, databank.getInt(result, 1));
- }
- databank.close(result);
- databank.close(stmt);
- return set.getSize(set);
- }
- function time.getYearDays(year) {
- days = 365;
- if(year % 4 == 0) {
- days++;
- }
- return days;
- }
- function time.getMonthDays(month, year) {
- days = month.getDays(month);
- //Schaltjahre
- if(month == 2 && year % 4 == 0) {
- days++;
- }
- return days;
- }
- function time.getDaysBetween(day1, month1, year1, day2, month2, year2) {
- d_days = 0;
- m_days = 0;
- y_days = 0;
- y = 0;
- m = 0;
- d = 0;
- //Volle Jahre
- for(year = year1 + 1; year < year2; year++) {
- y_days += time.getYearDays(year);
- y++;
- }
- if(year1 == year2) {
- //Volle Monate
- for(month = month1 + 1; month < month2; month++) {
- m_days += time.getMonthDays(month, year1);
- }
- //Volle Tage
- if(month1 == month2) {
- d_days = day2 - day1;
- } else {
- d_days += month.getDays(month1) - day1;
- d_days += day2;
- }
- } else {
- //Volle Monate
- for(month = month1 + 1; month < 13; month++) {
- m_days += time.getMonthDays(month, year1);
- m++;
- }
- for(month = 1; month < month2; month++) {
- m_days += time.getMonthDays(month, year2);
- m++;
- }
- //Volle Tage
- d_days += month.getDays(month1) - day1;
- d_days += day2;
- }
- return y_days + m_days + d_days;
- }
- function month.add(month_index, shortname, days) {
- $month_array[month_index, 0] = shortname;
- $month_array[month_index, 1] = days;
- }
- function month.getShortName(month) {
- return $month_array[month - 1, 0];
- }
- function month.getDays(month) {
- return $month_array[month - 1, 1];
- }
- //--------------------------------------------------
- //Player-Utils
- //--------------------------------------------------
- function player.hasClanInvitation(player_or_id, clan_id) {
- if(isPlayer(player_or_id)) {
- player_id = player.getId(player_or_id);
- } else {
- player_id = player_or_id;
- }
- iter = list.iterator($clan_invitations);
- while(hasNext(iter)) {
- invitation = next(iter);
- p_id = invitation[0];
- c_id = invitation[1];
- if(player_id == p_id && clan_id == c_id) {
- return true;
- }
- }
- return false;
- }
- function player.addClanInvitation(player_id, clan_id) {
- invitation = array.new(2);
- invitation[0] = player_id;
- invitation[1] = clan_id;
- list.add($clan_invitations, invitation);
- }
- //--------------------------------------------------
- //Party-Utils
- //--------------------------------------------------
- function party.invitePlayer(inviter, invitee) {
- //Wenn bereits ein Party besteht, diese Party-ID verwenden.
- //Ansonsten überprüfen, ob der Einlader bereits andere Spieler eingeladen hat. Dann diese Party-ID verwenden.
- //Ansonsten neue Party-ID vergeben.
- inviter_uuid = player.getUuid(inviter);
- if(player.isInParty(inviter)) {
- party_id = player.getPartyId(inviter);
- } else {
- party_id = map.get($party_invite_ids, inviter_uuid);
- if(party_id == null) {
- party_id = ++$party_counter;
- }
- }
- if(invitee == null) {
- return "inviteeNotOnline";
- }
- if(inviter == invitee) {
- return "inviterEqualsInvitee";
- }
- if(player.isInParty(inviter)) {
- if(!player.isPartyLeaderOrMod(inviter)) {
- return "inviterNotPermitted";
- }
- }
- if(player.isInParty(invitee)) {
- return "inviteeAlreadyInParty";
- }
- invitee_uuid = player.getUuid(invitee);
- list = map.get($party_invitations, invitee_uuid);
- if(list == null) {
- list = list.new();
- map.add($party_invitations, invitee_uuid, list);
- }
- if(list.contains(list, inviter_uuid)) {
- return "inviteeAlreadyInvited";
- }
- list.add(list, inviter_uuid);
- list.add($deluuid, inviter_uuid);
- list.add($delkeytime, time.getMillis());
- list = map.get($delkeytimes, invitee_uuid);
- if(list == null) {
- list = list.new();
- map.add($delkeytimes, invitee_uuid, list);
- }
- list.add(list, time.getMillis());
- map.add($party_invite_ids, inviter_uuid, party_id);
- inviter_name = player.getName(inviter);
- msg.prefix(invitee, $prefix_party, concat(inviter_name, " invites you to a party."));
- msg(invitee, " §5=> §rAccept ? ", text.click("[§aYes§r] ", concat("/party accept ", inviter_name)), text.click("[§cNo§r]", concat("/party deny ", inviter_name)));
- sgoto(200, "deletePartyInvitation"); //Einladung bleibt 1 Minute lang erhalten
- return true;
- }
- function party.kickPlayer(player, reason) {
- party_id = player.getPartyId(player);
- //Nachrichten
- player_name = player.getName(player);
- if(reason == "kick") {
- message = concat("§r", player_name, " has been kicked out of the party.");
- } else {
- message = concat("§r", player_name, " has left the party.");
- }
- party.sendMessage(party_id, message);
- player_uuid = player.getUuid(player_name);
- //aus Partyliste entfernen
- party_list = party.getList(party_id);
- list.remove(party_list, player_uuid);
- //ID und Rang entfernen
- rank = player.getPartyRank(player);
- player.delPartyRank(player);
- player.delPartyId(player);
- //Einladungen löschen
- map.remove($party_invitations, player_uuid);
- map.remove($delkeytimes, player_uuid);
- //Wenn Party keine zwei Spieler mehr hat, dann Party auflösen
- if(list.getSize(party_list) < 2) {
- party.delete(party_id);
- return;
- }
- //Wenn Spieler Partyleiter war, neuen Partyleiter ernennen
- if(rank == "Leader") {
- new_player = player.get(list.getIndex(party_list, 0));
- player.setPartyRank(new_player, "Leader");
- party.sendMessage(party_id, concat("§r", player.getName(new_player), " is now Leader."));
- }
- }
- function party.sendMessage(party_id, message) {
- iter = list.iterator(party.getList(party_id));
- while(hasNext(iter)) {
- msg.prefix(player.get(next(iter)), $prefix_party, message);
- }
- }
- function party.delete(party_id) {
- party.sendMessage(party_id, "Party disbanded.");
- iter = list.iterator(party.getList(party_id));
- while(hasNext(iter)) {
- player = player.get(next(iter));
- player.delPartyRank(player);
- player.delPartyId(player);
- }
- }
- @deletePartyInvitation
- player_uuid = list.getIndex(deluuid, 0);
- invitations = map.get(party_invitations, player_uuid);
- keytimes = map.get(delkeytimes, player_uuid);
- if(invitations != null) {
- if(list.getSize(invitations) != 0) {
- keytime = list.getIndex(delkeytime, 0);
- keytime2 = list.getIndex(keytimes, 0);
- list.remove(delkeytime, keytime);
- if(keytime == keytime2) {
- index = list.getIndexOf(keytimes, keytime2);
- list.remove(keytimes, keytime2);
- list.removeIndex(invitations, index);
- }
- }
- }
- goto("wait");
- //--------------------------------------------------
- //Plot-Utils
- //--------------------------------------------------
- function plot.registerMoveEvents(world) {
- iter = plot.iterator(world);
- while(hasNext(iter)) {
- plot = next(iter);
- if(plot.isCity(plot) || plot.isPlot(plot)) {
- plot.setMoveEvent(plot, world);
- }
- }
- }
- function plot.delMoveEvent(plot) {
- plot_id = plot.getId(plot);
- for(i = 0; i < list.getSize($plot_move_ids_list); i++) {
- a = list.getIndex($plot_move_ids_list, i);
- if(a[1] == plot_id) {
- event.removeMoveData(a[0]);
- list.removeIndex($plot_move_ids_list, i);
- break;
- }
- }
- }
- function plot.setMoveEvent(plot, world) {
- x1 = plot.getMinX(plot);
- y1 = plot.getMinY(plot);
- z1 = plot.getMinZ(plot);
- x2 = plot.getMaxX(plot);
- y2 = plot.getMaxY(plot);
- z2 = plot.getMaxZ(plot);
- loc1 = loc.new(world, x1, y1, z1);
- loc2 = loc.new(world, x2, y2, z2);
- move_id = event.addMoveData(loc1, loc2, 100, -1);
- plot_id = plot.getId(plot);
- a = array.new(2);
- a[0] = move_id;
- a[1] = plot_id;
- list.add($plot_move_ids_list, a);
- }
- function plot.getPlotIdFromMoveId(move_id) {
- iter = list.iterator($plot_move_ids_list);
- while(hasNext(iter)) {
- a = next(iter);
- if(a[0] == move_id) {
- return a[1];
- }
- }
- return null;
- }
- function plot.getMoveIdFromPlotId(plot_id) {
- iter = list.iterator($plot_move_ids_list);
- while(hasNext(iter)) {
- a = next(iter);
- if(a[1] == plot_id) {
- return a[0];
- }
- }
- return null;
- }
- @checkForPlot
- player_uuid = list.getIndex(check_for_plot_list, 0);
- list.removeIndex(check_for_plot_list, 0);
- player = player.get(player_uuid);
- if(player == null) {
- map.remove(actual_move_id, player_uuid);
- goto("wait");
- }
- player_loc = entity.getLocation(player);
- plot_list = plot.get(player_loc);
- if(list.getSize(plot_list) == 0) {
- map.remove(actual_move_id, player_uuid);
- } else {
- list.add(check_for_plot_list, player_uuid);
- sgoto(100, "checkForPlot");
- }
- goto("wait");
- function tpBottom(player) {
- player_loc = entity.getLocation(player);
- y = loc.getY(player_loc);
- while(block.isAir(player_loc)) {
- loc.setY(player_loc, y);
- y--;
- }
- loc.addY(player_loc, 1);
- entity.teleport(player, player_loc);
- }
- function hawkeye.getStartIndices(string) {
- a = array.new(5);
- a[0] = text.indexOf(string, "e:", 0);
- a[1] = text.indexOf(string, "p:", 0);
- a[2] = text.indexOf(string, "r:", 0);
- a[3] = text.indexOf(string, "t:", 0);
- a[4] = text.length(string);
- a = array.sort(a, true);
- return a;
- }
- function hawkeye.getParStrings(string, indices) {
- index = 0;
- while(indices[index] == -1) {
- index++;
- }
- start_index = indices[index];
- if(start_index != 0) {
- return null;
- }
- l = list.new();
- while(++index < 5) {
- next_index = indices[index];
- if(index == 4) {
- next_index++;
- }
- par_str = text.trim(text.subString(string, start_index, next_index - 1));
- if(text.length(par_str) < 3) {
- return null;
- }
- list.add(l, par_str);
- start_index = next_index;
- }
- return l;
- }
- function hawkeye.processInput(args, player) {
- string = text.concatList(args, " ", 1, list.getSize(args) - 1);
- indices = hawkeye.getStartIndices(string);
- par_strings = hawkeye.getParStrings(string, indices);
- if(par_strings == null) {
- return "False input parameters";
- }
- first_letters = set.new();
- iter = list.iterator(par_strings);
- while(hasNext(iter)) {
- par_str = next(iter);
- first_letter = text.subString(par_str, 0, 1);
- if(set.contains(first_letters, first_letter)) {
- return "Twice input parameters";
- }
- set.add(first_letters, first_letter);
- par_str = text.subString(par_str, 2, text.length(par_str));
- args_par_str = text.split(",", par_str);
-
- if(first_letter == "e") {
- events = list.new();
- iter_args = list.iterator(args_par_str);
- while(hasNext(iter_args)) {
- list.add(events, next(iter_args));
- }
- }
- elseif(first_letter == "p") {
- players = list.new();
- iter_args = list.iterator(args_par_str);
- while(hasNext(iter_args)) {
- list.add(players, next(iter_args));
- }
- }
- elseif(first_letter == "r") {
- if(list.getSize(args_par_str) > 1) {
- return "False input at r:";
- }
- radius = list.getIndex(args_par_str, 0);
- if(!isDouble(radius)) {
- return "False input at r:";
- }
- }
- elseif(first_letter == "t") {
- if(list.getSize(args_par_str) > 3) {
- return "False input at t:";
- }
- if(text.contains(par_str, "d")) {
- d = true;
- } else {
- d = false;
- }
- time_span = 0;
- iter_args = list.iterator(args_par_str);
- while(hasNext(iter_args)) {
- arg = next(iter_args);
- if(text.contains(arg, "m")) {
- minutes = text.convert(text.replace(arg, "m", ""));
- if(!isDouble(minutes)) {
- return "False input at t:";
- }
- time_span += minutes * 60;
- }
- elseif(text.contains(arg, "h")) {
- hours = text.convert(text.replace(arg, "h", ""));
- if(!isDouble(hours)) {
- return "False input at t:";
- }
- time_span += hours * 60 * 60;
- } else {
- if(d) {
- days = arg;
- if(!isDouble(days)) {
- return "False input at t:";
- }
- time_span += days * 24 * 60 * 60;
- } else {
- return "False input at t:";
- }
- }
- }
- timeTo = time.getMillis();
- timeFrom = timeTo - time_span * 1000;
- }
- }
- a = array.new(6);
- a[0] = timeFrom;
- a[1] = timeTo;
- a[2] = entity.getLocation(player);
- a[3] = radius;
- a[4] = events;
- a[5] = players;
- return a;
- }
|