mirror of
https://github.com/TotalFreedomMC/PlayerParticles.git
synced 2025-02-11 03:29:53 +00:00
Added hex code support to 1.16. Fix material typo. Use bungee chat api.
This commit is contained in:
parent
5031659aa2
commit
c14785863c
8 changed files with 65 additions and 18 deletions
|
@ -10,7 +10,7 @@ sourceCompatibility = 1.8
|
||||||
targetCompatibility = 1.8
|
targetCompatibility = 1.8
|
||||||
compileJava.options.encoding = 'UTF-8'
|
compileJava.options.encoding = 'UTF-8'
|
||||||
group = 'dev.esophose'
|
group = 'dev.esophose'
|
||||||
version = '7.13'
|
version = '7.14'
|
||||||
|
|
||||||
java {
|
java {
|
||||||
withJavadocJar()
|
withJavadocJar()
|
||||||
|
@ -24,6 +24,7 @@ repositories {
|
||||||
maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
|
maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
|
||||||
maven { url = 'https://repo.codemc.org/repository/maven-public' }
|
maven { url = 'https://repo.codemc.org/repository/maven-public' }
|
||||||
maven { url = 'http://repo.extendedclip.com/content/repositories/placeholderapi/' }
|
maven { url = 'http://repo.extendedclip.com/content/repositories/placeholderapi/' }
|
||||||
|
maven { url = 'https://repo.rosewooddev.io/repository/public/' }
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -36,7 +37,7 @@ dependencies {
|
||||||
shadow 'org.jetbrains:annotations:16.0.2'
|
shadow 'org.jetbrains:annotations:16.0.2'
|
||||||
shadow 'me.clip:placeholderapi:2.10.4'
|
shadow 'me.clip:placeholderapi:2.10.4'
|
||||||
shadow 'org.xerial:sqlite-jdbc:3.23.1'
|
shadow 'org.xerial:sqlite-jdbc:3.23.1'
|
||||||
shadow 'org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT'
|
shadow 'org.spigotmc:spigot:1.16.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
shadowJar {
|
shadowJar {
|
||||||
|
|
|
@ -22,8 +22,8 @@ import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import dev.esophose.playerparticles.manager.LocaleManager;
|
||||||
import dev.esophose.playerparticles.particles.PPlayer;
|
import dev.esophose.playerparticles.particles.PPlayer;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.bukkit.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
|
|
||||||
public class VersionCommandModule implements CommandModule {
|
public class VersionCommandModule implements CommandModule {
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import dev.esophose.playerparticles.particles.PPlayer;
|
||||||
import dev.esophose.playerparticles.util.NMSUtil;
|
import dev.esophose.playerparticles.util.NMSUtil;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.bukkit.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemFlag;
|
import org.bukkit.inventory.ItemFlag;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import dev.esophose.playerparticles.manager.DataManager;
|
||||||
import dev.esophose.playerparticles.particles.PPlayer;
|
import dev.esophose.playerparticles.particles.PPlayer;
|
||||||
import dev.esophose.playerparticles.particles.ParticlePair;
|
import dev.esophose.playerparticles.particles.ParticlePair;
|
||||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||||
import org.bukkit.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class ParticlePlaceholderExpansion extends PlaceholderExpansion {
|
public class ParticlePlaceholderExpansion extends PlaceholderExpansion {
|
||||||
|
|
|
@ -12,16 +12,22 @@ import dev.esophose.playerparticles.locale.SimplifiedChineseLocale;
|
||||||
import dev.esophose.playerparticles.locale.VietnameseLocale;
|
import dev.esophose.playerparticles.locale.VietnameseLocale;
|
||||||
import dev.esophose.playerparticles.manager.ConfigurationManager.Setting;
|
import dev.esophose.playerparticles.manager.ConfigurationManager.Setting;
|
||||||
import dev.esophose.playerparticles.particles.PPlayer;
|
import dev.esophose.playerparticles.particles.PPlayer;
|
||||||
|
import dev.esophose.playerparticles.util.NMSUtil;
|
||||||
import dev.esophose.playerparticles.util.StringPlaceholders;
|
import dev.esophose.playerparticles.util.StringPlaceholders;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.bukkit.ChatColor;
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import net.md_5.bungee.api.ChatColor;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class LocaleManager extends Manager {
|
public class LocaleManager extends Manager {
|
||||||
|
|
||||||
|
private static final Pattern HEX_PATTERN = Pattern.compile("#([A-Fa-f0-9]){6}");
|
||||||
|
|
||||||
private CommentedFileConfiguration locale;
|
private CommentedFileConfiguration locale;
|
||||||
|
|
||||||
public LocaleManager(PlayerParticles playerParticles) {
|
public LocaleManager(PlayerParticles playerParticles) {
|
||||||
|
@ -127,7 +133,7 @@ public class LocaleManager extends Manager {
|
||||||
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sender.sendMessage(this.getLocaleMessage("prefix") + this.getLocaleMessage(messageKey, stringPlaceholders));
|
this.sendParsedMessage(sender, this.getLocaleMessage("prefix") + this.getLocaleMessage(messageKey, stringPlaceholders));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -141,7 +147,7 @@ public class LocaleManager extends Manager {
|
||||||
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
pplayer.getUnderlyingExecutor().sendMessage(this.parsePlaceholders(pplayer.getPlayer(), this.getLocaleMessage("prefix") + this.getLocaleMessage(messageKey, stringPlaceholders)));
|
this.sendParsedMessage(pplayer.getUnderlyingExecutor(), this.getLocaleMessage("prefix") + this.getLocaleMessage(messageKey, stringPlaceholders));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -175,7 +181,7 @@ public class LocaleManager extends Manager {
|
||||||
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sender.sendMessage(this.getLocaleMessage(messageKey, stringPlaceholders));
|
this.sendParsedMessage(sender, this.getLocaleMessage(messageKey, stringPlaceholders));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -189,7 +195,7 @@ public class LocaleManager extends Manager {
|
||||||
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
pplayer.getUnderlyingExecutor().sendMessage(this.parsePlaceholders(pplayer.getPlayer(), this.getLocaleMessage(messageKey, stringPlaceholders)));
|
this.sendParsedMessage(pplayer.getUnderlyingExecutor(), this.getLocaleMessage(messageKey, stringPlaceholders));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -222,7 +228,7 @@ public class LocaleManager extends Manager {
|
||||||
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
if (!Setting.MESSAGES_ENABLED.getBoolean())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sender.sendMessage(message);
|
this.sendParsedMessage(sender, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -232,18 +238,58 @@ public class LocaleManager extends Manager {
|
||||||
* @param message The message to send
|
* @param message The message to send
|
||||||
*/
|
*/
|
||||||
public void sendCustomMessage(PPlayer pplayer, String message) {
|
public void sendCustomMessage(PPlayer pplayer, String message) {
|
||||||
this.sendCustomMessage(pplayer.getUnderlyingExecutor(), this.parsePlaceholders(pplayer.getPlayer(), message));
|
this.sendCustomMessage(pplayer.getUnderlyingExecutor(), message);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replaces PlaceholderAPI placeholders if PlaceholderAPI is enabled
|
* Replaces PlaceholderAPI placeholders if PlaceholderAPI is enabled
|
||||||
*
|
*
|
||||||
* @param player The Player to replace with
|
* @param sender The Player to replace with
|
||||||
* @param message The message
|
* @param message The message
|
||||||
* @return A placeholder-replaced message
|
* @return A placeholder-replaced message
|
||||||
*/
|
*/
|
||||||
private String parsePlaceholders(Player player, String message) {
|
private String parsePlaceholders(CommandSender sender, String message) {
|
||||||
return PlaceholderAPIHook.applyPlaceholders(player, message);
|
if (sender instanceof Player)
|
||||||
|
return PlaceholderAPIHook.applyPlaceholders((Player) sender, message);
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses the colors in a message
|
||||||
|
* Parses & to the normal color code character
|
||||||
|
* Parses hex codes if the game version is 1.16 or higher
|
||||||
|
*
|
||||||
|
* @param message The message
|
||||||
|
* @return A color-replaced message
|
||||||
|
*/
|
||||||
|
private String parseColors(String message) {
|
||||||
|
String parsed = message;
|
||||||
|
|
||||||
|
if (NMSUtil.getVersionNumber() >= 16) {
|
||||||
|
Matcher matcher = HEX_PATTERN.matcher(parsed);
|
||||||
|
while (matcher.find()) {
|
||||||
|
ChatColor hexColor = ChatColor.of(matcher.group());
|
||||||
|
String before = parsed.substring(0, matcher.start());
|
||||||
|
String after = parsed.substring(matcher.end());
|
||||||
|
parsed = before + hexColor + after;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ChatColor.translateAlternateColorCodes('&', parsed);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a message with placeholders and colors parsed to a CommandSender
|
||||||
|
*
|
||||||
|
* @param sender The sender to send the message to
|
||||||
|
* @param message The message
|
||||||
|
*/
|
||||||
|
private void sendParsedMessage(CommandSender sender, String message) {
|
||||||
|
if (NMSUtil.getVersionNumber() >= 16) {
|
||||||
|
sender.spigot().sendMessage(TextComponent.fromLegacyText(this.parseColors(this.parsePlaceholders(sender, message))));
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(this.parseColors(this.parsePlaceholders(sender, message)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public enum ParticleEffect {
|
||||||
CAMPFIRE_SIGNAL_SMOKE("CAMPFIRE_SIGNAL_SMOKE", Collections.singletonList("REDSTONE_TORCH")),
|
CAMPFIRE_SIGNAL_SMOKE("CAMPFIRE_SIGNAL_SMOKE", Collections.singletonList("REDSTONE_TORCH")),
|
||||||
CLOUD("CLOUD", Arrays.asList("WHITE_WOOL", "WOOL")),
|
CLOUD("CLOUD", Arrays.asList("WHITE_WOOL", "WOOL")),
|
||||||
COMPOSTER("COMPOSTER", Collections.singletonList("COMPOSTER")),
|
COMPOSTER("COMPOSTER", Collections.singletonList("COMPOSTER")),
|
||||||
CRIMSON_SPORE("CRIMSON_SPORE", Collections.singletonList("CRIMSON_SPORE")),
|
CRIMSON_SPORE("CRIMSON_SPORE", Collections.singletonList("CRIMSON_FUNGUS")),
|
||||||
CRIT("CRIT", Collections.singletonList("IRON_SWORD")),
|
CRIT("CRIT", Collections.singletonList("IRON_SWORD")),
|
||||||
CURRENT_DOWN("CURRENT_DOWN", Collections.singletonList("SOUL_SAND")),
|
CURRENT_DOWN("CURRENT_DOWN", Collections.singletonList("SOUL_SAND")),
|
||||||
DAMAGE_INDICATOR("DAMAGE_INDICATOR", Collections.singletonList("BOW")),
|
DAMAGE_INDICATOR("DAMAGE_INDICATOR", Collections.singletonList("BOW")),
|
||||||
|
|
|
@ -12,7 +12,7 @@ import dev.esophose.playerparticles.styles.ParticleStyle;
|
||||||
import dev.esophose.playerparticles.util.ParticleUtils;
|
import dev.esophose.playerparticles.util.ParticleUtils;
|
||||||
import dev.esophose.playerparticles.util.StringPlaceholders;
|
import dev.esophose.playerparticles.util.StringPlaceholders;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.bukkit.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
|
||||||
public class ParticlePair {
|
public class ParticlePair {
|
||||||
|
|
Loading…
Reference in a new issue