Uses the inverted color for a dyed sign's highlighting color
This commit is contained in:
parent
071f1895de
commit
2773079a09
@ -1,7 +1,7 @@
|
||||
package net.knarcraft.stargate.container;
|
||||
|
||||
import net.knarcraft.stargate.utility.ColorHelper;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.block.Sign;
|
||||
|
||||
@ -45,8 +45,7 @@ public class SignData {
|
||||
*/
|
||||
public ChatColor getMainSignColor() {
|
||||
if (dyedColor != DyeColor.BLACK) {
|
||||
Color color = dyedColor.getColor();
|
||||
return ChatColor.of(String.format("#%02X%02X%02X", color.getRed(), color.getGreen(), color.getBlue()));
|
||||
return ColorHelper.fromColor(dyedColor.getColor());
|
||||
} else {
|
||||
return mainSignColor;
|
||||
}
|
||||
@ -58,7 +57,11 @@ public class SignData {
|
||||
* @return <p>The highlighting color of the sign</p>
|
||||
*/
|
||||
public ChatColor getHighlightSignColor() {
|
||||
if (dyedColor != DyeColor.BLACK) {
|
||||
return ColorHelper.fromColor(ColorHelper.invert(dyedColor.getColor()));
|
||||
} else {
|
||||
return highlightSignColor;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.Sign;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static net.knarcraft.stargate.utility.ColorHelper.translateAllColorCodes;
|
||||
|
||||
/**
|
||||
* The portal sign drawer draws the sing of a given portal
|
||||
@ -345,22 +345,6 @@ public class PortalSignDrawer {
|
||||
Stargate.logInfo(String.format("Gate layout on line %d does not exist [%s]", lineIndex, gateName));
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates all found color codes to formatting in a string
|
||||
*
|
||||
* @param message <p>The string to search for color codes</p>
|
||||
* @return <p>The message with color codes translated</p>
|
||||
*/
|
||||
public static String translateAllColorCodes(String message) {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
Pattern pattern = Pattern.compile("(#[a-fA-F0-9]{6})");
|
||||
Matcher matcher = pattern.matcher(message);
|
||||
while (matcher.find()) {
|
||||
message = message.replace(matcher.group(), "" + ChatColor.of(matcher.group()));
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the main color to use for the given sign type
|
||||
*
|
||||
|
@ -0,0 +1,47 @@
|
||||
package net.knarcraft.stargate.utility;
|
||||
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ColorHelper {
|
||||
|
||||
/**
|
||||
* Inverts the given color
|
||||
*
|
||||
* @param color <p>The color to invert</p>
|
||||
* @return <p>The inverted color</p>
|
||||
*/
|
||||
public static Color invert(Color color) {
|
||||
return color.setRed(255 - color.getRed()).setGreen(255 - color.getGreen()).setBlue(255 - color.getBlue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the chat color corresponding to the given color
|
||||
*
|
||||
* @param color <p>The color to convert into a chat color</p>
|
||||
* @return <p>The resulting chat color</p>
|
||||
*/
|
||||
public static ChatColor fromColor(Color color) {
|
||||
return ChatColor.of(String.format("#%02X%02X%02X", color.getRed(), color.getGreen(), color.getBlue()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates all found color codes to formatting in a string
|
||||
*
|
||||
* @param message <p>The string to search for color codes</p>
|
||||
* @return <p>The message with color codes translated</p>
|
||||
*/
|
||||
public static String translateAllColorCodes(String message) {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
Pattern pattern = Pattern.compile("(#[a-fA-F0-9]{6})");
|
||||
Matcher matcher = pattern.matcher(message);
|
||||
while (matcher.find()) {
|
||||
message = message.replace(matcher.group(), "" + ChatColor.of(matcher.group()));
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user