123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698 |
- //Error
- event.load("player_pre_respawn");
- event.load("custom_command");
- event.load("block_place");
- event.load("block_click");
- event.load("block_break");
- event.load("inv_click");
- event.load("player_login");
- event.load("player_move");
- event.load("entity_click");
- event.load("entity_hurt");
- event.load("portal");
- sbworld = world.get("skyblock");
- gamesworld = world.get("games");
- skyblockuserssign = loc.new(gamesworld, -403, 88, 99);
- centerloc = loc.new(sbworld, -15866, 101, -15872);
- serverspawn = read.location(ggv("SERVER", "serverspawn"));
- air_item_type = "minecraft:air";
- airitem = read.item(air_item_type);
- moveidfromworldspawn = event.addMoveData(loc.new(gamesworld, -404, 86, 98), loc.new(gamesworld, -402, 88, 99), 5, -1);
- nextday = time.new(time.getMillis());
- time.nextDay(nextday);
- präfix = "§aSkyBlock";
- list.new(correctPlotId);
- command.add("skyblock");
- command.add("sb");
- if(ggv("SERVER", "sbusers") == null) {
- sgv("SERVER", "sbusers", 0);
- }
- map.new(blockstats);
- map.add(blockstats, "SAPLING", "sbplacedsaplings");
- map.add(blockstats, "COBBLESTONE", "sbbrokencobble");
- map.add(blockstats, "MELON_BLOCK", "sbbrokenmelon");
- map.add(blockstats, "COCOA", "sbbrokencacaobean");
- map.add(blockstats, "CROPS", "sbbrokenwheat");
- map.add(blockstats, "POTATO", "sbbrokenpotato");
- map.add(blockstats, "CARROT", "sbbrokencarrot");
- map.add(blockstats, "NETHER_WARTS", "sbbrokennetherwart");
- map.add(blockstats, "BEETROT_BLOCK", "sbbrokenbeetroot");
- map.new(blockid);
- map.add(blockid, "COCOA", 11);
- map.add(blockid, "CROPS", 7);
- map.add(blockid, "POTATO", 7);
- map.add(blockid, "CARROT", 7);
- map.add(blockid, "NETHER_WARTS", 3);
- map.add(blockid, "BEETROT_BLOCK", 3);
- set.new(gamemasters);
- set.add(gamemasters, "e41b5335-3c74-46e9-a6c5-dafc6334a477"); //marvinius
- //itemstack / index für map dailyquestamount
- map.new(dailyquestitems);
- map.add(dailyquestitems, read.item("{id:'minecraft:cobblestone',Count:1b,Damage:0s}"), 5);
- map.add(dailyquestitems, read.item("{id:'minecraft:cobblestone',Count:1b,Damage:0s}"), 5);
- map.add(dailyquestitems, read.item("{id:'minecraft:wheat',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:gunpowder',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:fish',Count:1b,Damage:0s}"), 1);
- map.add(dailyquestitems, read.item("{id:'minecraft:fish',Count:1b,Damage:1s}"), 1);
- map.add(dailyquestitems, read.item("{id:'minecraft:fish',Count:1b,Damage:2s}"), 1);
- map.add(dailyquestitems, read.item("{id:'minecraft:fish',Count:1b,Damage:3s}"), 1);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_13',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_cat',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_blocks',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_chirp',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_far',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_mall',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_mellohi',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_stal',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_strad',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_ward',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_11',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:record_wait',Count:1b,Damage:0s}"), 0);
- map.add(dailyquestitems, read.item("{id:'minecraft:melon',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:pumpkin',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log',Count:1b,Damage:1s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log',Count:1b,Damage:2s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log',Count:1b,Damage:3s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log2',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:log2',Count:1b,Damage:1s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:dye',Count:1b,Damage:3s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:potato',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:carrot',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:string',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:rotten_flesh',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:ender_pearl',Count:1b,Damage:0s}"), 1);
- map.add(dailyquestitems, read.item("{id:'minecraft:bone',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:reeds',Count:1b,Damage:0s}"), 4);
- map.add(dailyquestitems, read.item("{id:'minecraft:leather',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:cactus',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:0s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:1s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:2s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:3s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:4s}"), 3);
- map.add(dailyquestitems, read.item("{id:'minecraft:sapling',Count:1b,Damage:5s}"), 3);
- list.new(dailyquestamount);
- list.add(dailyquestamount, "1_3");
- list.add(dailyquestamount, "3_8");
- list.add(dailyquestamount, "8_16");
- list.add(dailyquestamount, "16_32");
- list.add(dailyquestamount, "32_64");
- list.add(dailyquestamount, "64_128");
- tempsize = map.getSize(dailyquestitems) - 1;
- index1 = math.random(0, tempsize);
- index2 = math.random(0, tempsize);
- index3 = math.random(0, tempsize);
- table.fromMap(dailyquestitemstable, dailyquestitems);
- item1 = table.get(dailyquestitemstable, index1, 0);
- item2 = table.get(dailyquestitemstable, index2, 0);
- item3 = table.get(dailyquestitemstable, index3, 0);
- amount1 = setamount(index1, dailyquestitemstable, dailyquestamount);
- amount2 = setamount(index2, dailyquestitemstable, dailyquestamount);
- amount3 = setamount(index3, dailyquestitemstable, dailyquestamount);
- function setamount(index, table, list) {
- split(splitlist, "_", list.getIndex(list, table.get(table, index, 1)));
- return math.random(list.getIndex(splitlist, 0), list.getIndex(splitlist, 1));
- }
- if(ggv("SERVER", "sbdailyquest1") == null) {
- item.setAmount(item1, amount1);
- item.setAmount(item2, amount2);
- item.setAmount(item3, amount3);
- sgv("SERVER", "sbdailyquest1", text.item(item1));
- sgv("SERVER", "sbdailyquest2", text.item(item2));
- sgv("SERVER", "sbdailyquest3", text.item(item3));
- }
- inv.newdynamic(dailyquestmenu, "222222222", "Daily Quest");
- inv.setItem(dailyquestmenu, 0, read.item(ggv("SERVER", "sbdailyquest1")));
- inv.setItem(dailyquestmenu, 1, read.item(ggv("SERVER", "sbdailyquest2")));
- inv.setItem(dailyquestmenu, 2, read.item(ggv("SERVER", "sbdailyquest3")));
- inv.setItem(dailyquestmenu, 8, read.item("{id:'minecraft:gold_ingot',Count:1b,tag:{display:{Name:'§rBelohnung: §620 SkyCoins'}},Damage:0s}"));
- inv.newdynamic(buyquestslotmenu, "221111112", "Freischalten? 500 SkyCoins");
- inv.setItem(buyquestslotmenu, 0, read.item("{id:'minecraft:wool',Count:1b,tag:{display:{Name:'§aJa'}},Damage:13s}"));
- inv.setItem(buyquestslotmenu, 1, read.item("{id:'minecraft:wool',Count:1b,tag:{display:{Name:'§cNein'}},Damage:14s}"));
- inv.setItem(buyquestslotmenu, 8, read.item("{id:'minecraft:wooden_door',Count:1b,tag:{display:{Name:'§rZurück'}},Damage:0s}"));
- players.toWorldList(world, sbworld);
- for(i = 0; i <= list.getSize(world) - 1; i++) {
- player = list.getIndex(world, i);
- player_name = player.getName(player);
- //Spieler noch nicht initialisiert (Neuer Spieler, der in die Welt geht, bevor Gildenpvp-Script gestartet ist)
- if(!isSbPlayer(player.getUuid(player))) {
- gosub("newplayer");
- }
- }
- msg("dev", "§bSkyBlock §rwurde geladen.");
- @wait
- wait();
- player_loc = entity.getLocation(player);
- if(event == "block_click") {
- if(block_loc == skyblockuserssign) {
- visiters = ggv("SERVER", "sbusers");
- block.setSign(skyblockuserssign, 2, concat(text.number(visiters), " Besucher"));
- yettime = time.new(time.getMillis());
- day = text.number(time.getDay(yettime));
- month = text.number(time.getMonth(yettime));
- year = text.number(time.getYear(yettime));
- block.setSign(skyblockuserssign, 3, concat("Stand: ", day, ".", month, ".", year));
- }
- goto("wait");
- }
- if(event == "player_move") {
- if(id == moveidfromworldspawn) {
- if(!isSbPlayer(player.getUuid(player))) {
- gosub("newplayer");
- } else {
- player_uuid = player.getUuid(player);
- lastpos = gdmap.get("skyblock", player_uuid, "lastpos");
- entity.teleport(player, read.location(lastpos));
- }
- }
- goto("wait");
- }
- if(event == "portal") {
- if(from == "skyblock") {
- x = loc.getX(player_loc);
- y = loc.getY(player_loc);
- z = loc.getZ(player_loc);
- lastpos = loc.new(sbworld, x, y, z);
- gdmap.add("skyblock", player.getUuid(player), "lastpos", text.location(lastpos));
- goto("wait");
- }
- if(to == "skyblock") {
- goto("player_login");
- }
- goto("wait");
- }
- if(loc.getWorld(player_loc) == sbworld) {
- ignoreGoto(event);
- }
- goto("wait");
- @player_login
- //auch der portal-Event leitet mit 'to' hier her
- if(!isSbPlayer(player.getUuid(player))) {
- gosub("newplayer");
- }
- goto("wait");
- @newplayer
- //Neue Insel erstellen
- for(sbz = -14999; sbz <= 15501; sbz += 250) {
- for(sbx = -14999; sbx <= 15501; sbx += 250) {
- plotids = plot.getIds(loc.new(sbworld, sbx, 0, sbz));
- if(list.getSize(plotids) == 0) {
- gs1 = loc.new(sbworld, sbx, 0, sbz);
- gs2 = loc.new(sbworld, sbx + 199, 255, sbz + 199);
- plot = addPlot(gs1, gs2);
- setPlotName(plot, player_name);
- addPlotPlayer(plot, player_name);
- player_uuid = player.getUuid(player);
- sgv("SERVER", "sbusers", ggv("SERVER", "sbusers") + 1);
- startloc1 = loc.mod(gs1, 95, 98, 95);
- startloc2 = loc.new(sbworld, -15505, 101, -15505);
- for(x = 0; x < 13; x++) {
- for(y = 0; y < 19; y++) {
- for(z = 0; z < 13; z++) {
- relloc1 = loc.mod(startloc1, x, y, z);
- relloc2 = loc.mod(startloc2, x, y, z);
- block.clone(relloc2, relloc1);
- }
- }
- }
- chestloc = loc.mod(gs1, 99, 108, 101);
- block.set(loc.mod(gs1, 99, 109, 101), "minecraft:wall_torch[facing=east]");
- homeloc = loc.mod(gs1, 99.5, 108, 103.5, 180, 0.001);
- entity.teleport(player, homeloc);
- gdmap.add("skyblock", player_uuid, "home", text.location(homeloc));
- gdmap.add("skyblock", player_uuid, "lastpos", text.location(homeloc));
- gdmap.add("money", player_uuid, "skycoins", 100);
-
- list.add(correctPlotId, player_uuid);
- sgoto(10, "actualizePlotId");
- return;
- }
- }
- }
- player.speak(player, präfix, "§rDie ganze Welt ist mit Grundstücken besetzt; marvinius wurde informiert per Mail");
- mail.send(player_name, "marvinius", "SkyBlock Welt mit Inseln voll");
- return;
- @actualizePlotId
- player_uuid = list.getIndex(correctPlotId, 0);
- list.removeIndex(correctPlotId, 0);
- //Plot-ID vom Namen abrufen
- getCorrectPlotIdStatement = databank.prepare("SELECT id FROM plots WHERE world_name = skyblock AND name = ?");
- player_name = player.getName(player_uuid);
- databank.setString(getCorrectPlotIdStatement, 1, player_name);
- result = databank.execute(getCorrectPlotIdStatement);
- while(databank.next(result)) {
- plot_id = databank.getInt(result, 1);
- }
- databank.close(result);
- databank.close(getCorrectPlotIdStatement);
- //Korrekte Plot-ID setzen
- setSbPlotId(player_uuid, plot_id);
- goto("wait");
- @player_pre_respawn
- player.setSpawn(player, read.location(getHomelocString(player)));
- entity.addEffect(player, "slowness", 1200, 2);
- entity.addEffect(player, "nausea", 100, 0);
- entity.addEffect(player, "mining_fatigue", 1200, 0);
- goto("wait");
- @custom_command
- if(command == "skyblock" || command == "sb") {
- size = list.getSize(args);
- if(size == 0) {
- player.speak(player, präfix, "/skyblock ...");
- msg(player, "§a - home §rTeleportiert dich zu deiner Insel");
- msg(player, "§a - sethome §rSetzt deinen Spawn für die Insel neu");
- msg(player, "§a - center §rTeleportiert zum Zenturm");
- msg(player, "§a - leave §rVerlässt die SkyBlock Welt");
- msg(player, "§a - money §rGibt dir deinen Kontostand aus");
- msg(player, "§a - transfer <player> <money> §rSendet einem Spieler Geld");
- msg(player, "§a - share <player> §rFügt einen Spieler zu deinem Grundstück hinzu");
- msg(player, "§a - kick <player> §rEntfernt einen Spieler von deinem Grundstück");
- msg(player, "§a - name <name> §rBenennt dein Grundstück um");
- msg(player, "§a - tp <player> Teleportiert dich zur Insel eines Spielers");
- if(perm.has(player, "isSnuviMaster")) {
- msg(player, "§a - resetplayer <player> §rLöscht einen Spieler komplett aus SkyBlock");
- msg(player, "§a - resetall §rLöscht alle SkyBlock-Datenbankeinträge");
- }
- goto("wait");
- }
- arg0 = list.getIndex(args, 0);
- if(arg0 == "home") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock home");
- } else {
- if(playerInAir(player)) {
- player.speak(player, präfix, "§rTeleport nicht möglich");
- goto("wait");
- }
- entity.teleport(player, read.location(getHomelocString(player)));
- }
- goto("wait");
- }
- if(arg0 == "sethome") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock sethome");
- } else {
- if(playerInAir(player)) {
- player.speak(player, präfix, "§rDiese Aktion ist hier nicht möglich");
- goto("wait");
- }
- plotid = getPlotId(player_loc);
- player_uuid = player.getUuid(player);
- plot_id2 = getSbPlotId(player_uuid);
- if(plotid != plot_id2) {
- player.speak(player, präfix, "§rDu befindest dich nicht auf deinem Grundstück");
- goto("wait");
- }
- gdmap.add("skyblock", player_uuid, "home", text.location(player_loc));
- player.speak(player, präfix, "§rDein Spawnpunkt wurde neu gesetzt");
- }
- goto("wait");
- }
- if(arg0 == "center") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock center");
- } else {
- if(playerInAir(player)) {
- player.speak(player, präfix, "§rTeleport nicht möglich");
- goto("wait");
- }
- entity.teleport(player, centerloc);
- }
- goto("wait");
- }
- if(arg0 == "leave") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock leave");
- } else {
- if(playerInAir(player)) {
- player.speak(player, präfix, "§rTeleport nicht möglich");
- goto("wait");
- }
- entity.teleport(player, serverspawn);
- gdmap.add("skyblock", player.getUuid(player), "lastpos", text.location(player_loc));
- }
- goto("wait");
- }
- if(arg0 == "money") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock money");
- } else {
- player.speak(player, präfix, concat("§rDeine SkyCoins: §e", gdmap.get("money", player.getUuid(player), "skycoins")));
- }
- goto("wait");
- }
- if(arg0 == "transfer") {
- if(size != 3) {
- player.speak(player, präfix, "§a/skyblock transfer <player> <money>");
- } else {
- pname = list.getIndex(args, 0);
- money = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- player.speak(player, präfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- puuid = player.getUuid(pname);
- if(text.class(money) != "Double" || money < 1) {
- player.speak(player, präfix, "§rZahl größer 0 erwartet");
- }
- playermoney = gdmap.get("money", puuid, "skycoins");
- if(playermoney < money) {
- player.speak(player, präfix, "§rDu hast nicht genug SkyCoins");
- goto("wait");
- }
- addCoins(player, money);
- subCoins(player, money);
- player.speak(player, präfix, concat("§rDu hast §7", pname, " §6", money, " SkyCoins §rüberwiesen"));
- }
- goto("wait");
- }
- if(arg0 == "share") {
- if(size != 2) {
- player.speak(player, präfix, "§a/skyblock share <player>");
- } else {
- pname = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- player.speak(player, präfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- plot_id = getSbPlotId(player_uuid);
- //Error
- addPlotPlayer(plot, pname);
- player.speak(player, präfix, concat("§7", pname, " §rhinzugefügt"));
- }
- goto("wait");
- }
- if(arg0 == "kick") {
- if(size != 2) {
- player.speak(player, präfix, "§a/skyblock kick <player>");
- } else {
- pname = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- player.speak(player, präfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- player_uuid = player.getUuid(player);
- plot_id = getSbPlotId(player_uuid);
- p_id = player.getId(player.getUuid(pname));
- removePlotPlayer(plot_id, pname);
- player.speak(player, präfix, concat("§7", pname, " §rentfernt"));
- }
- goto("wait");
- }
- if(arg0 == "name") {
- if(size != 2) {
- player.speak(player, präfix, "§a/skyblock name <name>");
- } else {
- name = list.getIndex(args, 1);
- player_uuid = player.getUuid(player);
- plot_id = getSbPlotId(player_uuid);
- setPlotName(plot_id, name);
- player.speak(player, präfix, concat("§rZu §7", name, " §rumbenannt"));
- }
- goto("wait");
- }
- if(arg0 == "tp") {
- if(size != 2) {
- player.speak(player, präfix, "§a/skyblock tp <player>");
- } else {
- pname = list.getIndex(args, 1);
- puuid = player.getUuid(pname);
- plot_id = getSbPlotId(puuid);
- if(plot_id == null) {
- player.speak(player, präfix, "§rDieser Spieler beitzt keine Insel");
- goto("wait");
- }
- player.speak(player, präfix, concat("§rNächster Halt: §7", pname));
- entity.teleport(player, read.location(getHomelocString(pname)));
- }
- goto("wait");
- }
- if(arg0 == "resetall") {
- if(size != 1) {
- player.speak(player, präfix, "§a/skyblock resetall");
- } else {
- if(perm.has(player, "isSnuviMaster")) {
- gdmap.removeAll("skyblock");
- gmap.removeAll("dailyreward");
- gmap.removeAll("dailyquest");
- sgv("SERVER", "sbusers", 0);
- player.speak(player, präfix, "Alles resettet");
- }
- }
- goto("wait");
- }
- if(arg0 == "resetplayer") {
- if(size != 2) {
- player.speak(player, präfix, "§a/skyblock resetplayer <player>");
- } else {
- if(perm.has(player, "isSnuviMaster")) {
- pname = list.getIndex(args, 1);
- if(!checkIfEverOnline(pname)) {
- player.speak(player, präfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- uuid = player.getUuid(pname);
- if(!isSbPlayer(uuid)) {
- player.speak(player, präfix, "Spieler nicht gefunden");
- goto("wait");
- }
- player.speak(player, präfix, "Work in progress");
- homeloc = gdmap.get("skyblock", uuid, "home");
- plot_id = getSbPlotId(uuid);
- removePlot(plot_id);
- p = read.player(pname);
- if(p != null) {
- if(loc.getWorld(entity.getLocation(p)) == sbworld) {
- entity.teleport(p, serverspawn);
- }
- }
- gdmap.remove("money", uuid, "skycoins");
- gdmap.remove("skyblock", uuid, "home");
- gdmap.remove("skyblock", uuid, "plotid");
- gdmap.remove("skyblock", uuid, "lastpos");
- sgv("SERVER", "sbusers", ggv("SERVER", "sbusers") - 1);
- msg(player, präfix, "Manuell mit Worldedit entfernen: ", homeloc);
- player.speak(player, präfix, "§rErfolgreich zurückgesetzt");
- }
- }
- goto("wait");
- }
- }
- goto("wait");
- @entity_click
- @entity_hurt
- if(entity.getName(entity) == "Daily Reward") {
- gosub("checkfornextday");
- if(gmap.get("dailyreward", player.getUuid(player_name)) != null) {
- player.speak(player, präfix, "§rDu hast deine tägliche Belohnung heute bereits abgeholt");
- goto("wait");
- }
- gmap.add("dailyreward", player.getUuid(player_name), time.getMillis());
- player.speak(player, präfix, "§rHier hast du deine tägliche Belohnung: ", concat("§6+", 5, " SkyCoins"));
- addCoins(player, 5);
- goto("wait");
- }
- if(entity.getName(entity) == "Daily Quest") {
- gosub("checkfornextday");
- inv.open(dailyquestmenu, player);
- goto("wait");
- }
- goto("wait");
- @inv_click
- cancel = true;
- uuid = player.getUuid(player_name);
- if(inv_id == 0) {
- cancel = true;
- }
- if(inv_id == 1) {
- cancel = true;
- if(inv_slot == 8) {
- goto("wait");
- }
- if(inv_slot > 0) {
- if(inv.getItem(dailyquestmenu, inv_slot) == null) {
- goto("wait");
- }
- if(inv_slot == 8) {
- goto("wait");
- }
- if(ggv(player, "dqskill") == null) {
- sgv(player, "dqskill", 0);
- }
- if(ggv(player, "dqskill") < inv_slot) {
- inv.open(buyquestslotmenu, player);
- goto("wait");
- }
- }
- itemstack = inv.getItem(dailyquestmenu, inv_slot);
- if(gmap.get("dailyquest", concat(uuid, inv_slot)) != null) {
- player.speak(player, "§6DailyReward", "§rDu hast diese tägliche Quest bereits erfüllt");
- goto("wait");
- }
- if(player.getItemAmount(player, false, itemstack) < item.getAmount(itemstack)) {
- goto("notenoughitems");
- }
- player.removeItem(player, itemstack);
- gmap.add("dailyquest", concat(uuid, inv_slot), time.getMillis());
- reward = 20;
- player.speak(player, "§6DailyQuest", "§rHier hast du deine tägliche Belohnung: ", concat("§6+", reward, " SkyCoins"));
- gdmap.add("money", uuid, "skycoins", gdmap.get("money", uuid, "skycoins") + reward);
- goto("wait");
- }
- if(inv_id == 2) {
- if(inv_slot == 0) {
- cancel = true;
- playermoney = gdmap.get("money", player.getUuid(player), "skycoins");
- if(playermoney < 500) {
- player.speak(player, präfix, "§rDu hast nicht genug SkyCoins");
- goto("wait");
- }
- subcoins(player, playermoney - 500);
- sgv(player, "dqskill", ggv(player, "dqskill") + 1);
- player.speak(player, präfix, "§rDu hast um 500 SkyCoins eine weitere tägliche Quest freigeschaltet");
- inv.open(dailyquestmenu, player);
- goto("wait");
- }
- if(inv_slot == 1 || inv_slot == 8) {
- cancel = true;
- inv.open(dailyquestmenu, player);
- }
- goto("wait");
- }
- goto("wait");
- @newrandomquests
- tempsize = map.getSize(dailyquestitems) - 1;
- index1 = math.random(0, tempsize);
- index2 = math.random(0, tempsize);
- index3 = math.random(0, tempsize);
- table.frommap(dailyquestitemstable, dailyquestitems);
- item1 = table.get(dailyquestitemstable, index1, 0);
- item2 = table.get(dailyquestitemstable, index2, 0);
- item3 = table.get(dailyquestitemstable, index3, 0);
- amount1 = setamount(index1, dailyquestitemstable, dailyquestamount);
- amount2 = setamount(index2, dailyquestitemstable, dailyquestamount);
- amount3 = setamount(index3, dailyquestitemstable, dailyquestamount);
- item.setAmount(item1, amount1);
- item.setAmount(item2, amount2);
- item.setAmount(item3, amount3);
- sgv("SERVER", "sbdailyquest1", text.item(item1));
- sgv("SERVER", "sbdailyquest2", text.item(item2));
- sgv("SERVER", "sbdailyquest3", text.item(item3));
- inv.setItem(dailyquestmenu, 0, read.item(ggv("SERVER", "sbdailyquest1")));
- inv.setItem(dailyquestmenu, 1, read.item(ggv("SERVER", "sbdailyquest2")));
- inv.setItem(dailyquestmenu, 2, read.item(ggv("SERVER", "sbdailyquest3")));
- inv.setItem(dailyquestmenu, 8, read.item("{id:'minecraft:gold_ingot',Count:1b,tag:{display:{Name:'§rBelohnung: §620 SkyCoins'}},Damage:0s}"));
- return;
- @checkfornextday
- if(time.getMillis() > time.from(nextday)) {
- time.new(nextday, time.getMillis());
- time.nextDay(nextday);
- gmap.removeAll("dailyreward");
- gmap.removeAll("dailyquest");
- gosub("newrandomquests");
- }
- return;
- @block_place
- @block_break
- if(!isgamemaster(player)) {
- plotid = plotidfromloc(block_loc);
- if(plotid == null) {
- cancel = true;
- goto("wait");
- }
- }
- goto("wait");
- function plotidfromloc(location) {
- plot.getIds(plotset, location);
- if(set.getSize(plotset) > 0) {
- set.toList(plotlist, plotset);
- plotid = list.getIndex(plotlist, 0);
- return plotid;
- }
- return null;
- }
- return;
- function checkifeveronline(pname) {
- if(player.getUuid(pname) == null) {
- return false;
- }
- return true;
- }
- function playerinair() {
- modded_player_loc = loc.mod($player_loc, 0, -1, 0);
- if(block.getType(modded_player_loc) == $airitemstring) {
- return true;
- }
- return false;
- }
- function isgamemaster(player) {
- if(set.contains($gamemasters, player.getUuid(player))) {
- return true;
- }
- return false;
- }
- function addcoins(player, money) {
- uuid = player.getUuid(player);
- gdmap.add("money", uuid, "skycoins", gdmap.get("money", uuid, "skycoins") + money);
- return;
- }
- function subcoins(player, money) {
- uuid = player.getUuid(player);
- gdmap.add("money", uuid, "skycoins", gdmap.get("money", uuid, "skycoins") - money);
- return;
- }
- function gethomelocstring(player) {
- homeloc = gdmap.get("skyblock", player.getUuid(player), "home");
- if(homeloc == null) {
- return null;
- }
- return homeloc;
- }
- function issbplayer(uuid) {
- homeloc = gdmap.get("skyblock", uuid, "home");
- if(homeloc != null) {
- return true;
- }
- return false;
- }
|