Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes - #1

Open
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search
Open

Update to current ExileCore API; add inventory search, LootLens-style tooltip, and bricked-map fixes#1
greenbrad wants to merge 1 commit into
masterfrom
modernize-and-inventory-search

Conversation

@greenbrad

Copy link
Copy Markdown
Owner

Note: the upstream this fork came from (Xcesius/MapNotify) is archived and read-only, so this PR merges the work into this fork's own master to serve as the maintained version.

Summary

This updates the plugin to build and run against current ExileCore (net10.0, $(exapiPackage) reference paths kept, GameOffsets reference added) and adds several quality-of-life features. Verified building cleanly against the current ExileCore.

API migration notes

Current ExileCore no longer exposes the Map component or the ServerData completion collections (BonusCompletedAreas / CompletedAreas), so:

  • Map tier, region names, and atlas completion tracking fall back to safe defaults (tier/completion display is effectively disabled until an equivalent API exists again)
  • Inventory/stash map detection now uses BaseItemTypes class names instead of HasComponent<Map>()

If this repo intends to keep targeting an older ExileCore, feel free to close - this PR is for the current API.

Features

  • Inventory search: a movable search box appears when the inventory is open. Typing live-highlights matching maps (name, mods, or warning text) in the inventory and visible stash tab; Enter saves the text as a persistent filter. Saved filters can be removed individually or all at once, and collapse into a popout when more than 2 are saved. The matching mods are labeled above each matching inventory map.
  • LootLens-style tooltip: the map tooltip is redrawn as a dark rounded card with accent-bar mod rows and a state-colored border (bricked / Zana objective / completion), plus a "Tooltip Text Size %" setting.
  • Bricked-map behavior: bricked maps always draw a red border, never the green warnings border. Bricked is now determined solely by mods flagged ;true in the warnings configs - previously any map with a warning mod and quantity/pack size at or below the (default 100) thresholds was treated as bricked, which marked nearly every warned map. The two unlabeled threshold sliders were removed from the settings UI accordingly.
  • Green warning border additionally requires quantity at or above the existing "Warn Below Quantity Percentage" value, so the border and the quantity text color agree.

🤖 Generated with Claude Code

…yle tooltip
Migration (Map component and completion ServerData APIs no longer exist
in current ExileCore; net8.0 -> net10.0):
- Tier, region and completion tracking fall back to safe defaults
- GameOffsets reference added
Features:
- Movable search box above the inventory: live filter plus Enter-saved
persistent filters with per-entry remove and Clear All (collapsed into
a popout when more than 2 are saved); matches highlight in inventory
and visible stash tab, with the matching mods labeled above inventory
maps
- Map tooltip redrawn as a LootLens-style card (rounded dark card,
accent-bar mod rows, state-colored border) with a text size setting
- Bricked maps always border red, never green; bricked is now determined
only by mods flagged ;true in the warnings configs, not quantity or
pack size thresholds
- Green warning border requires quantity at or above the warn-below
quantity percentage
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@greenbrad