|
@@ -0,0 +1,238 @@
|
|
|
+event.load("quest_start");
|
|
|
+event.load("quest_term");
|
|
|
+event.load("block_click");
|
|
|
+event.load("block_break");
|
|
|
+event.load("entity_click");
|
|
|
+
|
|
|
+stage = 0;
|
|
|
+all_stages = 9;
|
|
|
+quest_name = "Kräutermeister";
|
|
|
+
|
|
|
+brown_mushroom = 0;
|
|
|
+red_mushroom = 0;
|
|
|
+nether_wart = 0;
|
|
|
+twisting_vines = 0;
|
|
|
+warped_fungus = 0;
|
|
|
+crimson_fungus = 0;
|
|
|
+warped_roots = 0;
|
|
|
+crimson_roots = 0;
|
|
|
+
|
|
|
+brown_mushroom_given = 0;
|
|
|
+red_mushroom_given = 0;
|
|
|
+nether_wart_given = 0;
|
|
|
+twisting_vines_given = 0;
|
|
|
+warped_fungus_given = 0;
|
|
|
+crimson_fungus_given = 0;
|
|
|
+warped_roots_given = 0;
|
|
|
+crimson_roots_given = 0;
|
|
|
+
|
|
|
+@wait
|
|
|
+wait();
|
|
|
+if(event == "living_death") {
|
|
|
+ player = player.getFromDamageSource(damage_source);
|
|
|
+ if(player == null) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+}
|
|
|
+if(!player.isQuester(player, script)) {
|
|
|
+ goto("wait");
|
|
|
+}
|
|
|
+if(event == "quest_term") {
|
|
|
+ //Hier Code einfügen...
|
|
|
+ wait(); //Script wird von außen terminiert
|
|
|
+}
|
|
|
+if(event == "quest_start") {
|
|
|
+ quest.display(player, quest_name, stage, all_stages);
|
|
|
+ msg.prefix(player, "§dKunibert", "Du kommst zum richtigen Zeitpunkt. Ich habe gehört, du suchst Tätigkeiten.");
|
|
|
+ scheduler.msgPrefix(30, player, "§dKunibert", "Im Sumpf nebenan gibt es einiges zu pflücken.");
|
|
|
+ scheduler.msgPrefix(60, player, "§dKunibert", "Hier meine Zutatenliste für mein geheimes Heilmittel.");
|
|
|
+ scheduler.msgPrefix(150, player, "§dKunibert", "Aber pssst, niemand darf von meiner Kunst der Heilkunde erfahren, sonst werde ich verfolgt. Ich vertrau dir.");
|
|
|
+ player.giveSingleItem(player, read.item("minecraft:shears"), false);
|
|
|
+ ingredients = read.item("minecraft:paper");
|
|
|
+ item.setName(ingredients, "Zutaten für Kunibert");
|
|
|
+ item.addLore(ingredients, 0, "5 braune Pilze");
|
|
|
+ item.addLore(ingredients, 1, "5 rote Pilze");
|
|
|
+ item.addLore(ingredients, 2, "10 Netherwarzen");
|
|
|
+ item.addLore(ingredients, 3, "2 Karmesinwurzeln");
|
|
|
+ item.addLore(ingredients, 4, "1 Wirrpilz");
|
|
|
+ item.addLore(ingredients, 5, "2 Wirrwurzeln");
|
|
|
+ item.addLore(ingredients, 6, "2 Wirbelranken");
|
|
|
+ item.addLore(ingredients, 7, "1 Karmesinpilz");
|
|
|
+ player.giveSingleItem(player, ingredients, true);
|
|
|
+ goto("wait");
|
|
|
+}
|
|
|
+if(event == "block_break") {
|
|
|
+ if(block_type == "minecraft:brown_mushroom") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ brown_mushroom++;
|
|
|
+ if(brown_mushroom == 5) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:red_mushroom") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ red_mushroom++;
|
|
|
+ if(red_mushroom == 5) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:nether_wart") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ nether_wart++;
|
|
|
+ if(nether_wart == 10) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:crimson_roots") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ crimson_roots++;
|
|
|
+ if(crimson_roots == 2) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:crimson_fungus") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ crimson_fungus++;
|
|
|
+ if(crimson_fungus == 1) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:warped_roots") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ warped_roots++;
|
|
|
+ if(warped_roots == 2) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:warped_fungus") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ warped_fungus++;
|
|
|
+ if(warped_fungus == 1) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(block_type == "minecraft:twisting_vines") {
|
|
|
+ item = entity.getEquip(player, "hand");
|
|
|
+ item_type = item.getType(item);
|
|
|
+ if(item_type == "minecraft:shears") {
|
|
|
+ cancel = false;
|
|
|
+ scheduler.setBlock(5, block_loc, block_type, false);
|
|
|
+ twisting_vines++;
|
|
|
+ if(twisting_vines == 3) {
|
|
|
+ stage.increase(player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+if(stage == 8) {
|
|
|
+ goto("stage8");
|
|
|
+}
|
|
|
+goto("wait");
|
|
|
+
|
|
|
+@stage8
|
|
|
+if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
|
|
|
+ entity_name = entity.getName(entity);
|
|
|
+ if(entity_name == "Kunibert") {
|
|
|
+ item = entity.getEquip(player, "hand");
|
|
|
+ item_type = item.getType(item);
|
|
|
+ if(item_type == "minecraft:air") {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:brown_mushroom") {
|
|
|
+ if(brown_mushroom_given >= 5) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ brown_mushroom_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(brown_mushroom_given == 5) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die braunen Pilze.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:red_mushroom") {
|
|
|
+ if(red_mushroom_given >= 5) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ red_mushroom_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(red_mushroom_given == 5) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die roten Pilze.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:nether_wart") {
|
|
|
+ if(nether_wart_given >= 10) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ nether_wart_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(nether_wart_given == 10) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die Netherwarzen.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:crimson_roots") {
|
|
|
+ if(crimson_roots_given >= 2) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ crimson_roots_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(crimson_roots_given == 2) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die Karmesinwurzeln.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:crimson_fungus") {
|
|
|
+ if(crimson_fungus_given >= 1) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ crimson_fungus_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(crimson_fungus_given == 1) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für den Karmesinpilz.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:warped_roots") {
|
|
|
+ if(warped_roots_given >= 2) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ warped_roots_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(warped_roots_given == 2) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die Wirrwurzeln.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:warped_fungus") {
|
|
|
+ if(warped_fungus_given >= 1) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ warped_fungus_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(warped_fungus_given == 1) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für den Wirrpilz.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elseif(item_type == "minecraft:twisting_vines") {
|
|
|
+ if(twisting_vines_given >= 3) {
|
|
|
+ goto("wait");
|
|
|
+ }
|
|
|
+ twisting_vines_given++;
|
|
|
+ player.removeItem(player, read.item(item_type));
|
|
|
+ if(twisting_vines_given == 3) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Danke für die Zwirbelranken.");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg.prefix(player, "§dKunibert", "Das kann ich nicht gebrauchen.");
|
|
|
+ }
|
|
|
+ if(brown_mushroom_given >= 5 && red_mushroom_given >= 5 && nether_wart_given >= 10 && crimson_roots_given >= 2 && crimson_fungus_given >= 1 && warped_roots_given >= 2 && warped_fungus_given >= 1 && twisting_vines_given >= 3) {
|
|
|
+ msg.prefix(player, "§dKunibert", "Damit kann ich einiges anstellen. Vielen Dank!");
|
|
|
+ addMoney(player, 12);
|
|
|
+ msg(player, "§dQuest abgeschlossen. Belohnung: 12 Snuvis!");
|
|
|
+ quest.finish(script, player);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+goto("wait");
|