Tracks which eggs have been crafted
当前为
// ==UserScript==
// @name IdlePixel Easter 2023 Tracker
// @namespace lbtechnology.info
// @version 1.0.0
// @description Tracks which eggs have been crafted
// @author Lux-Ferre
// @license MIT
// @match *://idle-pixel.com/login/play*
// @grant none
// @require https://greasyfork.org/scripts/441206-idlepixel/code/IdlePixel+.js?anticache=20220905
// ==/UserScript==
(function() {
'use strict';
let eggList = new Set()
const fullEggList = [
"stone_egg",
"copper_egg",
"iron_egg",
"silver_egg",
"gold_egg",
"bronze_metal_egg",
"iron_metal_egg",
"silver_metal_egg",
"gold_metal_egg",
"dotted_green_leaf_egg",
"green_leaf_egg",
"lime_leaf_egg",
"gold_leaf_egg",
"logs_egg",
"oak_logs_egg",
"willow_logs_egg",
"maple_logs_egg",
"chocolate_bar_egg",
"apple_egg",
"banana_egg",
"maggot_egg",
"stinger_egg",
"iron_dagger_egg",
]
class EasterPlugin extends IdlePixelPlusPlugin {
constructor() {
super("easter", {
about: {
name: GM_info.script.name,
version: GM_info.script.version,
author: GM_info.script.author,
description: GM_info.script.description
},
});
this.previous = "";
}
createPanel(){
IdlePixelPlus.addPanel("eastereggs", "Easter Egg List", function() {
let content = "<div>";
fullEggList.forEach((egg)=>{
const found = eggList.has(egg)? "\u{1F7E2}" : "\u{1F534}"
content += `<p class="notification"><strong>${egg.toUpperCase().replace("_", " ")} ${found}</strong></p><br/>`
})
content += "</div>";
return content;
});
}
onLogin(){
const onlineCount = $(".top-bar .gold:not(#top-bar-admin-link)");
onlineCount.before(`
<a href="#" class="hover float-end link-no-decoration" onclick="event.preventDefault(); IdlePixelPlus.setPanel('eastereggs')" title="Open Egg List">Eggs </a>
`);
this.createPanel()
}
onMessageReceived(data){
if(data.startsWith("SET_ITEMS=")){
const split = data.substring("SET_ITEMS=".length).split("~");
split.forEach(element => {
if (element.endsWith("egg_crafted")){
eggList.add(element.slice(0, -8))
IdlePixelPlus.refreshPanel("eastereggs")
console.log(eggList)
}
})
}
}
}
const plugin = new EasterPlugin();
IdlePixelPlus.registerPlugin(plugin);
})();