//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 §rSendet einem Spieler Geld"); msg(player, "§a - share §rFügt einen Spieler zu deinem Grundstück hinzu"); msg(player, "§a - kick §rEntfernt einen Spieler von deinem Grundstück"); msg(player, "§a - name §rBenennt dein Grundstück um"); msg(player, "§a - tp Teleportiert dich zur Insel eines Spielers"); if(perm.has(player, "isSnuviMaster")) { msg(player, "§a - resetplayer §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 "); } 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 "); } 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 "); } 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 "); } 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 "); } 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 "); } 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; }