Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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" + '
Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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('^' + ".*" + ' Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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('^' + ".*" + ' Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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" + ' Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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('^' + ".*" + ' Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685
, '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); } })(); })(); Add PlaceholderAPI support by mdcfe · Pull Request #2041 · EssentialsX/Essentials · GitHub
Skip to content

Add PlaceholderAPI support - #2041

Closed
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked
Closed

Add PlaceholderAPI support#2041
mdcfe wants to merge 14 commits into
EssentialsX:2.xfrom
N3FS:papi-cherrypicked

Conversation

@mdcfe

@mdcfemdcfe commented Jun 14, 2018

Copy link
Copy Markdown
Member

This PR cherry-picks commits from #1944. The differences between this PR and #1944 are:

To do:

  • Format placeholders in translated messages sent to the log
  • Escape placeholders in mail/AFK messages
  • Replace placeholders in mail/AFK formats
  • Consider supporting "recipient placeholders" in formats, which are left unescaped and only parsed when received by a user?
  • Escape unformatted %s in chat format
  • Any other broadcast messages

Credits go to @Banbeucmas for the original PR.

Closes#1945, closes#1944, closes#1959, yada yada

@mdcfemdcfe added the type: enhancement Features and feature requests. label Jun 14, 2018
@mdcfemdcfe added this to the 2.16.0 milestone Jun 14, 2018
@mdcfe
mdcfe requested a review from drtshockJune 14, 2018 12:28
kashike
kashike previously requested changes Jun 15, 2018
Comment threadEssentials/src/com/earth2me/essentials/EssentialsPlayerListener.java Outdated
@Banbeucmas

Copy link
Copy Markdown
Contributor

Doesn't include replacing {...} with %...%, as that would be confusing for users when old Essentials placeholders break

While I understand the reason, but it would seem weird if the format contain {} and one contain %% in the same config file on the other hand.

@mdcfe

mdcfe commented Jun 16, 2018

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas It's more clear whether a placeholder comes from EssentialsX or PlaceholderAPI if they have different characters surrounding them.

@Banbeucmas

Banbeucmas commented Jun 17, 2018

Copy link
Copy Markdown
Contributor

Essentials placeholder already use uppercase character for most of the time , I think it is safe to just use {} to replace %%.
But again, we can ask whenever an user prefer %% and {} seperately or not - a poll?, I predict there will be an issue around this after the merge sooner or later. (It’s doesn’t sync with the text, so that’s what made it strange, it is reasonable to ask that)

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@Banbeucmas The Essentials docs and config usually include capitalised tokens, but they are usually case-insensitive when replaced as far as I remember.

Regardless, it would be simpler for PAPI placeholders to work the same in EssentialsX as they do in every single other plugin that supports PAPI (just %%), as users will be able to just drop in the same %% placeholders that they're used to in other plugins. People also won't complain that {} doesn't work outside EssentialsX, reducing support noise.

@Banbeucmas

Banbeucmas commented Jun 18, 2018

Copy link
Copy Markdown
Contributor

I guess that will be how it's goes then. Up to you.

@extendedclip

extendedclip commented Jun 18, 2018

Copy link
Copy Markdown

Using %<placeholder>% in chat format will cause an IllegalFormatException to be thrown if the placeholder is not parsed or escaped before the server handles formatting the chat message.

@mdcfe

Copy link
Copy Markdown
MemberAuthor

@extendedclip Thanks for the heads-up. I've added this to the to-do.

@IchbinjoeIchbinjoe added the help wanted Issues that need further investigation. label Apr 17, 2019
@mdcfemdcfe removed this from the 2.17.0 milestone Apr 18, 2019
@mdcfemdcfe self-assigned this Apr 18, 2019
@mdcfemdcfe added this to the 2.18.0 milestone Jun 26, 2019
@mdcfemdcfe removed this from the 2.18.0 milestone Apr 14, 2020
@mdcfe

Copy link
Copy Markdown
MemberAuthor

There are issues with the approach taken in this PR, and for that reason I'm going to close this. #2502 is a better base for this to be implemented on.

@pop4959pop4959 closed this May 27, 2020
@TheKrafterTheKrafter mentioned this pull request Nov 24, 2023
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wantedIssues that need further investigation.type: enhancementFeatures and feature requests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PlaceholderAPI support

7 participants

@mdcfe@Banbeucmas@extendedclip@kashike@Ichbinjoe@pop4959@md678685