123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497 |
- stock = config.new("scripts/configs", "market_prices");
- config.load(stock);
- mainHand = read.slot("HAND");
- openMarkets = set.new();
- resetTime = 6 * 60 * 60 * 20;
- // Miner
- miner = inv.new("222222222222222222", text.new("Miner"));
- inv.setItem(miner, 0, newItem(material.get("DIAMOND")));
- inv.setItem(miner, 1, newItem(material.get("IRON_INGOT")));
- inv.setItem(miner, 2, newItem(material.get("GOLD_INGOT")));
- inv.setItem(miner, 3, newItem(material.get("COPPER_INGOT")));
- inv.setItem(miner, 4, newItem(material.get("NETHERITE_INGOT")));
- inv.setItem(miner, 5, newItem(material.get("LAPIS_LAZULI")));
- inv.setItem(miner, 6, newItem(material.get("REDSTONE")));
- inv.setItem(miner, 7, newItem(material.get("FLINT")));
- inv.setItem(miner, 8, newItem(material.get("EMERALD")));
- inv.setItem(miner, 9, newItem(material.get("QUARTZ")));
- inv.setItem(miner, 10, newItem(material.get("COAL")));
- inv.setItem(miner, 11, newItem(material.get("AMETHYST_SHARD")));
- set.add(openMarkets, inv.getId(miner));
- // Farmer
- farmer = inv.new("222222222", text.new("Farmer"));
- inv.setItem(farmer, 0, newItem(material.get("WHEAT")));
- inv.setItem(farmer, 1, newItem(material.get("CARROT")));
- inv.setItem(farmer, 2, newItem(material.get("POTATO")));
- inv.setItem(farmer, 3, newItem(material.get("BEETROOT")));
- inv.setItem(farmer, 4, newItem(material.get("MELON")));
- inv.setItem(farmer, 5, newItem(material.get("PUMPKIN")));
- set.add(openMarkets, inv.getId(farmer));
- // Fisher
- fisher = inv.new("222222222", text.new("Fisher"));
- inv.setItem(fisher, 0, newItem(material.get("COD")));
- inv.setItem(fisher, 1, newItem(material.get("SALMON")));
- inv.setItem(fisher, 2, newItem(material.get("TROPICAL_FISH")));
- inv.setItem(fisher, 3, newItem(material.get("PUFFERFISH")));
- set.add(openMarkets, inv.getId(fisher));
- // Baker
- baker = inv.new("222222222", text.new("Baker"));
- inv.setItem(baker, 0, newItem(material.get("BREAD")));
- inv.setItem(baker, 1, newItem(material.get("CAKE")));
- inv.setItem(baker, 2, newItem(material.get("COOKIE")));
- mentos = item.new(material.get("COOKIE"));
- item.setName(mentos, text.new("§dMentos"));
- inv.setItem(baker, 3, newSellItem(mentos, 1, 32));
- set.add(openMarkets, inv.getId(baker));
- // Tavern
- tavern = inv.new("222222222", text.new("Tavern"));
- beer = read.item("{Count:1b,id:'minecraft:potion',tag:{Potion:'minecraft:strong_strength'}}");
- item.addPotion(beer, "nausea", 400, 0);
- item.setName(beer, text.new("§fBeer"));
- item.addFlag(beer, "HIDE_POTION_EFFECTS");
- inv.setItem(tavern, 0, newSellItem(beer, 1, 20));
- sturm = read.item("{Count:1b,id:'minecraft:potion',tag:{Potion:'minecraft:water'}}");
- item.addPotion(sturm, "haste", 20 * 2 * 60, 2);
- item.addPotion(sturm, "nausea", 400, 0);
- item.setName(sturm, text.new("§fSturm"));
- item.addFlag(sturm, "HIDE_POTION_EFFECTS");
- inv.setItem(tavern, 1, newSellItem(sturm, 1, 64));
- red_bull = read.item("{Count:1b,id:'minecraft:potion',tag:{Potion:'minecraft:water'}}");
- item.addPotion(red_bull, "levitation", 600, 0);
- item.setName(red_bull, text.new("§fRed Bell"));
- item.addFlag(red_bull, "HIDE_POTION_EFFECTS");
- inv.setItem(tavern, 2, newSellItem(red_bull, 1, 20));
- set.add(openMarkets, inv.getId(tavern));
- // Priest
- priest = inv.new("222222222", text.new("Priest"));
- inv.setItem(priest, 0, newItem(material.get("BONE")));
- inv.setItem(priest, 1, newItem(material.get("ROTTEN_FLESH")));
- inv.setItem(priest, 2, newItem(material.get("SLIME_BALL")));
- inv.setItem(priest, 3, newItem(material.get("SPIDER_EYE")));
- inv.setItem(priest, 4, newItem(material.get("PHANTOM_MEMBRANE")));
- inv.setItem(priest, 5, newItem(material.get("ENDER_PEARL")));
- inv.setItem(priest, 6, newItem(material.get("STRING")));
- inv.setItem(priest, 7, newItem(material.get("GUNPOWDER")));
- set.add(openMarkets, inv.getId(priest));
- // Mason
- mason = inv.new("222222222222222222", text.new("Mason"));
- inv.setItem(mason, 0, newItem(material.get("COBBLESTONE")));
- inv.setItem(mason, 1, newItem(material.get("STONE")));
- inv.setItem(mason, 2, newItem(material.get("GRANITE")));
- inv.setItem(mason, 3, newItem(material.get("POLISHED_GRANITE")));
- inv.setItem(mason, 4, newItem(material.get("DIORITE")));
- inv.setItem(mason, 5, newItem(material.get("POLISHED_DIORITE")));
- inv.setItem(mason, 6, newItem(material.get("ANDESITE")));
- inv.setItem(mason, 7, newItem(material.get("POLISHED_ANDESITE")));
- inv.setItem(mason, 8, newItem(material.get("DEEPSLATE")));
- inv.setItem(mason, 9, newItem(material.get("COBBLED_DEEPSLATE")));
- inv.setItem(mason, 10, newItem(material.get("POLISHED_DEEPSLATE")));
- inv.setItem(mason, 11, newItem(material.get("CALCITE")));
- inv.setItem(mason, 12, newItem(material.get("TUFF")));
- inv.setItem(mason, 13, newItem(material.get("DRIPSTONE_BLOCK")));
- inv.setItem(mason, 14, newItem(material.get("GRAVEL")));
- inv.setItem(mason, 15, newItem(material.get("AMETHYST_BLOCK")));
- set.add(openMarkets, inv.getId(mason));
- // Mage
- mage = inv.new("222222222", text.new("Mage"));
- inv.setItem(mage, 0, newSellItem(item.new(material.get("WITHER_SKELETON_SPAWN_EGG")), 1, 512));
- inv.setItem(mage, 1, newSellItem(item.new(material.get("ENDERMITE_SPAWN_EGG")), 1, 64));
- inv.setItem(mage, 2, newSellItem(item.new(material.get("ELDER_GUARDIAN_SPAWN_EGG")), 1, 2048));
- inv.setItem(mage, 3, newSellItem(item.new(material.get("WITCH_SPAWN_EGG")), 1, 96));
- inv.setItem(mage, 4, newSellItem(item.new(material.get("AXOLOTL_SPAWN_EGG")), 1, 256));
- inv.setItem(mage, 5, newSellItem(item.new(material.get("FOX_SPAWN_EGG")), 1, 256));
- inv.setItem(mage, 6, newSellItem(item.new(material.get("HORSE_SPAWN_EGG")), 1, 256));
- inv.setItem(mage, 7, newSellItem(item.new(material.get("STRIDER_SPAWN_EGG")), 1, 256));
- inv.setItem(mage, 8, newItem(material.get("SHULKER_BOX")));
- set.add(openMarkets, inv.getId(mage));
- // Lumberjack
- lumberjack = inv.new("222222222222222222", text.new("Lumberjack"));
- inv.setItem(lumberjack, 0, newItem(material.get("OAK_LOG")));
- inv.setItem(lumberjack, 1, newItem(material.get("SPRUCE_LOG")));
- inv.setItem(lumberjack, 2, newItem(material.get("BIRCH_LOG")));
- inv.setItem(lumberjack, 3, newItem(material.get("JUNGLE_LOG")));
- inv.setItem(lumberjack, 4, newItem(material.get("ACACIA_LOG")));
- inv.setItem(lumberjack, 5, newItem(material.get("DARK_OAK_LOG")));
- inv.setItem(lumberjack, 6, newItem(material.get("OAK_SAPLING")));
- inv.setItem(lumberjack, 7, newItem(material.get("SPRUCE_SAPLING")));
- inv.setItem(lumberjack, 8, newItem(material.get("BIRCH_SAPLING")));
- inv.setItem(lumberjack, 9, newItem(material.get("JUNGLE_SAPLING")));
- inv.setItem(lumberjack, 10, newItem(material.get("ACACIA_SAPLING")));
- inv.setItem(lumberjack, 11, newItem(material.get("DARK_OAK_SAPLING")));
- set.add(openMarkets, inv.getId(lumberjack));
- // Butcher
- butcher = inv.new("222222222", text.new("Butcher"));
- inv.setItem(butcher, 0, newItem(material.get("BEEF")));
- inv.setItem(butcher, 1, newItem(material.get("CHICKEN")));
- inv.setItem(butcher, 2, newItem(material.get("PORKCHOP")));
- inv.setItem(butcher, 3, newItem(material.get("RABBIT")));
- inv.setItem(butcher, 4, newItem(material.get("MUTTON")));
- inv.setItem(butcher, 5, newItem(material.get("FEATHER")));
- inv.setItem(butcher, 6, newItem(material.get("RABBIT_HIDE")));
- inv.setItem(butcher, 7, newItem(material.get("RABBIT_FOOT")));
- inv.setItem(butcher, 8, newItem(material.get("LEATHER")));
- set.add(openMarkets, inv.getId(butcher));
- // Librarian
- librarian = inv.new("222222222", text.new("Librarian"));
- inv.setItem(librarian, 0, newItem(material.get("INK_SAC")));
- inv.setItem(librarian, 1, newItem(material.get("WRITABLE_BOOK")));
- inv.setItem(librarian, 2, newItem(material.get("BOOK")));
- inv.setItem(librarian, 3, newItem(material.get("BOOKSHELF")));
- set.add(openMarkets, inv.getId(librarian));
- // Nether Merchant
- nether = inv.new("222222222222222222", text.new("Nether Merchant"));
- inv.setItem(nether, 0, newItem(material.get("BLAZE_ROD")));
- inv.setItem(nether, 1, newItem(material.get("GHAST_TEAR")));
- inv.setItem(nether, 2, newItem(material.get("NETHER_WART")));
- inv.setItem(nether, 3, newItem(material.get("MAGMA_CREAM")));
- inv.setItem(nether, 4, newItem(material.get("WARPED_STEM")));
- inv.setItem(nether, 5, newItem(material.get("CRIMSON_STEM")));
- inv.setItem(nether, 6, newItem(material.get("NETHERRACK")));
- inv.setItem(nether, 7, newItem(material.get("BASALT")));
- inv.setItem(nether, 8, newItem(material.get("BLACKSTONE")));
- inv.setItem(nether, 9, newItem(material.get("GLOWSTONE")));
- inv.setItem(nether, 10, newItem(material.get("SHROOMLIGHT")));
- inv.setItem(nether, 11, newItem(material.get("OBSIDIAN")));
- inv.setItem(nether, 12, newItem(material.get("CRYING_OBSIDIAN")));
- inv.setItem(nether, 13, newItem(material.get("WITHER_SKELETON_SKULL")));
- set.add(openMarkets, inv.getId(nether));
- // Diver
- diver = inv.new("222222222222222222222222222", text.new("Diver"));
- inv.setItem(diver, 0, newItem(material.get("TUBE_CORAL_BLOCK")));
- inv.setItem(diver, 1, newItem(material.get("BRAIN_CORAL_BLOCK")));
- inv.setItem(diver, 2, newItem(material.get("BUBBLE_CORAL_BLOCK")));
- inv.setItem(diver, 3, newItem(material.get("FIRE_CORAL_BLOCK")));
- inv.setItem(diver, 4, newItem(material.get("HORN_CORAL_BLOCK")));
- inv.setItem(diver, 5, newItem(material.get("TUBE_CORAL")));
- inv.setItem(diver, 6, newItem(material.get("BRAIN_CORAL")));
- inv.setItem(diver, 7, newItem(material.get("BUBBLE_CORAL")));
- inv.setItem(diver, 8, newItem(material.get("FIRE_CORAL")));
- inv.setItem(diver, 9, newItem(material.get("HORN_CORAL")));
- inv.setItem(diver, 10, newItem(material.get("TUBE_CORAL_FAN")));
- inv.setItem(diver, 11, newItem(material.get("BRAIN_CORAL_FAN")));
- inv.setItem(diver, 12, newItem(material.get("BUBBLE_CORAL_FAN")));
- inv.setItem(diver, 13, newItem(material.get("FIRE_CORAL_FAN")));
- inv.setItem(diver, 14, newItem(material.get("HORN_CORAL_FAN")));
- inv.setItem(diver, 15, newItem(material.get("SEA_PICKLE")));
- inv.setItem(diver, 16, newItem(material.get("KELP")));
- inv.setItem(diver, 17, newItem(material.get("LILY_PAD")));
- inv.setItem(diver, 18, newItem(material.get("TRIDENT")));
- set.add(openMarkets, inv.getId(diver));
- // Anna
- anna = inv.new("222222222", text.new("Anna"));
- inv.setItem(anna, 0, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-13},'minecraft:profile':{id:[I;-1513351130,1351370996,-1551837317,-2013369534],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGY3ZGM4YzkxZjdhMjRlY2Q5YzVlOWQ0ZDhjMzlmMGFjODMzM2FlNDg1MzU1OWFjYjhiMDM4NjZmOWQifX19'}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 1, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-22},'minecraft:profile':{id:[I;1401213480,1729973772,-1435315149,406187954],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTE5OTdkYTY0MDQzYjI4NDgyMjExNTY0M2E2NTRmZGM0ZThhNzIyNjY2NGI0OGE0ZTFkYmI1NTdiNWMwZmUxNCJ9fX0='}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 2, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-20},'minecraft:profile':{id:[I;2138686229,1965575041,-1374158344,-103884467],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTE3MDhlZDM1MmUxN2NhODljMWM5NDg1Y2QxZGIwMTdjNGM4ODY4OTVhYjVjN2MyN2E5ZmY1NjRhZjIxNzJkIn19fQ=='}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 3, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-19},'minecraft:profile':{id:[I;-1379669389,1531072490,-1573434766,-1255286997],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzBiOGI1ODg5ZWUxYzYzODhkYzZjMmM1ZGJkNzBiNjk4NGFlZmU1NDMxOWEwOTVlNjRkYjc2MzgwOTdiODIxIn19fQ=='}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 4, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-18},'minecraft:profile':{id:[I;1624924725,1260994699,-1171578362,1857502530],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmYzNjM2MjgxMjNhZjExYWE2ZjRhODk5Y2ViZDA5NGYwNzQ1NTVhNDFlNmQzMzUyMTJlZTcyNjNhZDM5ZjYifX19'}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 5, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-11},'minecraft:profile':{id:[I;483441708,1083393495,-2017099718,1985799148],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjMzNTk4NDM3ZTMxMzMyOWViMTQxYTEzZTkyZDliMDM0OWFhYmU1YzY0ODJhNWRkZTdiNzM3NTM2MzRhYmEifX19'}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 6, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-15},'minecraft:profile':{id:[I;-319110374,-1443871767,-1539027072,935922312],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGQzYTZiZDk4YWMxODMzYzY2NGM0OTA5ZmY4ZDJkYzYyY2U4ODdiZGNmM2NjNWIzODQ4NjUxYWU1YWY2YiJ9fX0='}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 7, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:114,y:58,z:-17},'minecraft:profile':{id:[I;1480778329,316624888,-1611935903,1148907210],name:'',properties:[{name:'textures',value:'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzVlMmUwOTU5NzEyZGNkMzM1N2NjM2NlYTg1Zjk5YjNmZDgwOTc4NTVjNzU0YjliMTcxZjk2MzUxNDIyNWQifX19'}]}},count:1,id:'minecraft:player_head'}"), 1, 2048));
- inv.setItem(anna, 8, newSellItem(read.item("{components:{'minecraft:block_entity_data':{id:'minecraft:skull',x:107,y:58,z:-11},'minecraft:profile':{id:[I;1974515746,1982350500,-1169583430,618614082],name:'',properties:[{name:'textures',signature:'RO9IGJ16KwIM79JS04eY82CRaWXDEkIqtz4xA8odVaP0Uk4Ox1sHRa69Hh1V2Zo5KRGJ1dDNECvf0XHmzFn9xcDwXmGsk9HC/t2Ndxe2jLebtJk7Ytl3/kFsNQgluS/TikWkF1MgPnucQ/M0ftggu4B1c6SE4Hat0HAIGuhgC8+2jwrTcgDxWeKy9uO4ibopjDR8+S89XzYAPqqqf2CZtZnUP28DNR7pa2uJIT5+/kP3y6euRN+VOOAdTKLUnlfiCZTOxanIkDnC20tVvQQz5lPIGH18rq+9YIF/jok0G3zqWXCgiWk24QogYQErRa9h040sg7ganrC5A5iHBwzHmvzN8k9T/XXu2gDyKih5mzb2EAOxV+pe9HfG1qIZHDhjH8+2vLsUzUDpUINQPorYJ+Qk/YnWPc38EwW4H6byneDGP1xSHmcd5SnTeGYuyXHgHs9I55u5wxTxhZref3/BkS4vIL7w5tkc4YWHOU5HbEmdillLnc0Pepk7JxYLBcnSCcRdhvRPZ3ajGEPKfDwx0RgeZsah4+MFOWi8lXOcpBwnaqpNUYRNgLAahMpuyAUUHZ17Urd6hEadbrWttDFuTO+oHBH45Ueu0vD4pgdXjP1SHZWyPvQVVKRph4eF7xVtobHGkQeJk0u7DFx2Yn+XiPmflQWBGa/oYfitYayO4Kw=',value:'ewogICJ0aW1lc3RhbXAiIDogMTYwMzk4NTQxMjIxNCwKICAicHJvZmlsZUlkIiA6ICIwNjEzY2I1Y2QxYjg0M2JjYjI4OTk1NWU4N2QzMGEyYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJicmVhZGxvYWZzcyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kNWEzNjhlNGI1MTc3NTljNTZhN2Q0ZDUxMWU1YmM5ZTNkOWVlNDA1Yzc5ZGFiNzZlY2IwMDdhYjBjYTg3ODc4IgogICAgfQogIH0KfQ=='}]}},count:1,id:'minecraft:player_head'}"), 1, 4096));
- set.add(openMarkets, inv.getId(anna));
- emerald = material.get("EMERALD");
- event.load("snuvi_click");
- background = material.get("BLACK_STAINED_GLASS_PANE");
- onStock = 0;
- buyAmount = 0;
- buySnuviAmount = 0;
- sellAmount = 0;
- sellSnuviAmount = 0;
- save = false;
- function save() {
- if($save) {
- return;
- }
- $save = true;
- sgoto(100, "save");
- }
- function giveSnuvis(player, amount) {
- msg(player, text.new(string.concat("§eYou earned §f", money.getStringColor(amount, "§6"), "§e Snuvis.")));
- money.add(player, amount);
- }
- function hasSnuvis(player, amount) {
- return hasEnoughMoney(player, amount);
- }
- function removeSnuvis(player, amount) {
- money.subWithoutPopUp(player, amount);
- }
- function calculatePrices(material) {
- max = 34560;
- $onStock = config.getDouble($stock, material, 0);
-
- $buyAmount = ($onStock + 1);
- $buySnuviAmount = 2176;
- $sellAmount = ($onStock + 2);
- $sellSnuviAmount = 2048;
-
- if($buyAmount > $buySnuviAmount) {
- $buyAmount /= $buySnuviAmount;
- $buySnuviAmount = 1;
- } else {
- $buySnuviAmount /= $buyAmount;
- $buyAmount = 1;
- }
-
- if($sellAmount > $sellSnuviAmount) {
- $sellAmount /= $sellSnuviAmount;
- $sellSnuviAmount = 1;
- } else {
- $sellSnuviAmount /= $sellAmount;
- $sellAmount = 1;
- }
-
- $buyAmount = math.round($buyAmount);
- $buySnuviAmount = math.round($buySnuviAmount);
- $sellAmount = math.round($sellAmount);
- $sellSnuviAmount = math.round($sellSnuviAmount);
- }
- function newSellItem(item, amount, price) {
- lore = item.getLore(item);
- if(lore == null) {
- lore = list.new();
- }
- s = "";
- if(price > 1) {
- s = "s";
- }
- list.add(lore, text.new(string.concat("§eBuy §6", string.number(amount), "§e for §6", string.number(price), " §eSnuvi", s)));
- item.setLore(item, lore);
- return item;
- }
- function newItem(material) {
- item = item.new(material);
- lore = item.getLore(item);
- if(lore == null) {
- lore = list.new();
- }
- calculatePrices(material);
- list.add(lore, text.new(string.concat("§eBuy §6", string.number($buyAmount), "§e for §f", money.getStringColor($buySnuviAmount, "§6"))));
- list.add(lore, text.new(string.concat("§eSell §6", string.number($sellAmount), "§e for §f", money.getStringColor($sellSnuviAmount, "§6"))));
- list.add(lore, text.new(string.concat("§6", string.number($onStock), "§e on stock")));
- item.setLore(item, lore);
- return item;
- }
- function updateItem(inv, slot, material) {
- calculatePrices(material);
- inv.setItem(inv, slot, newItem(material));
- }
- sgoto(40, "consume");
- msg.string("dev", "§bMarket §rloaded.");
- @loop
- wait();
- ignoreGoto(event);
- goto("loop");
- function reduceInventory(inv) {
- size = inv.getSize(inv);
- for(i = 0; i < size; i++) {
- item = inv.getItem(inv, i);
- if(item == null) {
- continue;
- }
- lore = item.getLore(item);
- if(lore == null || list.getSize(lore) == 0) {
- continue;
- } elseif(list.getSize(lore) == 1) {
- continue;
- }
- m = item.getType(item);
- amount = config.getDouble($stock, m, 0);
- if(amount > 128) {
- config.set($stock, m, math.round(amount * 0.99));
- } elseif(amount < 0) {
- config.set($stock, m, 0);
- }
- updateItem(inv, i, m);
- }
- }
- @consume
- time = config.getDouble($stock, "time", 0);
- if(time + resetTime - 1000 >= time.getMillis()) {
- msg("dev", text.new("§6Skipping market reduce"));
- } else {
- config.set($stock, "time", time.getMillis());
- reduceInventory(miner);
- reduceInventory(farmer);
- reduceInventory(fisher);
- reduceInventory(baker);
- reduceInventory(tavern);
- reduceInventory(priest);
- reduceInventory(mason);
- reduceInventory(mage);
- reduceInventory(lumberjack);
- reduceInventory(butcher);
- reduceInventory(librarian);
- reduceInventory(nether);
- reduceInventory(diver);
- reduceInventory(anna);
- save();
- }
- sgoto(resetTime, "consume");
- goto("loop");
- @save
- config.saveAsync(stock);
- //print("save");
- save = false;
- goto("loop");
- @snuvi_click
- if(inv == null) {
- goto("loop");
- }
- item = inv.getItem(inv, inv_slot);
- if(item.getType(item) == emerald) {
- title_string = string.text(inv_title);
- if(title_string == "Miner") {
- inv.open(miner, player);
- } elseif(title_string == "Farmer") {
- inv.open(farmer, player);
- } elseif(title_string == "Fisher") {
- inv.open(fisher, player);
- }elseif(title_string == "Baker") {
- inv.open(baker, player);
- } elseif(title_string == "Alena") {
- inv.open(tavern, player);
- } elseif(title_string == "Priest") {
- inv.open(priest, player);
- } elseif(title_string == "Mason") {
- inv.open(mason, player);
- } elseif(title_string == "Mage") {
- inv.open(mage, player);
- } elseif(title_string == "Lumberjack") {
- inv.open(lumberjack, player);
- } elseif(title_string == "Butcher") {
- inv.open(butcher, player);
- } elseif(title_string == "Librarian") {
- inv.open(librarian, player);
- } elseif(title_string == "Nether Merchant") {
- inv.open(nether, player);
- } elseif(title_string == "Diver") {
- inv.open(diver, player);
- } elseif(title_string == "Anna") {
- inv.open(anna, player);
- }
- }
- if(!set.contains(openMarkets, inv.getId(inv))) {
- goto("loop");
- }
- material = item.getType(item);
- if(material == background) {
- goto("loop");
- }
- clicks = 1;
- ignoreGoto(click);
- goto("loop");
- // buying
- @SHIFT_LEFT
- clicks = 64;
- @LEFT
- lostSnuvis = 0;
- lore = item.getLore(item);
- if(lore == null || list.getSize(lore) == 0) {
- msg(player, text.new("§cYou cannot buy this."));
- } elseif(list.getSize(lore) == 1) {
- base = string.text(list.get(lore, 0));
- base = string.replace(base, "§.", "");
- parts = string.split(" ", base);
- amount = read.number(parts[1]);
- price = read.number(parts[3]);
- for(i = 0; i < clicks; i++) {
- if(!hasSnuvis(player, price)) {
- msg(player, text.new("§cYou don't have enough snuvis."));
- break;
- }
- buyItem = item.clone(item);
- item.setAmount(buyItem, amount);
- item.setLore(buyItem, list.new());
- if(player.addItem(player, buyItem) > 0) {
- msg(player, text.new("§cYour inventory is too full."));
- break;
- }
- removeSnuvis(player, price);
- lostSnuvis += price;
- }
- if(lostSnuvis > 0) {
- money.popUp(player, lostSnuvis * -1, false);
- msg(player, text.new(string.concat("§eYou spent §f", money.getStringColor(lostSnuvis, "§6"), "§e Snuvis.")));
- }
- } else {
- for(i = 0; i < clicks; i++) {
- calculatePrices(material);
- if(onStock < buyAmount || buyAmount <= 0) {
- msg(player, text.new("§cThis item is out of stock."));
- break;
- }
- if(!hasSnuvis(player, buySnuviAmount)) {
- msg(player, text.new("§cYou don't have enough snuvis."));
- break;
- }
- buyItem = item.new(material);
- item.setAmount(buyItem, buyAmount);
- if(player.addItem(player, buyItem) > 0) {
- msg(player, text.new("§cYour inventory is too full."));
- break;
- }
- removeSnuvis(player, buySnuviAmount);
- lostSnuvis += buySnuviAmount;
- config.set(stock, material, onStock - buyAmount);
- }
- if(lostSnuvis > 0) {
- money.popUp(player, lostSnuvis * -1, false);
- msg(player, text.new(string.concat("§eYou spent §f", money.getStringColor(lostSnuvis, "§6"), "§e Snuvis.")));
- updateItem(inv, inv_slot, material);
- save();
- }
- }
- goto("loop");
- // selling
- @SHIFT_RIGHT
- clicks = 64;
- @RIGHT
- lore = item.getLore(item);
- if(lore == null || list.getSize(lore) <= 1) {
- msg(player, text.new("§cYou can only buy this item."));
- goto("loop");
- }
- gotSnuvis = 0;
- for(i = 0; i < clicks; i++) {
- calculatePrices(material);
- sellItem = item.new(material);
- amount = player.getItemAmount(player, sellItem);
- if(amount < sellAmount) {
- msg(player, text.new("§cYou don't have enough of this item."));
- break;
- }
- gotSnuvis += sellSnuviAmount;
- item.setAmount(sellItem, sellAmount);
- player.removeItem(player, sellItem);
- config.set(stock, material, onStock + sellAmount);
- }
- if(gotSnuvis > 0) {
- giveSnuvis(player, gotSnuvis);
- updateItem(inv, inv_slot, material);
- save();
- }
- goto("loop");
|