From 9e729021429015d3c2d8c9898699d158db12ba00 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 28 Jul 2025 17:36:14 +0200 Subject: [PATCH] color changes --- client/src/main/java/client/Client.java | 24 +-- client/src/main/java/client/audio/Volume.java | 4 +- .../src/main/java/client/gui/GuiConnect.java | 2 +- .../src/main/java/client/gui/GuiConsole.java | 4 +- client/src/main/java/client/gui/GuiInfo.java | 29 ++-- client/src/main/java/client/gui/GuiMenu.java | 8 +- .../src/main/java/client/gui/GuiServer.java | 2 +- .../client/gui/character/GuiCharacters.java | 6 +- .../client/gui/container/GuiContainer.java | 8 +- .../java/client/gui/container/GuiEnchant.java | 10 +- .../java/client/gui/container/GuiRepair.java | 4 +- .../main/java/client/gui/ingame/GuiForm.java | 2 +- .../java/client/gui/ingame/GuiGameOver.java | 4 +- .../java/client/gui/ingame/GuiRename.java | 2 +- .../java/client/gui/options/GuiBinds.java | 2 +- .../java/client/gui/options/GuiDisplay.java | 2 +- .../main/java/client/renderer/Drawing.java | 2 +- .../client/renderer/entity/RenderRabbit.java | 2 +- .../renderer/entity/RendererLivingEntity.java | 2 +- .../renderer/layers/LayerSheepWool.java | 3 +- .../renderer/layers/LayerWolfCollar.java | 6 +- .../texture/LayeredColorMaskTexture.java | 100 ------------ client/src/main/java/client/vars/BoolVar.java | 2 +- .../main/java/client/vars/CVarCategory.java | 2 +- .../src/main/java/client/vars/ColorVar.java | 4 +- client/src/main/java/client/vars/EnumVar.java | 2 +- .../src/main/java/client/vars/FloatVar.java | 2 +- client/src/main/java/client/vars/IntVar.java | 2 +- .../src/main/java/client/vars/StringVar.java | 2 +- client/src/main/java/client/window/Bind.java | 2 +- .../{lime_clay.png => dark_green_clay.png} | Bin 3166 -> 3107 bytes .../{pink_glass.png => dark_green_glass.png} | Bin 5019 -> 5059 bytes ...ass_pane.png => dark_green_glass_pane.png} | Bin 4684 -> 4695 bytes .../textures/blocks/dark_green_wool.png | Bin 0 -> 403 bytes .../resources/textures/blocks/green_clay.png | Bin 3107 -> 3166 bytes .../resources/textures/blocks/green_glass.png | Bin 5059 -> 5082 bytes .../textures/blocks/green_glass_pane.png | Bin 4695 -> 4708 bytes .../resources/textures/blocks/green_wool.png | Bin 403 -> 491 bytes .../{silver_clay.png => light_gray_clay.png} | Bin ...{silver_glass.png => light_gray_glass.png} | Bin ...ass_pane.png => light_gray_glass_pane.png} | Bin .../{silver_wool.png => light_gray_wool.png} | Bin .../textures/blocks/lime_glass_pane.png | Bin 4708 -> 0 bytes .../resources/textures/blocks/lime_wool.png | Bin 491 -> 0 bytes .../resources/textures/blocks/pink_clay.png | Bin 3173 -> 0 bytes .../resources/textures/blocks/pink_wool.png | Bin 513 -> 0 bytes ...d_foot_end.png => violet_bed_foot_end.png} | Bin ...foot_side.png => violet_bed_foot_side.png} | Bin ...d_foot_top.png => violet_bed_foot_top.png} | Bin ...d_head_end.png => violet_bed_head_end.png} | Bin ...head_side.png => violet_bed_head_side.png} | Bin ...d_head_top.png => violet_bed_head_top.png} | Bin .../{purple_clay.png => violet_clay.png} | Bin .../{purple_glass.png => violet_glass.png} | Bin ...e_glass_pane.png => violet_glass_pane.png} | Bin .../{purple_wool.png => violet_wool.png} | Bin .../resources/textures/busy/diamond_axe.png | Bin 171 -> 4940 bytes .../resources/textures/busy/diamond_hoe.png | Bin 151 -> 4878 bytes .../textures/busy/diamond_pickaxe.png | Bin 181 -> 5012 bytes .../textures/busy/diamond_shears.png | Bin 1618 -> 5055 bytes .../textures/busy/diamond_shovel.png | Bin 154 -> 4961 bytes .../resources/textures/busy/diamond_sword.png | Bin 182 -> 5012 bytes .../dark_green_dye.png} | Bin 5082 -> 5160 bytes .../resources/textures/items/green_dye.png | Bin 5160 -> 5259 bytes .../{silver_dye.png => light_gray_dye.png} | Bin .../resources/textures/items/lime_dye.png | Bin 5259 -> 0 bytes .../resources/textures/items/pink_dye.png | Bin 5333 -> 0 bytes .../items/{purple_dye.png => violet_dye.png} | Bin common/src/main/java/common/block/Block.java | 2 +- .../common/block/artificial/BlockBed.java | 24 ++- .../common/block/artificial/BlockCarpet.java | 12 +- .../block/artificial/BlockStainedGlass.java | 12 +- .../artificial/BlockStainedGlassPane.java | 12 +- .../common/block/artificial/BlockWool.java | 12 +- .../block/natural/BlockColoredClay.java | 12 +- .../java/common/block/tech/BlockChest.java | 2 +- .../java/common/block/tech/BlockNuke.java | 2 +- .../main/java/common/block/tech/BlockTNT.java | 2 +- .../src/main/java/common/color/DyeColor.java | 97 ------------ .../src/main/java/common/color/TextColor.java | 100 ------------ .../src/main/java/common/effect/Effect.java | 2 +- .../main/java/common/entity/DamageSource.java | 18 +-- .../src/main/java/common/entity/Entity.java | 4 +- .../common/entity/EntityDamageSource.java | 2 +- .../entity/EntityDamageSourceIndirect.java | 2 +- .../common/entity/animal/EntitySheep.java | 73 +++------ .../java/common/entity/animal/EntityWolf.java | 21 +-- .../java/common/entity/item/EntityItem.java | 4 +- .../java/common/entity/item/EntityXp.java | 2 +- .../java/common/entity/npc/Alignment.java | 10 +- .../java/common/entity/npc/EntityNPC.java | 2 +- .../common/entity/types/EntityLiving.java | 12 +- .../main/java/common/init/BlockRegistry.java | 14 +- common/src/main/java/common/init/Blocks.java | 102 ++++++++++--- .../java/common/init/CraftingRegistry.java | 77 +++++----- .../main/java/common/init/ItemRegistry.java | 9 +- common/src/main/java/common/init/Items.java | 122 ++++++++++++--- .../src/main/java/common/init/MetalType.java | 4 +- .../main/java/common/init/TradeRegistry.java | 2 +- common/src/main/java/common/item/Item.java | 2 +- .../src/main/java/common/item/ItemStack.java | 4 +- .../common/item/consumable/ItemAppleGold.java | 2 +- .../common/item/consumable/ItemPotion.java | 6 +- .../java/common/item/material/ItemDye.java | 20 +-- .../item/material/ItemEnchantedBook.java | 2 +- .../java/common/item/material/ItemMetal.java | 2 +- .../item/projectile/ItemChargedOrb.java | 4 +- .../java/common/item/projectile/ItemDie.java | 8 +- .../common/item/spawner/ItemCharTemplate.java | 2 +- .../common/item/spawner/ItemMobTemplate.java | 2 +- .../java/common/item/tool/ItemScanner.java | 2 +- .../common/item/tool/ItemSpaceNavigator.java | 4 +- .../main/java/common/item/tool/ItemWand.java | 4 +- .../common/item/tool/ItemWeatherToken.java | 2 +- .../common/item/weapon/ItemBanHammer.java | 4 +- .../common/item/weapon/ItemExterminator.java | 4 +- .../java/common/item/weapon/ItemTrident.java | 2 +- common/src/main/java/common/log/Log.java | 6 +- common/src/main/java/common/log/LogLevel.java | 2 +- .../main/java/common/tileentity/Device.java | 4 +- .../src/main/java/common/util/TextColor.java | 143 ++++++++++++++++++ server/src/main/java/server/Server.java | 4 +- .../server/clipboard/ReorderRegistry.java | 4 +- .../main/java/server/command/ColorParser.java | 6 +- .../src/main/java/server/command/Command.java | 4 +- .../server/command/CommandEnvironment.java | 2 +- .../command/commands/CommandExterminatus.java | 2 +- .../server/command/commands/CommandFind.java | 3 +- .../server/command/commands/CommandGod.java | 2 +- .../server/command/commands/CommandLoad.java | 2 +- .../command/commands/CommandNoclip.java | 2 +- .../command/commands/CommandPasswd.java | 4 +- .../command/commands/CommandPlayers.java | 6 +- .../command/commands/CommandPubkey.java | 4 +- .../command/commands/CommandRegister.java | 4 +- .../command/commands/CommandRegkey.java | 4 +- .../server/command/commands/CommandSave.java | 4 +- .../server/command/commands/CommandSv.java | 10 +- .../server/command/commands/CommandUsers.java | 7 +- .../server/command/commands/CommandWarps.java | 6 +- .../java/server/init/UniverseRegistry.java | 2 +- .../java/server/network/LoginHandler.java | 3 +- .../src/main/java/server/network/Player.java | 54 +++---- .../src/main/java/server/world/Converter.java | 10 +- .../java/server/worldgen/ReplacerMesa.java | 4 +- 145 files changed, 667 insertions(+), 734 deletions(-) delete mode 100755 client/src/main/java/client/renderer/texture/LayeredColorMaskTexture.java rename client/src/main/resources/textures/blocks/{lime_clay.png => dark_green_clay.png} (85%) rename client/src/main/resources/textures/blocks/{pink_glass.png => dark_green_glass.png} (57%) rename client/src/main/resources/textures/blocks/{pink_glass_pane.png => dark_green_glass_pane.png} (61%) create mode 100755 client/src/main/resources/textures/blocks/dark_green_wool.png rename client/src/main/resources/textures/blocks/{silver_clay.png => light_gray_clay.png} (100%) rename client/src/main/resources/textures/blocks/{silver_glass.png => light_gray_glass.png} (100%) rename client/src/main/resources/textures/blocks/{silver_glass_pane.png => light_gray_glass_pane.png} (100%) rename client/src/main/resources/textures/blocks/{silver_wool.png => light_gray_wool.png} (100%) delete mode 100755 client/src/main/resources/textures/blocks/lime_glass_pane.png delete mode 100755 client/src/main/resources/textures/blocks/lime_wool.png delete mode 100755 client/src/main/resources/textures/blocks/pink_clay.png delete mode 100755 client/src/main/resources/textures/blocks/pink_wool.png rename client/src/main/resources/textures/blocks/{purple_bed_foot_end.png => violet_bed_foot_end.png} (100%) rename client/src/main/resources/textures/blocks/{purple_bed_foot_side.png => violet_bed_foot_side.png} (100%) rename client/src/main/resources/textures/blocks/{purple_bed_foot_top.png => violet_bed_foot_top.png} (100%) rename client/src/main/resources/textures/blocks/{purple_bed_head_end.png => violet_bed_head_end.png} (100%) rename client/src/main/resources/textures/blocks/{purple_bed_head_side.png => violet_bed_head_side.png} (100%) rename client/src/main/resources/textures/blocks/{purple_bed_head_top.png => violet_bed_head_top.png} (100%) rename client/src/main/resources/textures/blocks/{purple_clay.png => violet_clay.png} (100%) rename client/src/main/resources/textures/blocks/{purple_glass.png => violet_glass.png} (100%) rename client/src/main/resources/textures/blocks/{purple_glass_pane.png => violet_glass_pane.png} (100%) rename client/src/main/resources/textures/blocks/{purple_wool.png => violet_wool.png} (100%) rename client/src/main/resources/textures/{blocks/lime_glass.png => items/dark_green_dye.png} (56%) rename client/src/main/resources/textures/items/{silver_dye.png => light_gray_dye.png} (100%) delete mode 100755 client/src/main/resources/textures/items/lime_dye.png delete mode 100755 client/src/main/resources/textures/items/pink_dye.png rename client/src/main/resources/textures/items/{purple_dye.png => violet_dye.png} (100%) delete mode 100755 common/src/main/java/common/color/DyeColor.java delete mode 100755 common/src/main/java/common/color/TextColor.java create mode 100755 common/src/main/java/common/util/TextColor.java diff --git a/client/src/main/java/client/Client.java b/client/src/main/java/client/Client.java index 4258efb7..ed91e479 100755 --- a/client/src/main/java/client/Client.java +++ b/client/src/main/java/client/Client.java @@ -104,7 +104,6 @@ import common.block.Block; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; -import common.color.TextColor; import common.dimension.Dimension; import common.dimension.Space; import common.effect.Effect; @@ -169,6 +168,7 @@ import common.util.HitPosition; import common.util.IntHashMap; import common.util.LongHashMap; import common.util.ParticleType; +import common.util.TextColor; import common.util.Util; import common.util.Var; import common.util.HitPosition.ObjectType; @@ -1153,7 +1153,7 @@ public class Client implements IThreadListener { int energy = entity.getEnergy(type); if(energy > 0) { int emax = entity.getEnergyCap(type); - y = this.drawStat(x, y, TextColor.LGRAY + type.display, energy, emax, entity.hasEnergyEffect(type) ? type.effect : type.color); + y = this.drawStat(x, y, TextColor.LIGHT_GRAY + type.display, energy, emax, entity.hasEnergyEffect(type) ? type.effect : type.color); } } @@ -1241,7 +1241,7 @@ public class Client implements IThreadListener { else { Drawing.drawText(String.format("%s%.2f" + TextColor.RESET + " %s [%s" + TextColor.RESET + "], %.3f ms, W %d x %d%s", this.framecode(), this.framerate < 1.0f ? 1.0f / this.framerate : this.framerate, this.framerate < 1.0f ? "SPF" : "FPS", - this.vsync ? TextColor.DGRAY + "VSYNC" : (this.syncLimited ? TextColor.GREEN + "" + this.syncLimit : TextColor.RED + "UNL"), + this.vsync ? TextColor.DARK_GRAY + "VSYNC" : (this.syncLimited ? TextColor.GREEN + "" + this.syncLimit : TextColor.RED + "UNL"), (float)PerfSection.getTotal(false) / 1000.0f, this.fbRawX, this.fbRawY, this.fullscreen ? " @ " + (this.vidMode == null ? "?" : this.vidMode.refresh()) + " Hz" : ""), 0, 0, 0xffffffff); @@ -1271,7 +1271,7 @@ public class Client implements IThreadListener { GL11.glGetString(GL11.GL_VERSION), GL11.glGetString(GL11.GL_RENDERER), GL11.glGetString(GL11.GL_VENDOR), this.framecode(), this.framerate < 1.0f ? 1.0f / this.framerate : this.framerate, this.framerate < 1.0f ? "SPF" : "FPS", - this.vsync ? TextColor.DGRAY + "VSYNC" : (this.syncLimited ? TextColor.GREEN + "" + this.syncLimit : TextColor.RED + "UNL"), + this.vsync ? TextColor.DARK_GRAY + "VSYNC" : (this.syncLimited ? TextColor.GREEN + "" + this.syncLimit : TextColor.RED + "UNL"), (float)PerfSection.getTotal(false) / 1000.0f, this.fbRawX, this.fbRawY, this.fullscreen ? " @ " + (this.vidMode == null ? "?" : this.vidMode.refresh()) + " Hz" : "", this.tpscode(), this.tickrate < 1.0f ? 1.0f / this.tickrate : this.tickrate, @@ -1905,7 +1905,7 @@ public class Client implements IThreadListener { String.format("Position: %d %d %d", pos.getX(), pos.getY(), pos.getZ()) ); for(Entry entry : block.getProperties().entrySet()) { - str.append("\n" + (block.getBlock().getSavedProperties().contains(entry.getKey()) ? TextColor.NEON : TextColor.LGRAY) + entry.getKey().getName() + TextColor.RESET + ": " + (entry.getValue() instanceof Boolean bool ? (bool ? TextColor.GREEN : TextColor.RED) + "" + entry.getValue() + TextColor.RESET : entry.getValue())); + str.append("\n" + (block.getBlock().getSavedProperties().contains(entry.getKey()) ? TextColor.NEON : TextColor.LIGHT_GRAY) + entry.getKey().getName() + TextColor.RESET + ": " + (entry.getValue() instanceof Boolean bool ? (bool ? TextColor.GREEN : TextColor.RED) + "" + entry.getValue() + TextColor.RESET : entry.getValue())); } return str.toString(); @@ -2490,7 +2490,7 @@ public class Client implements IThreadListener { this.registerDebug(Keysym.H, "Hilfe zu Tastenkombinationen anzeigen", new DebugRunner() { public void execute(Keysym key) { String bind = Bind.CHEAT.getInput() == null ? "n/a" : Bind.CHEAT.getInput().getDisplay(); - Client.this.show(new GuiInfo("Hilfe zu Tastenkombinationen", TextColor.DGREEN + "" + Client.this.debug.size() + " Tastenkombinationen stehen zur Verfügung:\n" + + Client.this.show(new GuiInfo("Hilfe zu Tastenkombinationen", TextColor.DARK_GREEN + "" + Client.this.debug.size() + " Tastenkombinationen stehen zur Verfügung:\n" + Util.buildLines(new Function() { public String apply(DebugFunction func) { return TextColor.CYAN + bind + TextColor.RED + "+" + TextColor.GREEN + func.key.getDisplay() + TextColor.GRAY + " - " + TextColor.YELLOW + func.help; @@ -2862,9 +2862,9 @@ public class Client implements IThreadListener { private void printVar(CVar cv) { String values = cv.getValues(); - this.logConsole("%s " + TextColor.NEON + "%s " + TextColor.DGRAY + "[%s" + TextColor.DGRAY + "]" + TextColor.GRAY + " = " + TextColor.WHITE + "%s " + TextColor.DGRAY + - "[" + TextColor.GRAY + "D " + TextColor.CRIMSON + "%s" + TextColor.DGRAY + "]%s", cv.getType(), cv.getCVarName(), cv.getCategory(), cv.format(), cv.getDefault(), - values != null ? " [" + TextColor.LGRAY + values + TextColor.DGRAY + "]" : ""); + this.logConsole("%s " + TextColor.NEON + "%s " + TextColor.DARK_GRAY + "[%s" + TextColor.DARK_GRAY + "]" + TextColor.GRAY + " = " + TextColor.WHITE + "%s " + TextColor.DARK_GRAY + + "[" + TextColor.GRAY + "D " + TextColor.CRIMSON + "%s" + TextColor.DARK_GRAY + "]%s", cv.getType(), cv.getCVarName(), cv.getCategory(), cv.format(), cv.getDefault(), + values != null ? " [" + TextColor.LIGHT_GRAY + values + TextColor.DARK_GRAY + "]" : ""); } public void exec(String line) { @@ -3018,7 +3018,7 @@ public class Client implements IThreadListener { TextColor color; if(ping < 0 || ping >= 20000) { bars = 0; - color = ping < 0 ? TextColor.GRAY : TextColor.DRED; + color = ping < 0 ? TextColor.GRAY : TextColor.DARK_RED; } else if(ping < 80) { bars = ping < 50 ? 8 : 7; @@ -3026,7 +3026,7 @@ public class Client implements IThreadListener { } else if(ping < 160) { bars = ping < 120 ? 6 : 5; - color = TextColor.DGREEN; + color = TextColor.DARK_GREEN; } else if(ping < 350) { bars = ping < 220 ? 4 : 3; @@ -3038,7 +3038,7 @@ public class Client implements IThreadListener { } else { bars = 1; - color = TextColor.DRED; + color = TextColor.DARK_RED; } Drawing.drawTextRight(color + (ping < 10000 ? String.format("%d", ping) + "ms" : String.format("%.1f", ((float)ping) / 1000.0f) + "s"), x - 18, y, 0xffffffff); for(int z = 0; z < bars; z++) { diff --git a/client/src/main/java/client/audio/Volume.java b/client/src/main/java/client/audio/Volume.java index 5d400b79..7b14a9e5 100644 --- a/client/src/main/java/client/audio/Volume.java +++ b/client/src/main/java/client/audio/Volume.java @@ -5,8 +5,8 @@ import client.gui.element.Slider; import client.gui.element.SliderCallback; import client.vars.CVar; import client.vars.CVarCategory; -import common.color.TextColor; import common.sound.EventType; +import common.util.TextColor; public enum Volume implements CVar { MASTER("master", "Gesamt"), @@ -52,7 +52,7 @@ public enum Volume implements CVar { } public String getType() { - return TextColor.DGREEN + "volume"; + return TextColor.DARK_GREEN + "volume"; } public CVarCategory getCategory() { diff --git a/client/src/main/java/client/gui/GuiConnect.java b/client/src/main/java/client/gui/GuiConnect.java index 4710f9bc..0053330f 100644 --- a/client/src/main/java/client/gui/GuiConnect.java +++ b/client/src/main/java/client/gui/GuiConnect.java @@ -16,11 +16,11 @@ import client.gui.element.NavButton; import client.gui.element.PressType; import client.renderer.Drawing; import client.util.FileUtils; -import common.color.TextColor; import common.log.Log; import common.network.IPlayer; import common.util.EncryptUtil; import common.util.Pair; +import common.util.TextColor; import common.util.Util; public class GuiConnect extends GuiList implements ButtonCallback { diff --git a/client/src/main/java/client/gui/GuiConsole.java b/client/src/main/java/client/gui/GuiConsole.java index 2097e6fc..43748098 100644 --- a/client/src/main/java/client/gui/GuiConsole.java +++ b/client/src/main/java/client/gui/GuiConsole.java @@ -17,12 +17,12 @@ import client.vars.BoolVar; import client.vars.CVar; import client.window.Keysym; import common.collect.Lists; -import common.color.TextColor; import common.network.IPlayer; import common.packet.CPacketComplete; import common.util.BlockPos; import common.util.ExtMath; import common.util.HitPosition; +import common.util.TextColor; public class GuiConsole extends Gui implements FieldCallback { private class ConsoleArea extends Area { @@ -42,7 +42,7 @@ public class GuiConsole extends Gui implements FieldCallback { if(this.sel_start >= 0 && this.sel_end == this.sel_start) { for(int z = this.sel_start; z >= 0; z--) { char c = this.text.charAt(z); - if(c == TextColor.COMMAND.code) { + if(c == TextColor.COMMAND) { for(int n = z + 1; n < this.text.length(); n++) { c = this.text.charAt(n); if(c < 0x20) { diff --git a/client/src/main/java/client/gui/GuiInfo.java b/client/src/main/java/client/gui/GuiInfo.java index 6824bab5..9c613d4b 100644 --- a/client/src/main/java/client/gui/GuiInfo.java +++ b/client/src/main/java/client/gui/GuiInfo.java @@ -4,17 +4,16 @@ import client.Client; import client.gui.element.MultiLabel; import client.gui.element.NavButton; import common.Version; -import common.color.TextColor; -import common.log.Log; +import common.util.TextColor; import common.util.Util; public class GuiInfo extends Gui { private static final String VER = - TextColor.GREEN + "" + Util.repeatString(TextColor.BUG, Version.RELEASE.getId()) + TextColor.DVIOLET + "|-| " + TextColor.VIOLET + Client.VERSION + TextColor.DVIOLET + " |-|" + - TextColor.GREEN + Util.repeatString(TextColor.BUG, Version.RELEASE.getId()); + TextColor.GREEN + "" + Util.repeatString("\u009a", Version.RELEASE.getId()) + TextColor.DARK_VIOLET + "|-| " + TextColor.VIOLET + Client.VERSION + TextColor.DARK_VIOLET + " |-|" + + TextColor.GREEN + Util.repeatString("\u009a", Version.RELEASE.getId()); private static final String INFO = "Ein Spiel zur Simulation, zum Testen, für Rollenspiele, Mehrspieler und vieles mehr." + "\n" + - "Optimiert für Geschwindigkeit, Stabilität und" + TextColor.UNKNOWN + "" + TextColor.UNKNOWN + " [Speicherzugriffsfehler]"; + "Optimiert für Geschwindigkeit, Stabilität und\u007f\u007f [Speicherzugriffsfehler]"; private static final String HACKED = "Ein weiterer Release von WAAAAAAAAAAAAGHDRIVE!!!1!!!ONEoneOnetyone!1!!!" + "\n" + "Update 0.2 - Läuft jetzt auch mit nur 512KB Fast-RAM!"; @@ -53,12 +52,12 @@ public class GuiInfo extends Gui { for(int z = 0; z < authors.length; z++) { if(z > 0) sb.append((hax ? TextColor.VIOLET : TextColor.GRAY) + ", "); - sb.append((hax ? TextColor.DVIOLET : TextColor.WHITE) + authors[z]); + sb.append((hax ? TextColor.DARK_VIOLET : TextColor.WHITE) + authors[z]); } } private static String getInfo(boolean hax) { - return getHeader(hax, VER, VER) + "\n" + (hax ? (TextColor.VIOLET + HACKED) : (TextColor.LGRAY + INFO)); + return getHeader(hax, VER, VER) + "\n" + (hax ? (TextColor.VIOLET + HACKED) : (TextColor.LIGHT_GRAY + INFO)); } private static String getLibraries(boolean hax) { @@ -78,15 +77,13 @@ public class GuiInfo extends Gui { } private static String getColors() { - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new StringBuilder(TextColor.RESET + "#D "); int num = 0; for(TextColor color : TextColor.values()) { - if(num == 14) - sb.append('\n'); - if((color.code >= Log.CHR_COLORS1 && color.code <= Log.CHR_COLORE1) || (color.code >= Log.CHR_COLORS2 && color.code <= Log.CHR_COLORE2)) { - sb.append(color + "#" + color.colorId + ' '); - num++; - } + if(num == TextColor.values().length / 2) + sb.append("\n" + TextColor.COMMAND + "#d "); + sb.append(color + "#" + color.colorId + ' '); + num++; } return sb.toString(); } @@ -95,8 +92,8 @@ public class GuiInfo extends Gui { StringBuilder sb = new StringBuilder(getHeader(hax, "Mitwirkende dieses Programms", "Das Team -- TCQ")); addLines(sb, hax, "Die dunklen Herrscher", "Quellcode, Design, Grafiken, Refactoring und Code-Cleanup", - TextColor.CYAN + "Sen der \"kleine\" Dämon " + TextColor.CRIMSON + TextColor.DEMON + TextColor.BLACK + TextColor.BLKHEART, - TextColor.RED + "Shen, Herrscher des Schattenlandes " + TextColor.CRIMSON + TextColor.IMP); + TextColor.CYAN + "Sen der \"kleine\" Dämon", + TextColor.RED + "Shen, Herrscher des Schattenlandes"); return sb.toString(); } diff --git a/client/src/main/java/client/gui/GuiMenu.java b/client/src/main/java/client/gui/GuiMenu.java index c5ee2093..2b0e3e6c 100644 --- a/client/src/main/java/client/gui/GuiMenu.java +++ b/client/src/main/java/client/gui/GuiMenu.java @@ -11,9 +11,9 @@ import client.gui.element.PressType; import client.gui.options.GuiOptions; import client.renderer.Drawing; import client.window.Keysym; -import common.color.TextColor; import common.rng.Random; import common.util.ExtMath; +import common.util.TextColor; public class GuiMenu extends Gui { public static final GuiMenu INSTANCE = new GuiMenu(); @@ -186,7 +186,7 @@ public class GuiMenu extends Gui { this.animGrow[this.rand.zrange(this.animWidth)] += 1; } sb = new StringBuilder(this.animWidth + 2); - sb.append(TextColor.DGREEN); + sb.append(TextColor.DARK_GREEN); for(int z = 0; z < this.animWidth; z++) { switch(this.animGrow[z] / 5) { case 0: @@ -197,7 +197,7 @@ public class GuiMenu extends Gui { break; case 2: case 3: - sb.append(TextColor.LGRAY); + sb.append(TextColor.LIGHT_GRAY); break; case 4: case 5: @@ -215,7 +215,7 @@ public class GuiMenu extends Gui { case 13: case 14: case 15: - sb.append(TextColor.DVIOLET); + sb.append(TextColor.DARK_VIOLET); break; default: sb.append(TextColor.VIOLET); diff --git a/client/src/main/java/client/gui/GuiServer.java b/client/src/main/java/client/gui/GuiServer.java index aff3a6b0..c90e037c 100644 --- a/client/src/main/java/client/gui/GuiServer.java +++ b/client/src/main/java/client/gui/GuiServer.java @@ -17,9 +17,9 @@ import client.gui.element.FieldCallback; import client.vars.CVarCategory; import client.vars.Variable; import client.window.Window; -import common.color.TextColor; import common.network.IPlayer; import common.util.EncryptUtil; +import common.util.TextColor; public class GuiServer extends Gui implements FieldCallback { public static final GuiServer INSTANCE = new GuiServer(null); diff --git a/client/src/main/java/client/gui/character/GuiCharacters.java b/client/src/main/java/client/gui/character/GuiCharacters.java index 36f973e6..551b49b6 100644 --- a/client/src/main/java/client/gui/character/GuiCharacters.java +++ b/client/src/main/java/client/gui/character/GuiCharacters.java @@ -11,11 +11,11 @@ import client.gui.element.ListEntry; import client.gui.element.NavButton; import client.gui.element.PressType; import client.renderer.Drawing; -import common.color.TextColor; import common.entity.npc.PlayerCharacter; import common.packet.CPacketAction; import common.packet.CPacketAction.Action; import common.util.ExtMath; +import common.util.TextColor; public class GuiCharacters extends GuiList implements ButtonCallback { @@ -35,7 +35,7 @@ public class GuiCharacters extends GuiList impleme if(this.initial) Drawing.drawRect(x, y, 1, 36, 0xffaf0000); String str = this.character == null ? TextColor.BLUE + "[" + TextColor.CYAN + "+" + TextColor.BLUE + "]" : - String.format(TextColor.GREEN + "Level " + TextColor.DGREEN + "%d " + TextColor.YELLOW + "%s " + TextColor.VIOLET + "%s", + String.format(TextColor.GREEN + "Level " + TextColor.DARK_GREEN + "%d " + TextColor.YELLOW + "%s " + TextColor.VIOLET + "%s", character.level(), character.type(), character.name()); String pos = this.character == null ? TextColor.BROWN + "Neuen Charakter erstellen" : String.format(TextColor.NEON + "%s " + TextColor.GRAY + "bei " + TextColor.ACID + "%d" + TextColor.GRAY + ", " + TextColor.ACID + "%d" + TextColor.GRAY + ", " + TextColor.ACID + "%d", @@ -63,7 +63,7 @@ public class GuiCharacters extends GuiList impleme private void updateButtons() { CharacterEntry entry = this.getSelected(); - this.descField.setText(entry == null ? "" : (entry.character == null ? "*neuer Charakter*" : String.format(TextColor.GRAY + "[%s%s" + TextColor.GRAY + "]\n" + TextColor.LYELLOW + "Herkunft" + TextColor.LGRAY + ": " + TextColor.LBROWN + "%s\n" + TextColor.RESET + "%s", entry.character.align().color, entry.character.align().display, entry.character.origin() == null ? TextColor.DGRAY + "*unbekannt*" : entry.character.origin(), entry.character.info() == null ? "*keine Beschreibung vorhanden*" : this.getSelected().character.info()))); + this.descField.setText(entry == null ? "" : (entry.character == null ? "*neuer Charakter*" : String.format(TextColor.GRAY + "[%s%s" + TextColor.GRAY + "]\n" + TextColor.LIGHT_YELLOW + "Herkunft" + TextColor.LIGHT_GRAY + ": " + TextColor.LIGHT_BROWN + "%s\n" + TextColor.RESET + "%s", entry.character.align().color, entry.character.align().display, entry.character.origin() == null ? TextColor.DARK_GRAY + "*unbekannt*" : entry.character.origin(), entry.character.info() == null ? "*keine Beschreibung vorhanden*" : this.getSelected().character.info()))); this.actionButtom.setText(entry != null && entry.character == null ? "Charakter erstellen" : "Charakter spielen"); this.actionButtom.enabled = entry != null && !entry.initial; this.deleteButtom.enabled = !this.gm.charEditor && entry != null && entry.character != null && !entry.initial; diff --git a/client/src/main/java/client/gui/container/GuiContainer.java b/client/src/main/java/client/gui/container/GuiContainer.java index 2b3e6120..17813c9a 100755 --- a/client/src/main/java/client/gui/container/GuiContainer.java +++ b/client/src/main/java/client/gui/container/GuiContainer.java @@ -29,7 +29,6 @@ import client.window.Button; import common.attributes.Attribute; import common.collect.Lists; import common.collect.Sets; -import common.color.TextColor; import common.enchantment.Enchantment; import common.enchantment.EnchantmentHelper; import common.init.ItemRegistry; @@ -41,6 +40,7 @@ import common.item.ItemStack; import common.packet.CPacketAction; import common.packet.CPacketCheat; import common.util.ExtMath; +import common.util.TextColor; public abstract class GuiContainer extends Gui { @@ -132,7 +132,7 @@ public abstract class GuiContainer extends Gui if(stack.getItem().isAdminItem()) list.add(TextColor.RED + "Admin-Gegenstand"); if(stack.getItem().isMagnetic()) - list.add(TextColor.LGRAY + "Magnetisch"); + list.add(TextColor.LIGHT_GRAY + "Magnetisch"); if(stack.getItem().canBeDyed()) list.add("Farbe: #" + Integer.toHexString(stack.getDyeColor()).toUpperCase()); @@ -424,7 +424,7 @@ public abstract class GuiContainer extends Gui } } else if(stack == this.cheatStack) { - s = TextColor.DGREEN + "+" + TextColor.GREEN + formatAmount(stack.getSize()); + s = TextColor.DARK_GREEN + "+" + TextColor.GREEN + formatAmount(stack.getSize()); } this.drawItemStack(stack, mouseX - j2, mouseY - k2, s); @@ -472,7 +472,7 @@ public abstract class GuiContainer extends Gui StringBuilder sb = new StringBuilder(); for(int i = 0; i < list.size(); ++i) { if(i != 0) - sb.append("\n" + TextColor.LGRAY + (String)list.get(i)); + sb.append("\n" + TextColor.LIGHT_GRAY + (String)list.get(i)); else sb.append((String)list.get(i)); } diff --git a/client/src/main/java/client/gui/container/GuiEnchant.java b/client/src/main/java/client/gui/container/GuiEnchant.java index c6b29177..4c14f694 100755 --- a/client/src/main/java/client/gui/container/GuiEnchant.java +++ b/client/src/main/java/client/gui/container/GuiEnchant.java @@ -4,13 +4,13 @@ import client.gui.element.ActButton; import client.gui.element.ButtonCallback; import client.gui.element.Label; import client.gui.element.PressType; -import common.color.TextColor; import common.enchantment.Enchantment; import common.init.Blocks; import common.inventory.ContainerEnchantment; import common.inventory.InventoryPlayer; import common.rng.Random; import common.util.Pair; +import common.util.TextColor; import common.world.World; public class GuiEnchant extends GuiContainer implements ButtonCallback { @@ -46,13 +46,13 @@ public class GuiEnchant extends GuiContainer implements ButtonCallback { else { if(this.gm.player.getManaPoints() < mana) { this.buttons[l].enabled = false; - this.labels[l].setText(TextColor.DGRAY + name); - this.mana[l].setText(TextColor.DRED + "Mana-Level " + mana); + this.labels[l].setText(TextColor.DARK_GRAY + name); + this.mana[l].setText(TextColor.DARK_RED + "Mana-Level " + mana); } else { this.buttons[l].enabled = true; this.labels[l].setText(TextColor.GREEN + name); - this.mana[l].setText(TextColor.DGREEN + "Mana-Level " + mana + TextColor.GRAY + ", " + TextColor.YELLOW + "-" + (l + 1) + " Mana"); + this.mana[l].setText(TextColor.DARK_GREEN + "Mana-Level " + mana + TextColor.GRAY + ", " + TextColor.YELLOW + "-" + (l + 1) + " Mana"); } } } @@ -110,7 +110,7 @@ public class GuiEnchant extends GuiContainer implements ButtonCallback { s1 = String.format("%d Manapunkte", i1); } - sb.append((sb.length() != 0 ? "\n" : "") + TextColor.LGRAY.toString() + "" + s1); + sb.append((sb.length() != 0 ? "\n" : "") + TextColor.LIGHT_GRAY.toString() + "" + s1); } this.hover(sb.toString(), mouseX, mouseY); diff --git a/client/src/main/java/client/gui/container/GuiRepair.java b/client/src/main/java/client/gui/container/GuiRepair.java index ce8bf126..91fe9e67 100755 --- a/client/src/main/java/client/gui/container/GuiRepair.java +++ b/client/src/main/java/client/gui/container/GuiRepair.java @@ -1,9 +1,9 @@ package client.gui.container; import client.gui.element.Label; -import common.color.TextColor; import common.inventory.ContainerRepair; import common.inventory.InventoryPlayer; +import common.util.TextColor; import common.world.World; public class GuiRepair extends GuiContainer { @@ -20,7 +20,7 @@ public class GuiRepair extends GuiContainer { public void updateScreen() { super.updateScreen(); if(this.anvil.maximumCost >= 40) - this.info.setText(TextColor.DRED + "Zu teuer!"); + this.info.setText(TextColor.DARK_RED + "Zu teuer!"); else if(this.anvil.maximumCost <= 0 || !this.anvil.getSlot(2).getHasStack()) this.info.setText(""); else if(!this.anvil.getSlot(2).canTakeStack(this.playerInv.player)) diff --git a/client/src/main/java/client/gui/ingame/GuiForm.java b/client/src/main/java/client/gui/ingame/GuiForm.java index 412c451f..b84831dc 100644 --- a/client/src/main/java/client/gui/ingame/GuiForm.java +++ b/client/src/main/java/client/gui/ingame/GuiForm.java @@ -16,9 +16,9 @@ import client.gui.element.FieldCallback; import client.gui.element.Toggle; import client.gui.element.ToggleCallback; import client.network.ClientPlayer; -import common.color.TextColor; import common.packet.CPacketForm; import common.util.ExtMath; +import common.util.TextColor; import common.util.Triplet; public class GuiForm extends Gui implements ButtonCallback { diff --git a/client/src/main/java/client/gui/ingame/GuiGameOver.java b/client/src/main/java/client/gui/ingame/GuiGameOver.java index b57b4db2..1b255df5 100755 --- a/client/src/main/java/client/gui/ingame/GuiGameOver.java +++ b/client/src/main/java/client/gui/ingame/GuiGameOver.java @@ -3,8 +3,8 @@ package client.gui.ingame; import client.gui.Gui; import client.gui.element.ActButton; import client.gui.element.ButtonCallback; -import common.color.TextColor; import common.util.ExtMath; +import common.util.TextColor; import client.gui.element.Label; import client.gui.element.MultiLabel; import client.gui.element.PressType; @@ -20,7 +20,7 @@ public class GuiGameOver extends Gui { public void init(int width, int height) { this.timer = 0; - this.add(new Label(0, 0, 400, 0, TextColor.DRED + "Du bist gestorben!")); + this.add(new Label(0, 0, 400, 0, TextColor.DARK_RED + "Du bist gestorben!")); this.add(new MultiLabel(0, 32, 400, 42, String.format(TextColor.GREEN + "Letzte Position" + TextColor.GRAY + ":\n" + TextColor.YELLOW + "%d, %d, %d\n" + TextColor.YELLOW + "%s", ExtMath.floord(this.gm.player.posX), ExtMath.floord(this.gm.player.posY), ExtMath.floord(this.gm.player.posZ), this.gm.player.worldObj.dimension.getDisplay()))); this.button = this.add(new ActButton(100, 100, 200, 0, new ButtonCallback() { public void use(ActButton elem, PressType action) { diff --git a/client/src/main/java/client/gui/ingame/GuiRename.java b/client/src/main/java/client/gui/ingame/GuiRename.java index 76fc093d..8c35a6dc 100644 --- a/client/src/main/java/client/gui/ingame/GuiRename.java +++ b/client/src/main/java/client/gui/ingame/GuiRename.java @@ -10,9 +10,9 @@ import client.gui.element.ButtonCallback; import client.gui.element.Field; import client.gui.element.FieldCallback; import client.network.ClientPlayer; -import common.color.TextColor; import common.item.ItemStack; import common.packet.CPacketMessage; +import common.util.TextColor; public class GuiRename extends Gui implements FieldCallback, ButtonCallback { private final String itemName; diff --git a/client/src/main/java/client/gui/options/GuiBinds.java b/client/src/main/java/client/gui/options/GuiBinds.java index 712d2b38..cd7741d7 100644 --- a/client/src/main/java/client/gui/options/GuiBinds.java +++ b/client/src/main/java/client/gui/options/GuiBinds.java @@ -6,7 +6,7 @@ import client.gui.element.ButtonCallback; import client.gui.element.Label; import client.gui.element.PressType; import client.window.Bind; -import common.color.TextColor; +import common.util.TextColor; public class GuiBinds extends GuiOptions { protected GuiBinds() { diff --git a/client/src/main/java/client/gui/options/GuiDisplay.java b/client/src/main/java/client/gui/options/GuiDisplay.java index 57ce0615..0ddd0c28 100644 --- a/client/src/main/java/client/gui/options/GuiDisplay.java +++ b/client/src/main/java/client/gui/options/GuiDisplay.java @@ -17,8 +17,8 @@ import client.window.Button; import client.window.DisplayMode; import client.window.Window; import common.collect.Lists; -import common.color.TextColor; import common.util.ExtMath; +import common.util.TextColor; public class GuiDisplay extends GuiOptions { private static final String[] DISTANCES = new String[] {"Gruselig", "Winzig", "Gering", "Normal", "Weit"}; diff --git a/client/src/main/java/client/renderer/Drawing.java b/client/src/main/java/client/renderer/Drawing.java index 150d9ab9..db09ed72 100644 --- a/client/src/main/java/client/renderer/Drawing.java +++ b/client/src/main/java/client/renderer/Drawing.java @@ -5,8 +5,8 @@ import org.lwjgl.opengl.GL11; import client.Client; import client.gui.Font; import client.gui.FontChar; -import common.color.TextColor; import common.log.Log; +import common.util.TextColor; import common.util.Util; public abstract class Drawing { diff --git a/client/src/main/java/client/renderer/entity/RenderRabbit.java b/client/src/main/java/client/renderer/entity/RenderRabbit.java index ed680beb..a7cc098b 100755 --- a/client/src/main/java/client/renderer/entity/RenderRabbit.java +++ b/client/src/main/java/client/renderer/entity/RenderRabbit.java @@ -1,8 +1,8 @@ package client.renderer.entity; import client.renderer.model.ModelBase; -import common.color.TextColor; import common.entity.animal.EntityRabbit; +import common.util.TextColor; public class RenderRabbit extends RenderLiving { diff --git a/client/src/main/java/client/renderer/entity/RendererLivingEntity.java b/client/src/main/java/client/renderer/entity/RendererLivingEntity.java index a5da48ae..6f72865f 100755 --- a/client/src/main/java/client/renderer/entity/RendererLivingEntity.java +++ b/client/src/main/java/client/renderer/entity/RendererLivingEntity.java @@ -17,13 +17,13 @@ import client.renderer.layers.LayerRenderer; import client.renderer.model.ModelBase; import client.renderer.texture.DynamicTexture; import common.collect.Lists; -import common.color.TextColor; import common.entity.Entity; import common.entity.item.EntityCrystal; import common.entity.types.EntityAnimal; import common.entity.types.EntityLiving; import common.log.Log; import common.util.ExtMath; +import common.util.TextColor; public abstract class RendererLivingEntity extends Render { diff --git a/client/src/main/java/client/renderer/layers/LayerSheepWool.java b/client/src/main/java/client/renderer/layers/LayerSheepWool.java index 42920353..160295e4 100755 --- a/client/src/main/java/client/renderer/layers/LayerSheepWool.java +++ b/client/src/main/java/client/renderer/layers/LayerSheepWool.java @@ -38,8 +38,7 @@ public class LayerSheepWool implements LayerRenderer } else { - float[] afloat = EntitySheep.getDyeRgb(entitylivingbaseIn.getFleeceColor()); - GlState.color(afloat[0], afloat[1], afloat[2], 1.0F); + GlState.color(entitylivingbaseIn.getFleeceColor().getColor() | 0xff000000); } this.sheepModel.setModelAttributes(this.sheepRenderer.getMainModel()); diff --git a/client/src/main/java/client/renderer/layers/LayerWolfCollar.java b/client/src/main/java/client/renderer/layers/LayerWolfCollar.java index b346c20d..38d448d2 100755 --- a/client/src/main/java/client/renderer/layers/LayerWolfCollar.java +++ b/client/src/main/java/client/renderer/layers/LayerWolfCollar.java @@ -2,8 +2,6 @@ package client.renderer.layers; import client.renderer.GlState; import client.renderer.entity.RenderWolf; -import common.color.DyeColor; -import common.entity.animal.EntitySheep; import common.entity.animal.EntityWolf; @@ -22,9 +20,7 @@ public class LayerWolfCollar implements LayerRenderer if (entitylivingbaseIn.isTamed()) // && !entitylivingbaseIn.isInvisible()) { this.wolfRenderer.bindTexture(WOLF_COLLAR); - DyeColor enumdyecolor = entitylivingbaseIn.getCollarColor(); - float[] afloat = EntitySheep.getDyeRgb(enumdyecolor); - GlState.color(afloat[0], afloat[1], afloat[2], 1.0F); + GlState.color(entitylivingbaseIn.getCollarColor().getColor() | 0xff000000); this.wolfRenderer.getMainModel().render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale); } } diff --git a/client/src/main/java/client/renderer/texture/LayeredColorMaskTexture.java b/client/src/main/java/client/renderer/texture/LayeredColorMaskTexture.java deleted file mode 100755 index 8248aefe..00000000 --- a/client/src/main/java/client/renderer/texture/LayeredColorMaskTexture.java +++ /dev/null @@ -1,100 +0,0 @@ -package client.renderer.texture; - -import java.awt.Graphics; -import java.awt.image.BufferedImage; -import java.awt.image.ImageObserver; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; - -import client.util.FileUtils; -import common.color.DyeColor; -import common.log.Log; - -public class LayeredColorMaskTexture extends Texture -{ - private final String texture; - private final List layers; - private final List colors; - - private static int applyTint(int color, int tint) { - int i = (color & 16711680) >> 16; - int j = (tint & 16711680) >> 16; - int k = (color & 65280) >> 8; - int l = (tint & 65280) >> 8; - int i1 = (color & 255) >> 0; - int j1 = (tint & 255) >> 0; - int k1 = (int)((float)i * (float)j / 255.0F); - int l1 = (int)((float)k * (float)l / 255.0F); - int i2 = (int)((float)i1 * (float)j1 / 255.0F); - return color & -16777216 | k1 << 16 | l1 << 8 | i2; - } - - public LayeredColorMaskTexture(String texture, List layers, List colors) - { - this.texture = texture; - this.layers = layers; - this.colors = colors; - } - - public void loadTexture() throws IOException - { - this.deleteGlTexture(); - BufferedImage bufferedimage; - - try - { - BufferedImage bufferedimage1 = TextureUtil.readImage(FileUtils.getResource(this.texture)); - int i = bufferedimage1.getType(); - - if (i == 0) - { - i = 6; - } - - bufferedimage = new BufferedImage(bufferedimage1.getWidth(), bufferedimage1.getHeight(), i); - Graphics graphics = bufferedimage.getGraphics(); - graphics.drawImage(bufferedimage1, 0, 0, (ImageObserver)null); - - for (int j = 0; j < 17 && j < this.layers.size() && j < this.colors.size(); ++j) - { - String s = this.layers.get(j); - int color = this.colors.get(j).getColor(); - - if (s != null) - { - InputStream inputstream = FileUtils.getResource(s); - BufferedImage bufferedimage2 = TextureUtil.readImage(inputstream); - - if (bufferedimage2.getWidth() == bufferedimage.getWidth() && bufferedimage2.getHeight() == bufferedimage.getHeight() && bufferedimage2.getType() == 6) - { - for (int k = 0; k < bufferedimage2.getHeight(); ++k) - { - for (int l = 0; l < bufferedimage2.getWidth(); ++l) - { - int i1 = bufferedimage2.getRGB(l, k); - - if ((i1 & -16777216) != 0) - { - int j1 = (i1 & 16711680) << 8 & -16777216; - int k1 = bufferedimage1.getRGB(l, k); - int l1 = applyTint(k1, color) & 16777215; - bufferedimage2.setRGB(l, k, j1 | l1); - } - } - } - - bufferedimage.getGraphics().drawImage(bufferedimage2, 0, 0, (ImageObserver)null); - } - } - } - } - catch (IOException ioexception) - { - Log.IO.error((Throwable)ioexception, (String)"Konnte Bild mit mehreren Schichten nicht laden"); - return; - } - - TextureUtil.uploadImage(this.getGlTextureId(), bufferedimage); - } -} diff --git a/client/src/main/java/client/vars/BoolVar.java b/client/src/main/java/client/vars/BoolVar.java index 103f1cad..36865613 100644 --- a/client/src/main/java/client/vars/BoolVar.java +++ b/client/src/main/java/client/vars/BoolVar.java @@ -4,7 +4,7 @@ import java.lang.reflect.Field; import client.gui.element.Toggle; import client.gui.element.ToggleCallback; -import common.color.TextColor; +import common.util.TextColor; import common.util.Util; public class BoolVar extends BaseVar { diff --git a/client/src/main/java/client/vars/CVarCategory.java b/client/src/main/java/client/vars/CVarCategory.java index aa40d07a..4a8bfde5 100644 --- a/client/src/main/java/client/vars/CVarCategory.java +++ b/client/src/main/java/client/vars/CVarCategory.java @@ -1,6 +1,6 @@ package client.vars; -import common.color.TextColor; +import common.util.TextColor; public enum CVarCategory { SYSTEM(TextColor.RED + "system"), diff --git a/client/src/main/java/client/vars/ColorVar.java b/client/src/main/java/client/vars/ColorVar.java index f97ffe22..e65aad68 100644 --- a/client/src/main/java/client/vars/ColorVar.java +++ b/client/src/main/java/client/vars/ColorVar.java @@ -7,7 +7,7 @@ import client.gui.element.FieldCallback; import client.gui.element.Label; import client.gui.element.Slider; import client.gui.element.FieldAction; -import common.color.TextColor; +import common.util.TextColor; import common.util.Util; public class ColorVar extends IntVar { @@ -19,7 +19,7 @@ public class ColorVar extends IntVar { } public String getType() { - return this.alpha ? (TextColor.GRAY + "color32") : (TextColor.LGRAY + "color"); + return this.alpha ? (TextColor.GRAY + "color32") : (TextColor.LIGHT_GRAY + "color"); } protected Integer parseValue(String str) { diff --git a/client/src/main/java/client/vars/EnumVar.java b/client/src/main/java/client/vars/EnumVar.java index 5f8273f0..d5897615 100644 --- a/client/src/main/java/client/vars/EnumVar.java +++ b/client/src/main/java/client/vars/EnumVar.java @@ -7,8 +7,8 @@ import client.gui.element.DropdownCallback; import client.gui.element.Element; import client.gui.element.Switch; import client.gui.element.SwitchCallback; -import common.color.TextColor; import common.util.Identifyable; +import common.util.TextColor; import common.util.Util; public class EnumVar extends BaseVar { diff --git a/client/src/main/java/client/vars/FloatVar.java b/client/src/main/java/client/vars/FloatVar.java index 43c6a3fe..45fdad03 100644 --- a/client/src/main/java/client/vars/FloatVar.java +++ b/client/src/main/java/client/vars/FloatVar.java @@ -4,8 +4,8 @@ import java.lang.reflect.Field; import client.gui.element.Slider; import client.gui.element.SliderFloatCallback; -import common.color.TextColor; import common.util.ExtMath; +import common.util.TextColor; public class FloatVar extends BaseVar { public static interface FloatFunction extends VarFunction { diff --git a/client/src/main/java/client/vars/IntVar.java b/client/src/main/java/client/vars/IntVar.java index 312bd726..5b99a738 100644 --- a/client/src/main/java/client/vars/IntVar.java +++ b/client/src/main/java/client/vars/IntVar.java @@ -4,8 +4,8 @@ import java.lang.reflect.Field; import client.gui.element.Slider; import client.gui.element.SliderCallback; -import common.color.TextColor; import common.util.ExtMath; +import common.util.TextColor; import common.util.Util; public class IntVar extends BaseVar { diff --git a/client/src/main/java/client/vars/StringVar.java b/client/src/main/java/client/vars/StringVar.java index 86549485..b0b03265 100644 --- a/client/src/main/java/client/vars/StringVar.java +++ b/client/src/main/java/client/vars/StringVar.java @@ -4,8 +4,8 @@ import java.lang.reflect.Field; import client.gui.element.FieldCallback; import client.gui.element.FieldAction; -import common.color.TextColor; import common.util.CharValidator; +import common.util.TextColor; public class StringVar extends BaseVar { public static interface StringFunction extends VarFunction { diff --git a/client/src/main/java/client/window/Bind.java b/client/src/main/java/client/window/Bind.java index 5688939f..0884a050 100644 --- a/client/src/main/java/client/window/Bind.java +++ b/client/src/main/java/client/window/Bind.java @@ -4,8 +4,8 @@ import client.Client; import client.gui.element.Element; import client.vars.CVar; import client.vars.CVarCategory; -import common.color.TextColor; import common.util.Identifyable; +import common.util.TextColor; import common.util.Util; public enum Bind implements Identifyable, CVar { diff --git a/client/src/main/resources/textures/blocks/lime_clay.png b/client/src/main/resources/textures/blocks/dark_green_clay.png similarity index 85% rename from client/src/main/resources/textures/blocks/lime_clay.png rename to client/src/main/resources/textures/blocks/dark_green_clay.png index b459a0b59e4057a4bb518fb561c5b29d6726d536..e89162eef6b0512ab861e8dd2b9b425c15fd1507 100755 GIT binary patch delta 414 zcmV;P0b%~$7^4`lkP3e*2PNe(+yDRpbxA})R5;63lgn}KFbqQvAXSrA-Y)%D5{txJ zP`;UH#v6+yew6-we+9zt5wfvG61s}D7XkVdN!~Jq*tZ4mg#a1~QFR~zL3d*tuSHei zsU(DrL?xtZ8VDHxKv*919%RXA0X?r;M5caaOOYOXkT6* zdX>J-VeiF$?*iC>*vq0i2whgqviW;Nbt8rug7ge^caZcahh&0Tc&H{Lk${CIY;jJp zL8SUx2fpatO*@!H_ee>AY9dW?UN^=yO?A$7w*k{NsN>CzCcqs~b!I>=g5O2BA;OiH zqWT7FLBd+I7dwAlAkCLCZ0`-gIX|F{5ndvQt^z?lHH#EL0VxCnq3RB0PrQQeVJ8V$ zL_qg7aoCPT@o|3M#X?nMX|N75u^Y0`=nN$k5`OM~f6$bX&>=^(AWCR6}5?9qx7}$tsEo75| zJxxXuRcLK81VGyq1dj*rjcnS+2I&Y_BpcXsTxKM?fF24{3iy8+NsnU2D}~?VmyC@g0%+;6iEpzkU0@athJB8p20q&jOP>pgGmC<=J9z`2H4ygR3$aD z5dxigvG{Rcgy8q*4`d>eE02Y}Hx78#9FV#p6U4DSGHY)ff#T+pAfOw}Km_%Y$P5+I z$z3mffNi>)KqzjaH>;aAgx+{ZC`75^O&juMA~IktdWKQw`2g_Hq!Ixd$UD$LF~%Vn z=;yfGKW$y)BOSkWUzt1P}mPoseyRh P00000NkvXXu0mjfOb5-V diff --git a/client/src/main/resources/textures/blocks/pink_glass.png b/client/src/main/resources/textures/blocks/dark_green_glass.png similarity index 57% rename from client/src/main/resources/textures/blocks/pink_glass.png rename to client/src/main/resources/textures/blocks/dark_green_glass.png index 5ebaf65ed8eea5eaabe3c8d37e5b5bcf73401bab..cdf7686ca8d01d0f8643364d815f0e7dc2395b50 100755 GIT binary patch delta 1792 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 delta 1364 zcmV-a1*`hkB+Mj`B!BUGR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3004N}tyXKY^e71Z z??gbN*qc<>HAlH2vks%6}YKuLH?X|90bucOe~7 z*XwkYrX%5ffTn}IZ)*w3;_of2+b-*|6Wd?cJ8xImcfTW|R~73B^Clz= zs|!-0E@fHK3MFFD)yPw&OpUf73l%{0yg80gmVGPhM{B)el zomT;a+N0b{Bq6Zt?qXH?ISFJCEtsf~dks>o(*Z(+r4?XM4W7UniBg~?GDji=(m+rK zbQaGm7$8-y0Lfk?fE(k!G(L$mrm`~34t5-7U_vFJ<_rvFkmbE1f1)?!P*zc|szIZg zCe1;D4}Tg$h@l^fIZE^{Y78+(iz#Lk^QIOonpv`(I0+6-O(Df(DW#mTW`^gCuQMj( zyz(lmU)8N)jjOF`%?0UGe9;n0ELKvoA2rlit)`kc+K@_{-*gLG+-yr*Zb-Ez zuKA`dwAiermQU6ut#|DO)@ZWEgQ-3-o~*$d!L%4^_4m zF@N<+9{H4-gsxFPI|J=j+|TY%K9x@##ZJ{wV~zdP84x&@I%mX^Y_~4^s5_KT8Ei^VTWG!JgVKyx}W?^PHIALO8Fg9b8+Xg2jGdVP3I5%TuEjeX3G%Yk? zF=j0|IXN^fFf=taGB#v4Gc+}0lO_jY2st-5GB-CfIFpYDc>*;zlL`nd0yQ_2I0%X) zVK`(sFlJ&lEif@=I4v||GczqYWHK-39vUw{5EP-Flb3k&%M zeEaEHrh&z^6otV}UAO;9_IPD-QsI Wfg1kwYvK+70000P)h|pjLoDu>ZY;9>1KY2=QShp02MQCzem6a``+i7muTq zo86?`zMmHDtG8)Nw>?S!YClckjx9(aVEa8U_djRl?qinv_3NZuy^M!Iz|a@#qjLVx z>%;^J>(5y_F>Jo(sZ#|TV5wIo_$j8I3_ydnKnQkpS^=0lV!Uiax&+!k0_|>d+|S{_ zh7;=ghZ$g890CEbVpnyN)SZFz002GO;eiYb1XfhWj$fwS)$s>th(HbpHY8K2ozY)^ zXz*!#MyNwk>YUJ*9l+#-?@18J^h=;E00f}a(_VF04|^aJ9RE?xo!Iv_Sh%&pC9BjG zl`=gOtlzcf#SoV)hW;vbsoEWT002ovPDHLkV1iZGwx0k1 literal 0 HcmV?d00001 diff --git a/client/src/main/resources/textures/blocks/green_clay.png b/client/src/main/resources/textures/blocks/green_clay.png index e89162eef6b0512ab861e8dd2b9b425c15fd1507..b459a0b59e4057a4bb518fb561c5b29d6726d536 100755 GIT binary patch delta 473 zcmV;~0Ve*V7~UALkP3e(0ExH8{Qv*~ut`KgR5;5$l3TVNIS50yfT}#k({t((WbDZ) z8X|N75u^Y0`=nN$k5`OM~f6$bX&>=^(AWCR6}5?9qx7}$tsEo75| zJxxXuRcLK81VGyq1dj*rjcnS+2I&Y_BpcXsTxKM?fF24{3iy8+NsnU2D}~?VmyC@g0%+;6iEpzkU0@athJB8p20q&jOP>pgGmC<=J9z`2H4ygR3$aD z5dxigvG{Rcgy8q*4`d>eE02Y}Hx78#9FV#p6U4DSGHY)ff#T+pAfOw}Km_%Y$P5+I z$z3mffNi>)KqzjaH>;aAgx+{ZC`75^O&juMA~IktdWKQw`2g_Hq!Ixd$UD$LF~%Vn z=;yfGKW$y)BOSkWUzt1P}mPoseyRh P00000NkvXXu0mjfOb5-V delta 414 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 diff --git a/client/src/main/resources/textures/blocks/lime_wool.png b/client/src/main/resources/textures/blocks/lime_wool.png deleted file mode 100755 index bf56389f0977326ed36ee341346069810de437f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 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 LNkvXXu0mjfSitNg diff --git a/client/src/main/resources/textures/blocks/pink_wool.png b/client/src/main/resources/textures/blocks/pink_wool.png deleted file mode 100755 index c2785af29ebd49add45466a43619de2a3a1d7c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmV+c0{;DpP)?VkUC?bfUAX^kfLTN(-$&3n0q5=uJ=(;S)$`nP)7WymGdEOkMi{YEI zeD5+dCp;}|S~HQi$JvZE=Cjt$ltE0N)@fORuCu`0b_kTvS{_`v`E|Oq6L2FmoIh5#^+I0YgpI= zj5S~4>-b7!Fkg zaoFqT4h00DOUD|7(}+LX=WhdcSLj`#Cc&jLqCQ>TB4h*XzOhD5kgEo;5%}?ub+5F} zXM`^JR04)_>;+yL9%0rqjhh?-geutFzt08t{Sp2G@Yw9k_;mas00000NkvXXu0mjf D%|z{- diff --git a/client/src/main/resources/textures/blocks/purple_bed_foot_end.png b/client/src/main/resources/textures/blocks/violet_bed_foot_end.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_foot_end.png rename to client/src/main/resources/textures/blocks/violet_bed_foot_end.png diff --git a/client/src/main/resources/textures/blocks/purple_bed_foot_side.png b/client/src/main/resources/textures/blocks/violet_bed_foot_side.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_foot_side.png rename to client/src/main/resources/textures/blocks/violet_bed_foot_side.png diff --git a/client/src/main/resources/textures/blocks/purple_bed_foot_top.png b/client/src/main/resources/textures/blocks/violet_bed_foot_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_foot_top.png rename to client/src/main/resources/textures/blocks/violet_bed_foot_top.png diff --git a/client/src/main/resources/textures/blocks/purple_bed_head_end.png b/client/src/main/resources/textures/blocks/violet_bed_head_end.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_head_end.png rename to client/src/main/resources/textures/blocks/violet_bed_head_end.png diff --git a/client/src/main/resources/textures/blocks/purple_bed_head_side.png b/client/src/main/resources/textures/blocks/violet_bed_head_side.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_head_side.png rename to client/src/main/resources/textures/blocks/violet_bed_head_side.png diff --git a/client/src/main/resources/textures/blocks/purple_bed_head_top.png b/client/src/main/resources/textures/blocks/violet_bed_head_top.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_bed_head_top.png rename to client/src/main/resources/textures/blocks/violet_bed_head_top.png diff --git a/client/src/main/resources/textures/blocks/purple_clay.png b/client/src/main/resources/textures/blocks/violet_clay.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_clay.png rename to client/src/main/resources/textures/blocks/violet_clay.png diff --git a/client/src/main/resources/textures/blocks/purple_glass.png b/client/src/main/resources/textures/blocks/violet_glass.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_glass.png rename to client/src/main/resources/textures/blocks/violet_glass.png diff --git a/client/src/main/resources/textures/blocks/purple_glass_pane.png b/client/src/main/resources/textures/blocks/violet_glass_pane.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_glass_pane.png rename to client/src/main/resources/textures/blocks/violet_glass_pane.png diff --git a/client/src/main/resources/textures/blocks/purple_wool.png b/client/src/main/resources/textures/blocks/violet_wool.png similarity index 100% rename from client/src/main/resources/textures/blocks/purple_wool.png rename to client/src/main/resources/textures/blocks/violet_wool.png diff --git a/client/src/main/resources/textures/busy/diamond_axe.png b/client/src/main/resources/textures/busy/diamond_axe.png index 7627f87b2a3c3b940e53d4d93d61853d425c0e65..deaad1ae2fbc1137b36b869b73a9234d23eac305 100755 GIT binary patch literal 4940 zcmeHKc~Dc=8jo55`+NkmjsZfxv|N)(Uk zq+%RS*HIO`xVp^M>JNzn_lr!N`H5S#!7YU;HHYs{{4L(ePa zs#{_9-LZkGZVlEcb3Gz`PgiU1_66kM>^^-W>JjJ4b=EPm`J#mz#@ZP2w^yg|vMyL^ z6HC7w))|R^<8qWc{C3+JZ>ab2$gGT6$5$j|;G&5uQX8MgoA0Tpz8)-mr0Ti%*zRRh zByZ29DCbz^R{|TOkii% zg_Zi1!A(842y?$WT^YAR>rgP_?zWU}$;+tcuP=06)Z$uM8^9H9`Nv)_7;wT?v%3mqzdh}q{^RFXHfdFnl4 z2t=|zi- zWWK^Vd`l*oz9y`T;~BZ#9=|hsdG+|{mY~|=_AQQj0(sWj;)O-Ujtv7fM@??fqt%?5QKYiowqyGq+n71M z$?-V2$;N>r7*&~qJya)EcF(WN==&w`j}7PBF7az56S7(Ak%FQv)yj*p6S8MV`aOz! znBP_IL6_*4<*u^HSya=!S$jp~pMC0K>k$`TPv)hutg58WbuIi@-_EI}P5W^TapRgR z^IRUpAU~%6m{`=eeQ4~wrnA@V;tZixL20BHHx5jVy^4=cR}ipVVd;}I)Glbz{%_|L zYlaisOAJe6^f&JtT3xcsnif!BOz_equ@BWADOi(I{P0LY z<+fk5=;xxf8BbG1vt{YwLl5n(Dz1aobyfe*yt@dmN{0NoYQ-$@0j6)VdBX8 zMU8!y-Sxc=4(*wipx5Z6pr?fRf6qn~GIv;{5TfonnG*CI9F8+nr-YFeD25lJ5~-X^ z=+@U0@KO<%uz>DQ_E&nL;Zk0V3Jr=05Fjxt5SEBA)5C(JV*>ygiotlDEJChk>$n6H zE*s2^ViEywGQn1G2_gQ0crS$t#Y66pJDKRClSWYq9u|0xN+f2_^Y$Hp0AE}}IEE?N zB$8IEb=T6|6)Fjd!eX&VWGabDB?1egI$DmwI-*?dVua|&@J7{$N~*-93OU}02@4e( zj7uN@J^o#MGNr%&dw98efCaz@Ne3%Q6n8R7CL;~@P-8w(0AwJbzx7ZHKx-z=L)8k6 z3PF9MP&wu@7(#@+_g89E5vFuR2nmfqWx!MoR;7Hjq#xfu@V$qT0*O?nGuuaKzxKj8Gx~C1OBgmJq}MiKz$?Vv2-BAu6I1 zVIh+?gF>bN`$a|6)G7Fwo@vDB`8TLmzWer!r7jId@h0NPW~VXjDRsQaNrWY zm&!G|4+?=)h6Z7P4sv08sZbbGs00c{1eah832*d#ul5JWNd#lCH;kbGluV_w$qY7ihJeCk(u3We`UiwvFX0GHdRO4`# zqm9oHT;4WEAT-1H{yt_8%$#g#mNrRQjX2zpA$)I70ka7SE3_rw-W(nto=~~0lJ=)0 zEG*2n@68Uoh1(LrNZx2&(LUaAIrt)#3IJ43EIRIsVga&Pb@+Kt6ClRcNN&U9`F$oCALXW?Z{^BBfy z_BMR$XhDf!KHGe&p{OFQ^!94&apj>&S2HeK7KnElI;Swlj|$Z_DeqiZ;Jex0{$O5Y w$F;5He=hUN=$+Zf-&#HcNwAv9dPWZ#ic2MiA1^JXR~YHz`viEGe;2m;zfuch*8l(j delta 144 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 delta 123 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 IM6N<$g0IO%zW@LL diff --git a/client/src/main/resources/textures/busy/diamond_shears.png b/client/src/main/resources/textures/busy/diamond_shears.png index 775a5360849bf4e0b63032d07cedc02699578df9..b06b33431e5b04678038a234f666dfc2efbf96ba 100755 GIT binary patch literal 5055 zcmeHKYgAKL77l`d6dZ&)D4>P_Dq!BZNr(i*BtX>g3Zkf>H_1&1kcY|5187CX2R@2| zj`%`BKoKoIMifM$R6#1xic%>83W~I{5TvLKzB)Gn5ofyAEZ3U;GixO|_v~+fXYcRq zvy-zeG&s=4%FzmiLfLSG*x|^xt>JBHj(pA<`~yUx%+4l7EQiBE9a^bUh@}Y-8ctL~ zXh<&=qfq*L?aNlG+&rw`{Q70GncINvjn3)kXumvC{9gEbX}h-c#vrh?b7N#!c&3L5 z^=)O!)?o_={@I%0LYK{J)|PeIN#LeFuQPL^E*<%G>s3a7Z}++?!lV@~e!$^@tnA+T zA$uDKE9tkBV)hQ1Jf~obK6?}bsVkh=&AFCf4HB&bLY{JcD57kn8izn;k+ly)iv|Z zf04sD%#G$pF?Xgq%eO?D#+vw=s)8DSoZlHK(r`Q}D`i#D9#dGw{^^d8W7D#gCnp?x zB&Q#{wkm30n7itsC*O~zaCCO(rXHN9sl$CG%$-VYiHoFgx&o%%G?Q!!iK%EfHESnv z@rK%-hN(*8AqT=4kJa8JQ+&5w*m7R7 z-==qYea@z=^#}QL_qyy;&m6YT#%w+B(0^s9D)5Z&u(Mlf2g{OJ&mjhG`;k41wKGh( zJ&Kc^WaGFLkOm(%+i^U^r8?iE;P4dkHFZt%bW;^>RetG1-X!1u1RqAAE3K0SUA{J@9BMmUv}~UZ)edn>)q?(?#6nWPmG@P zG8OmKTERJ?^1I!@9tx(ti+)_cw~zDKx98=O66&Sg%U`xGrE^O*_FQ{id;s{Vp^p{s zn>-Nrx_Q21`ti++Z^u0CDSF&io0y-Qw_U5v$o)rT%1pcaB{l1Qf7mLk*P359kBYax zIFB4zP5u7+RIcE)Vpkpolxj%3$kq zj#N!e5JX1FKRJn|omgu7CHFS*^_h73J7fmbHEL0ihLLp08eTJ9pfDlOcPl z&}_Qa@&^Apg4Nd@tff+K`U@j`DA#?RNvN6$bAWDpFZ^|A!H znxSW6jJynFY?#Jl&_)Ox&%`X}g`!ys6@;eXC^!O^qnBz)7+)*2k4hwFgtG%iDUc^7 zCKiU33_M<^)8TYvoI)kR6TQ8?@dOf{M8YBntU6H+gL4^rs%`2;?UK z9}cM%8kG>@XdyZ5I-Wu#9P?LdR0+m(L_$220Lc)j8d;V2(UO5&Ug(&IK>~?XrZjpX zVt<5$rQ#1_eH5F)VoYazAc*@I??>qOxf{Up z!eYdMiCH3*YxExs5mFh%he3myL>fQ_D0C`7p?H(XMBoD`5>ly=N;Gg12{ljX|PD z5a|qnzyK&-1QLTV4zCbN#fkq5Z8$t=pOGyOlB$vQ6OB_NCyEcP9eEmgOpqFn5*lqh z6bw)}l7br4LL&+zTq7o7EGU;iNcR{m*Z1?%KPd&8fGQ*t>2xfS1d*{6nvjb1hJ*l? zECvV^5rAk5j>tO3u2zU)9jJo*C5VoQR!DgowL;G|Zj^^nvoW+T7BcJtA{drHLu&Lt z1;dXfj5qX*_Zj=(|4S1eBVb&ULHtJMkmiN-Li|`W9Mueo;IDj*?!{lZ1RDK$kx$b1 zvs|C$`XmKD3H-UbKFjq<3Vagyb9MdSEgo9GMtw8*3d%;j+`o>(~AlBmH$PY$3^Ce~cGe+0em=gf19 zt|@J|R;EbN5l&W)?uQOITZO}?f;V=2(KW;QXNy~v6{#IgrNa~C>62${vJTFe%)58o z)|SPtEt|+Xwv>@}>3;v~KKkT$mz%DvZ|B2v!*{ga*%N*|jP~{Z{DK`RTlP@AUL5o*yD`w|o4qe;!{Q0w0uLG2^U~UBVKeU7 zqUtDxtwk7pw5%@N*3-$hc}g7xHEp)XcUd73mMfk@X{%9bfsL!qVnY23uWQV{o4im1 dJR6?%!lXVh@AXTk+4Braayh~5;)QEA{u}=sjdcJ3 delta 1601 zcmV-H2EO^fC(;a%B!Ay}R9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3004N}>ieLeq4{+smF4r{t%Gzz_rx(s!wU5^Wc4M?SM&GN; zE&!=u&Z2HhS${QjEN~@jSir6LdDL~?33tR2D;R5Fv*50V5;4#oE{dnSwq)@v z=;y67c5e;Rb{qgA%J7wGAj{qjNm6Dau&x043PKS$P92J51|y7MhwCTWYyehm^YOzK5{0Kuw9BJf>wZrN&YxKh0*R0WD zZ8GLoKfSXCv+B(S&2-`?XJCvSfpMJ-K+rrnvwxACGsis7 zq;Hqz-#YlOI~tB=g-eRP+EtB~b0g=WLPynkv+9s&ofVux_M4^ow1Z~5XRK9&Ez63m z*nen;Ib0mI)z(*hxteYzx7~2P3B+_3VMpn=RlHG}FFQ!HVa?xz6zi8YMd~rF05v;> ze8WJ)OtjPz1ise68qy&3dr?svvQmiqT?_b_dUSeDgVc(8e_KWVMV}I8bcUD}aTi0FQI?58`Al@EpmEj#MyBQ?K zw`6Hv<;L}Zg@hC~7L$b;9%$&_&s>=6(_UWh(pGbA-BilZt_P)U$;znbe(|=iu zz2bc%+*_FD!#KYR^9mPve}~(k9B1Tgf+(d9DMtf%=OX9Lnp=6|7iq%$V%t-=$r9fz zJAwu!cRuyl!`_(Yb!X-+5TC3sXSwB_(99dDOAGDMEoyBz0*@BUT~wS*#{u>zkK5=6 z_;2ujNrU-~6hAWclO3^*kp%U4tA99IO})$SfKm$1%!a>6dk{mHd}X=^z;EL=@a7Tu zw{q%B3T=ldGtc`vY~H~{H*&rAlD(9kW&VXY>ykS1HS-0Qc{}0!qBKuvsy`^<(?hOF zE1&d8(#vPw%%3=}|F@0?KJyX|zJCB?cK{Agfr(-O000JJOGiWi{{a60|9_ypr;`8x z010qNS#tmYE+YT{E+YYWr9XB6000McNliru=La7NEdWw9dm{h<0Q5;jK~y-)V_+C) zz(`0zsFlHg1_lO(4?li0>^^rDLp>8g%}mS;mnyOtUag$WkpKVLf1(Y5Yc5M?;LucI za8S`;n8+x_h;9fIshSVmxqrdnYNY)irvaf>2LJguSQ$Qi`+-&SkL!0()U)6VgNv$8 zj29Ug7?3sVbfXfRo+aG=Sh7#f^n!o)(kz*ky8b5^RG6-;SU}(lL;EID6!;hCQ z8Sc-W%Lt2qJ`Pp}Y_7sEz+%OU|0g0M7#SEC7}Sc2{_|Zp%)r3Fz&h~g!#4&71_rE} zQ4IL`>J?n@_s5R}HDU#ZlP3K)oHXe_!;k_1gC~V#d>$TR00000NkvXXu0mjfx;+HY diff --git a/client/src/main/resources/textures/busy/diamond_shovel.png b/client/src/main/resources/textures/busy/diamond_shovel.png index e4a8992a9543fda3accf82a74486240afccd3967..accb74a491626d97f1d28ab7fcc328e1e8da6b0b 100755 GIT binary patch literal 4961 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 S@s}QlOtCRDm6cN$yz^h(_hnW9 delta 126 zcmV-^0D=GECYk||BXB)q{UXrWB>pF07*qoM6N<$f<{*|H~;_u diff --git a/client/src/main/resources/textures/busy/diamond_sword.png b/client/src/main/resources/textures/busy/diamond_sword.png index 2a1552d64ac74171eab7a8eca05581cc01d73e0f..5128a5834f4e2c07faa924e13acedb3dc952b598 100755 GIT binary patch literal 5012 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 delta 155 zcmV;M0A&A^C$<5QBYyyWNklP02Dz1o|FTJK*az6002ov JPDHLkV1hFPL*4)Y diff --git a/client/src/main/resources/textures/blocks/lime_glass.png b/client/src/main/resources/textures/items/dark_green_dye.png similarity index 56% rename from client/src/main/resources/textures/blocks/lime_glass.png rename to client/src/main/resources/textures/items/dark_green_dye.png index a292ea3eba270a36a20eea841f0eaa9ddbc3eebf..eecd002c891979b273a69ea8d2190adbd648a412 100755 GIT binary patch delta 1920 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 JLEkUa{sMor^e_Mb diff --git a/client/src/main/resources/textures/items/purple_dye.png b/client/src/main/resources/textures/items/violet_dye.png similarity index 100% rename from client/src/main/resources/textures/items/purple_dye.png rename to client/src/main/resources/textures/items/violet_dye.png diff --git a/common/src/main/java/common/block/Block.java b/common/src/main/java/common/block/Block.java index 8a391093..dd472da4 100755 --- a/common/src/main/java/common/block/Block.java +++ b/common/src/main/java/common/block/Block.java @@ -24,7 +24,6 @@ import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; import common.collect.UnmodifiableIterator; -import common.color.TextColor; import common.enchantment.EnchantmentHelper; import common.entity.Entity; import common.entity.item.EntityItem; @@ -52,6 +51,7 @@ import common.util.Vec3; import common.util.HitPosition.ObjectType; import common.util.Pair; import common.util.Serverside; +import common.util.TextColor; import common.vars.Vars; import common.world.Explosion; import common.world.IBlockAccess; diff --git a/common/src/main/java/common/block/artificial/BlockBed.java b/common/src/main/java/common/block/artificial/BlockBed.java index 7e950731..0e0f2b31 100755 --- a/common/src/main/java/common/block/artificial/BlockBed.java +++ b/common/src/main/java/common/block/artificial/BlockBed.java @@ -3,8 +3,6 @@ package common.block.artificial; import common.block.Block; import common.block.Rotatable; import common.block.Material; -import common.color.DyeColor; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.Item; @@ -21,6 +19,7 @@ import common.util.Clientside; import common.util.ExtMath; import common.util.Facing; import common.util.Identifyable; +import common.util.TextColor; import common.util.WorldPos; import common.world.AWorldServer; import common.world.IWorldAccess; @@ -48,12 +47,11 @@ public class BlockBed extends Block implements Rotatable { public static final PropertyEnum PART = PropertyEnum.create("part", BlockBed.EnumPartType.class); - public static final DyeColor[] COLORS = new DyeColor[] - {DyeColor.RED, DyeColor.WHITE, DyeColor.BLACK, DyeColor.PURPLE}; + public static final TextColor[] COLORS = new TextColor[] {TextColor.RED, TextColor.WHITE, TextColor.BLACK, TextColor.VIOLET}; - private final DyeColor color; + private final TextColor color; - public BlockBed(DyeColor color) { + public BlockBed(TextColor color) { super(Material.BURNABLE); this.color = color; this.setDefaultState(this.getBaseState().withProperty(PART, BlockBed.EnumPartType.FOOT)); @@ -75,7 +73,7 @@ public class BlockBed extends Block implements Rotatable { if(player.isEntityAlive() && Math.abs(player.posX - (double)pos.getX()) <= 3.0D && Math.abs(player.posY - (double)pos.getY()) <= 2.0D && Math.abs(player.posZ - (double)pos.getZ()) <= 3.0D) { player.setSpawnPoint(new WorldPos(pos, player.worldObj)); - player.connection.addHotbar(TextColor.DGREEN + "Dein Einstiegspunkt wurde auf %s bei [%s, %s, %s] gesetzt", + player.connection.addHotbar(TextColor.DARK_GREEN + "Dein Einstiegspunkt wurde auf %s bei [%s, %s, %s] gesetzt", player.worldObj.dimension.getDisplay(), player.getSpawnPoint().getX(), player.getSpawnPoint().getY(), player.getSpawnPoint().getZ()); } @@ -188,15 +186,15 @@ public class BlockBed extends Block implements Rotatable { @Clientside public Model getModel(ModelProvider provider, String name, State state) { if(state.getValue(PART) == EnumPartType.HEAD) - return provider.getModel(this.color + "_bed_head_top").add(0, 0, 0, 16, 9, 16) - .u().rot(90).noCull().s(this.color + "_bed_head_end").noCull() - .w(this.color + "_bed_head_side").uv(0, 7, 16, 16).noCull().e(this.color + "_bed_head_side").uv(16, 7, 0, 16).noCull() + return provider.getModel(this.color.getName() + "_bed_head_top").add(0, 0, 0, 16, 9, 16) + .u().rot(90).noCull().s(this.color.getName() + "_bed_head_end").noCull() + .w(this.color.getName() + "_bed_head_side").uv(0, 7, 16, 16).noCull().e(this.color.getName() + "_bed_head_side").uv(16, 7, 0, 16).noCull() .add(0, 3, 0, 16, 3, 16) .d("oak_planks").noCull().rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); else - return provider.getModel(this.color + "_bed_foot_top").add(0, 0, 0, 16, 9, 16) - .u().rot(90).noCull().n(this.color + "_bed_foot_end").noCull() - .w(this.color + "_bed_foot_side").uv(0, 7, 16, 16).noCull().e(this.color + "_bed_foot_side").uv(16, 7, 0, 16).noCull() + return provider.getModel(this.color.getName() + "_bed_foot_top").add(0, 0, 0, 16, 9, 16) + .u().rot(90).noCull().n(this.color.getName() + "_bed_foot_end").noCull() + .w(this.color.getName() + "_bed_foot_side").uv(0, 7, 16, 16).noCull().e(this.color.getName() + "_bed_foot_side").uv(16, 7, 0, 16).noCull() .add(0, 3, 0, 16, 3, 16) .d("oak_planks").noCull().rotate(ModelRotation.getNorthRot(state.getValue(FACING).getOpposite())); } diff --git a/common/src/main/java/common/block/artificial/BlockCarpet.java b/common/src/main/java/common/block/artificial/BlockCarpet.java index 8635d1c9..219b78de 100755 --- a/common/src/main/java/common/block/artificial/BlockCarpet.java +++ b/common/src/main/java/common/block/artificial/BlockCarpet.java @@ -2,12 +2,12 @@ package common.block.artificial; import common.block.Block; import common.block.Material; -import common.color.DyeColor; import common.item.CheatTab; import common.model.Model; import common.model.Model.ModelProvider; import common.util.BlockPos; import common.util.Facing; +import common.util.TextColor; import common.world.AWorldServer; import common.world.IWorldAccess; import common.world.State; @@ -15,15 +15,15 @@ import common.world.World; public class BlockCarpet extends Block { - public static final BlockCarpet[] CARPETS = new BlockCarpet[DyeColor.values().length]; + public static final BlockCarpet[] CARPETS = new BlockCarpet[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static BlockCarpet getByColor(DyeColor color) { + public static BlockCarpet getByColor(TextColor color) { return CARPETS[color.ordinal()]; } - public BlockCarpet(DyeColor color) + public BlockCarpet(TextColor color) { super(Material.FLEECE); this.color = color; @@ -34,7 +34,7 @@ public class BlockCarpet extends Block CARPETS[color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } diff --git a/common/src/main/java/common/block/artificial/BlockStainedGlass.java b/common/src/main/java/common/block/artificial/BlockStainedGlass.java index 399ab0db..6629abdb 100755 --- a/common/src/main/java/common/block/artificial/BlockStainedGlass.java +++ b/common/src/main/java/common/block/artificial/BlockStainedGlass.java @@ -1,22 +1,22 @@ package common.block.artificial; -import common.color.DyeColor; +import common.util.TextColor; public class BlockStainedGlass extends BlockGlass { - public static final BlockStainedGlass[] GLASS = new BlockStainedGlass[DyeColor.values().length]; + public static final BlockStainedGlass[] GLASS = new BlockStainedGlass[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static BlockStainedGlass getByColor(DyeColor color) { + public static BlockStainedGlass getByColor(TextColor color) { return GLASS[color.ordinal()]; } - public BlockStainedGlass(DyeColor color) { + public BlockStainedGlass(TextColor color) { this.color = color; GLASS[color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } } diff --git a/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java b/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java index 9654e9e2..e956a11f 100755 --- a/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java +++ b/common/src/main/java/common/block/artificial/BlockStainedGlassPane.java @@ -1,21 +1,21 @@ package common.block.artificial; import common.block.Material; -import common.color.DyeColor; import common.item.CheatTab; import common.properties.Property; +import common.util.TextColor; public class BlockStainedGlassPane extends BlockPane { - public static final BlockStainedGlassPane[] PANES = new BlockStainedGlassPane[DyeColor.values().length]; + public static final BlockStainedGlassPane[] PANES = new BlockStainedGlassPane[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static BlockStainedGlassPane getByColor(DyeColor color) { + public static BlockStainedGlassPane getByColor(TextColor color) { return PANES[color.ordinal()]; } - public BlockStainedGlassPane(DyeColor color) + public BlockStainedGlassPane(TextColor color) { super(Material.TRANSLUCENT); this.color = color; @@ -24,7 +24,7 @@ public class BlockStainedGlassPane extends BlockPane PANES[color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } diff --git a/common/src/main/java/common/block/artificial/BlockWool.java b/common/src/main/java/common/block/artificial/BlockWool.java index e15a3241..7ded23cb 100755 --- a/common/src/main/java/common/block/artificial/BlockWool.java +++ b/common/src/main/java/common/block/artificial/BlockWool.java @@ -2,22 +2,22 @@ package common.block.artificial; import common.block.Block; import common.block.Material; -import common.color.DyeColor; import common.item.CheatTab; import common.model.Model; import common.model.Model.ModelProvider; +import common.util.TextColor; import common.world.State; public class BlockWool extends Block { - public static final BlockWool[] WOOLS = new BlockWool[DyeColor.values().length]; + public static final BlockWool[] WOOLS = new BlockWool[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static BlockWool getByColor(DyeColor color) { + public static BlockWool getByColor(TextColor color) { return WOOLS[color.ordinal()]; } - public BlockWool(DyeColor color) { + public BlockWool(TextColor color) { super(Material.BURNABLE); this.color = color; this.setTab(CheatTab.BLOCKS); @@ -25,7 +25,7 @@ public class BlockWool extends Block { WOOLS[color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } diff --git a/common/src/main/java/common/block/natural/BlockColoredClay.java b/common/src/main/java/common/block/natural/BlockColoredClay.java index eea53315..fd9abd46 100644 --- a/common/src/main/java/common/block/natural/BlockColoredClay.java +++ b/common/src/main/java/common/block/natural/BlockColoredClay.java @@ -2,29 +2,29 @@ package common.block.natural; import common.block.Block; import common.block.Material; -import common.color.DyeColor; import common.item.CheatTab; import common.model.Model; import common.model.Model.ModelProvider; +import common.util.TextColor; import common.world.State; public class BlockColoredClay extends Block { - public static final BlockColoredClay[] CLAY = new BlockColoredClay[DyeColor.values().length]; + public static final BlockColoredClay[] CLAY = new BlockColoredClay[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static BlockColoredClay getByColor(DyeColor color) { + public static BlockColoredClay getByColor(TextColor color) { return CLAY[color.ordinal()]; } - public BlockColoredClay(DyeColor color) { + public BlockColoredClay(TextColor color) { super(Material.SOLID); this.color = color; this.setTab(CheatTab.ROCK); CLAY[color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } diff --git a/common/src/main/java/common/block/tech/BlockChest.java b/common/src/main/java/common/block/tech/BlockChest.java index 7b599738..ac3df983 100755 --- a/common/src/main/java/common/block/tech/BlockChest.java +++ b/common/src/main/java/common/block/tech/BlockChest.java @@ -8,7 +8,6 @@ import common.block.Rotatable; import common.block.SoundType; import common.collect.Maps; import common.block.Material; -import common.color.TextColor; import common.entity.Entity; import common.entity.animal.EntityCat; import common.entity.npc.EntityNPC; @@ -30,6 +29,7 @@ import common.tileentity.TileEntityChest; import common.util.BlockPos; import common.util.BoundingBox; import common.util.Facing; +import common.util.TextColor; import common.vars.Vars; import common.world.State; import common.world.World; diff --git a/common/src/main/java/common/block/tech/BlockNuke.java b/common/src/main/java/common/block/tech/BlockNuke.java index f3547493..55b6aab5 100755 --- a/common/src/main/java/common/block/tech/BlockNuke.java +++ b/common/src/main/java/common/block/tech/BlockNuke.java @@ -2,7 +2,6 @@ package common.block.tech; import common.block.Block; import common.block.Material; -import common.color.TextColor; import common.entity.item.EntityNuke; import common.init.Blocks; import common.init.SoundEvent; @@ -10,6 +9,7 @@ import common.item.CheatTab; import common.model.Model; import common.model.Model.ModelProvider; import common.util.BlockPos; +import common.util.TextColor; import common.world.Explosion; import common.world.State; import common.world.World; diff --git a/common/src/main/java/common/block/tech/BlockTNT.java b/common/src/main/java/common/block/tech/BlockTNT.java index 87464fcc..8cfd5029 100755 --- a/common/src/main/java/common/block/tech/BlockTNT.java +++ b/common/src/main/java/common/block/tech/BlockTNT.java @@ -2,7 +2,6 @@ package common.block.tech; import common.block.Block; import common.block.Material; -import common.color.TextColor; import common.entity.Entity; import common.entity.item.EntityTnt; import common.entity.npc.EntityNPC; @@ -21,6 +20,7 @@ import common.tileentity.TileEntity; import common.util.BlockPos; import common.util.ExtMath; import common.util.Facing; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; import common.world.Explosion; diff --git a/common/src/main/java/common/color/DyeColor.java b/common/src/main/java/common/color/DyeColor.java deleted file mode 100755 index 3e742cd0..00000000 --- a/common/src/main/java/common/color/DyeColor.java +++ /dev/null @@ -1,97 +0,0 @@ -package common.color; - -import java.util.Map; - -import common.collect.Maps; -import common.util.Displayable; -import common.util.Identifyable; - -public enum DyeColor implements Identifyable, Displayable { - WHITE("white", "Weiß", "Weißes", "Weißer", "Weiße", "bonemeal", "Knochenmehl", 16777215, TextColor.WHITE), - ORANGE("orange", "Orange", "Oranges", "Oranger", "Orange", null, "Oranger Farbstoff", 14188339, TextColor.ORANGE), - MAGENTA("magenta", "Magenta", "Magenta", "Magenta", "Magenta", null, "Magenta Farbstoff", 11685080, TextColor.VIOLET), - LIGHT_BLUE("light_blue", "Hellblau", "Hellblaues", "Hellblauer", "Hellblaue", null, "Hellblauer Farbstoff", 6724056, TextColor.BLUE), - YELLOW("yellow", "Gelb", "Gelbes", "Gelber", "Gelbe", null, "Gelber Farbstoff", 15066419, TextColor.YELLOW), - LIME("lime", "Hellgrün", "Hellgrünes", "Hellgrüner", "Hellgrüne", null, "Hellgrüner Farbstoff", 8375321, TextColor.GREEN), - PINK("pink", "Rosa", "Rosa", "Rosa", "Rosa", null, "Rosa Farbstoff", 15892389, TextColor.MAGENTA), - GRAY("gray", "Grau", "Graues", "Grauer", "Graue", null, "Grauer Farbstoff", 5000268, TextColor.GRAY), - SILVER("silver", "Hellgrau", "Hellgraues", "Hellgrauer", "Hellgraue", null, "Hellgrauer Farbstoff", 10066329, TextColor.LGRAY), - CYAN("cyan", "Türkis", "Türkises", "Türkiser", "Türkise", null, "Türkiser Farbstoff", 5013401, TextColor.CYAN), - PURPLE("purple", "Violett", "Violettes", "Violetter", "Violette", null, "Violetter Farbstoff", 8339378, TextColor.DMAGENTA), - BLUE("blue", "Blau", "Blaues", "Blauer", "Blaue", "lapis_lazuli", "Lapislazuli", 3361970, TextColor.MIDNIGHT), - BROWN("brown", "Braun", "Braunes", "Brauner", "Braune", "cocoa_powder", "Gemahlene Kakaobohnen", 6704179, TextColor.BROWN), - GREEN("green", "Grün", "Grünes", "Grüner", "Grüne", null, "Kaktusgrün", 6717235, TextColor.DGREEN), - RED("red", "Rot", "Rotes", "Roter", "Rote", null, "Roter Farbstoff", 10040115, TextColor.DRED), - BLACK("black", "Schwarz", "Schwarzes", "Schwarzer", "Schwarze", "ink_sack", "Tintenbeutel", 1644825, TextColor.BLACK); - - private static final Map LOOKUP = Maps.newHashMap(); - - private final String name; - private final String display; - private final String subject; - private final String msubject; - private final String fsubject; - private final String dye; - private final String dyeName; - private final int color; - private final TextColor textColor; - - static { - for(DyeColor color : values()) { - LOOKUP.put(color.name, color); - } - } - - public static DyeColor byName(String name) { - DyeColor type = LOOKUP.get(name.toLowerCase()); - return type == null ? WHITE : type; - } - - public static DyeColor getExact(String name) { - return LOOKUP.get(name.toLowerCase()); - } - - private DyeColor(String name, String display, String subject, String msubject, String fsubject, String dye, String dyeName, int color, TextColor textColor) { - this.name = name; - this.display = display; - this.subject = subject; - this.msubject = msubject; - this.fsubject = fsubject; - this.dye = dye == null ? name + "_dye" : dye; - this.dyeName = dyeName; - this.color = color; - this.textColor = textColor; - } - - public String toString() { - return this.name; - } - - public String getName() { - return this.name; - } - - public String getDisplay() { - return this.display; - } - - public String getSubject(Integer type) { - return type == null ? this.display : (type < 0 ? this.fsubject : (type > 0 ? this.msubject : this.subject)); - } - - public String getDye() { - return this.dye; - } - - public String getDyeName() { - return this.dyeName; - } - - public int getColor() { - return this.color; - } - - public TextColor getTextColor() { - return this.textColor; - } -} diff --git a/common/src/main/java/common/color/TextColor.java b/common/src/main/java/common/color/TextColor.java deleted file mode 100755 index 4c4d8b4c..00000000 --- a/common/src/main/java/common/color/TextColor.java +++ /dev/null @@ -1,100 +0,0 @@ -package common.color; - -import java.util.regex.Pattern; - -import common.util.Util; - -public enum TextColor { - NULL(0x00, "null"), - RESET(0x01, 0, "reset", 'D'), - CRIMSON(0x02, 0x601010, "crimson", 'C'), - DRED(0x03, 0x7f0000, "dark_red", 'r'), - RED(0x04, 0xcf0000, "red", 'R'), - DBROWN(0x05, 0x56250b, "dark_brown", 'w'), - ORANGE(0x06, 0xff7000, "orange", 'o'), - BROWN(0x07, 0x8c5606, "brown", 'W'), - LBROWN(0x08, 0x9c7636, "light_brown", 'l'), - BEIGE(0x09, 0xcfcfaf, "beige", 'L'), - NEWLINE(0x0a, "newline"), - YELLOW(0x0b, 0xbfbf00, "yellow", 'y'), - LYELLOW(0x0c, 0xffff7f, "light_yellow", 'Y'), - ORK(0x0d, 0x487c00, "ork_green", 'O'), - ACID(0x0e, 0x80ff00, "acid_green", 'a'), - DGREEN(0x0f, 0x007f00, "dark_green", 'g'), - GREEN(0x10, 0x00cf00, "green", 'G'), - COMMAND(0x11, 0x00ff80, "command_green", 'd'), - CYAN(0x12, 0x00bfbf, "cyan", 'c'), - NEON(0x13, 0x80c0f0, "neon", 'n'), - MIDNIGHT(0x14, 0x000080, "midnight", 'm'), - BLUE(0x15, 0x0000cf, "blue", 'b'), - LBLUE(0x16, 0x5f5fff, "light_blue", 'B'), - VIOLET(0x17, 0x6000ff, "violet", 'V'), - DVIOLET(0x18, 0x5400be, "dark_violet", 'v'), - DMAGENTA(0x19, 0x6f006f, "dark_magenta", 'm'), - MAGENTA(0x1a, 0xbf00bf, "magenta", 'M'), - WHITE(0x1b, 0xffffff, "white", '4'), - LGRAY(0x1c, 0xc0c0c0, "light_gray", '3'), - GRAY(0x1d, 0x808080, "gray", '2'), - DGRAY(0x1e, 0x585858, "dark_gray", '1'), - BLACK(0x1f, 0x000000, "black", '0'), - SPACE(0x20, "space"), - UNKNOWN(0x7f, "unknown"), - SGA_A(0x80, "dc_a"), - SGA_Z(0x99, "dc_z"), - BUG(0x9a, "bug"), - INVALID(0x9b, "invalid"), - DEMON(0x9c, "demon"), - IMP(0x9d, "imp"), - HORNS(0x9e, "horns"), - BLKHEART(0x9f, "heart"); - - private static final Pattern STRIP_PATTERN = Pattern.compile("[\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000b\u000c\r\u000e\u000f" - + "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f]"); - - private static final int[] COLORS = new int[32]; - private static final int[] SHADOW = new int[32]; - - private final String format; - public final char code; - public final String id; - public final char colorId; - public final int color; - public final int shadow; - - public static String stripCodes(String text) { - return text == null ? null : STRIP_PATTERN.matcher(text).replaceAll(""); - } - - public static int getColor(char code) { - return code < COLORS.length ? COLORS[code] : 0x000000; - } - - public static int getShadow(char code) { - return code < SHADOW.length ? SHADOW[code] : 0x000000; - } - - private TextColor(int code, String id) { - this(code, 0, id, (char)0); - } - - private TextColor(int code, int color, String id, char colorId) { - this.format = Character.toString(this.code = (char)code); - this.color = color; - this.shadow = Util.mixColor(Util.mixColor(this.color, 0x000000), 0x000000); - this.id = id; - this.colorId = colorId; - } - - public String toString() { - return this.format; - } - - static { - for(TextColor color : values()) { - if(color.code < COLORS.length) { - COLORS[color.code] = color.color; - SHADOW[color.code] = color.shadow; - } - } - } -} diff --git a/common/src/main/java/common/effect/Effect.java b/common/src/main/java/common/effect/Effect.java index 1d6503c2..74da2616 100755 --- a/common/src/main/java/common/effect/Effect.java +++ b/common/src/main/java/common/effect/Effect.java @@ -2,12 +2,12 @@ package common.effect; import java.util.Map; import common.collect.Maps; -import common.color.TextColor; import common.entity.DamageSource; import common.entity.npc.EntityNPC; import common.entity.projectile.EntityPotion; import common.entity.types.EntityLiving; import common.item.ItemStack; +import common.util.TextColor; import common.vars.Vars; public enum Effect { diff --git a/common/src/main/java/common/entity/DamageSource.java b/common/src/main/java/common/entity/DamageSource.java index e46f59b0..3fb2052a 100755 --- a/common/src/main/java/common/entity/DamageSource.java +++ b/common/src/main/java/common/entity/DamageSource.java @@ -1,8 +1,8 @@ package common.entity; -import common.color.TextColor; import common.entity.projectile.EntityProjectile; import common.entity.types.EntityLiving; +import common.util.TextColor; import common.world.Explosion; public class DamageSource @@ -24,13 +24,13 @@ public class DamageSource public static final DamageSource fall = (new DamageSource(TextColor.NEON, "%s fiel der Schwerkraft zum Opfer")).setDamageBypassesArmor(); public static final DamageSource outOfWorld = - (new DamageSource(TextColor.DGRAY, "%s fiel aus der Welt")).setDamageBypassesArmor(); + (new DamageSource(TextColor.DARK_GRAY, "%s fiel aus der Welt")).setDamageBypassesArmor(); public static final DamageSource generic = - (new DamageSource(TextColor.LGRAY, "%s starb")).setDamageBypassesArmor(); + (new DamageSource(TextColor.LIGHT_GRAY, "%s starb")).setDamageBypassesArmor(); public static final DamageSource magic = - (new DamageSource(TextColor.DMAGENTA, "%s wurde durch Magie getötet")).setDamageBypassesArmor().setMagicDamage(); + (new DamageSource(TextColor.DARK_MAGENTA, "%s wurde durch Magie getötet")).setDamageBypassesArmor().setMagicDamage(); public static final DamageSource anvil = - new DamageSource(TextColor.DRED, "%s wurde von einem fallenden Amboss zerquetscht"); + new DamageSource(TextColor.DARK_RED, "%s wurde von einem fallenden Amboss zerquetscht"); public static final DamageSource fallingBlock = new DamageSource(TextColor.GRAY, "%s wurde von einem fallenden Block zerquetscht"); public static final DamageSource radiation = @@ -62,8 +62,8 @@ public class DamageSource public static DamageSource causeExterminatusDamage(EntityLiving mob) { - return mob == null ? new DamageSource(TextColor.DRED, "%s wurde vernichtet") : - new EntityDamageSource(TextColor.DRED, "%s wurde von %s vernichtet", "%s wurde von %s mit %s vernichtet", + return mob == null ? new DamageSource(TextColor.DARK_RED, "%s wurde vernichtet") : + new EntityDamageSource(TextColor.DARK_RED, "%s wurde von %s vernichtet", "%s wurde von %s mit %s vernichtet", "%s vernichtet", "%s mit %s vernichtet", mob); } @@ -79,7 +79,7 @@ public class DamageSource public static DamageSource causeThrownDamage(Entity source, Entity thrower) { - return (new EntityDamageSourceIndirect(TextColor.DGREEN, "%s wurde von %s zu Tode geprügelt", "%s wurde von %s mit %s zu Tode geprügelt", "%s zu Tode geprügelt", "%s mit %s zu Tode geprügelt", source, thrower)).setProjectile(); + return (new EntityDamageSourceIndirect(TextColor.DARK_GREEN, "%s wurde von %s zu Tode geprügelt", "%s wurde von %s mit %s zu Tode geprügelt", "%s zu Tode geprügelt", "%s mit %s zu Tode geprügelt", source, thrower)).setProjectile(); } public static DamageSource causeTeleFragDamage(Entity source, Entity replacer) @@ -89,7 +89,7 @@ public class DamageSource public static DamageSource causeIndirectMagicDamage(Entity source, Entity mage) { - return (new EntityDamageSourceIndirect(TextColor.DMAGENTA, "%s wurde von %s mit Magie getötet", "%s wurde von %s mit %s getötet", "%s mit Magie getötet", "%s mit %s getötet", source, mage)).setDamageBypassesArmor().setMagicDamage(); + return (new EntityDamageSourceIndirect(TextColor.DARK_MAGENTA, "%s wurde von %s mit Magie getötet", "%s wurde von %s mit %s getötet", "%s mit Magie getötet", "%s mit %s getötet", source, mage)).setDamageBypassesArmor().setMagicDamage(); } public static DamageSource causeThornsDamage(Entity source) diff --git a/common/src/main/java/common/entity/Entity.java b/common/src/main/java/common/entity/Entity.java index d14d36bb..7f316f67 100755 --- a/common/src/main/java/common/entity/Entity.java +++ b/common/src/main/java/common/entity/Entity.java @@ -9,7 +9,6 @@ import common.block.artificial.BlockFence; import common.block.artificial.BlockFenceGate; import common.block.artificial.BlockWall; import common.block.liquid.BlockLiquid; -import common.color.TextColor; import common.dimension.Dimension; import common.dimension.Space; import common.enchantment.Enchantment; @@ -38,6 +37,7 @@ import common.util.ParticleType; import common.util.PortalType; import common.util.Position; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.vars.Vars; import common.world.Explosion; @@ -2415,7 +2415,7 @@ public abstract class Entity public final String getColoredName(TextColor reset) { - return TextColor.DGRAY + "[" + this.getName() + TextColor.DGRAY + "]" + reset; + return TextColor.DARK_GRAY + "[" + this.getName() + TextColor.DARK_GRAY + "]" + reset; } // public Text formatComponent(Text comp) { diff --git a/common/src/main/java/common/entity/EntityDamageSource.java b/common/src/main/java/common/entity/EntityDamageSource.java index 971a33c8..77f85c89 100755 --- a/common/src/main/java/common/entity/EntityDamageSource.java +++ b/common/src/main/java/common/entity/EntityDamageSource.java @@ -1,8 +1,8 @@ package common.entity; -import common.color.TextColor; import common.entity.types.EntityLiving; import common.item.ItemStack; +import common.util.TextColor; public class EntityDamageSource extends DamageSource { diff --git a/common/src/main/java/common/entity/EntityDamageSourceIndirect.java b/common/src/main/java/common/entity/EntityDamageSourceIndirect.java index a28b70a2..eff37f09 100755 --- a/common/src/main/java/common/entity/EntityDamageSourceIndirect.java +++ b/common/src/main/java/common/entity/EntityDamageSourceIndirect.java @@ -1,8 +1,8 @@ package common.entity; -import common.color.TextColor; import common.entity.types.EntityLiving; import common.item.ItemStack; +import common.util.TextColor; public class EntityDamageSourceIndirect extends EntityDamageSource { diff --git a/common/src/main/java/common/entity/animal/EntitySheep.java b/common/src/main/java/common/entity/animal/EntitySheep.java index e86cb842..f27580e5 100755 --- a/common/src/main/java/common/entity/animal/EntitySheep.java +++ b/common/src/main/java/common/entity/animal/EntitySheep.java @@ -1,7 +1,5 @@ package common.entity.animal; -import java.util.Map; - import common.ai.EntityAIEatGrass; import common.ai.EntityAIFollowParent; import common.ai.EntityAILookIdle; @@ -12,8 +10,6 @@ import common.ai.EntityAITempt; import common.ai.EntityAIWander; import common.ai.EntityAIWatchClosest; import common.block.artificial.BlockWool; -import common.collect.Maps; -import common.color.DyeColor; import common.entity.item.EntityItem; import common.entity.npc.EntityNPC; import common.entity.types.EntityAnimal; @@ -33,6 +29,7 @@ import common.rng.Random; import common.tags.TagObject; import common.util.Clientside; import common.util.ExtMath; +import common.util.TextColor; import common.world.World; public class EntitySheep extends EntityAnimal @@ -48,7 +45,6 @@ public class EntitySheep extends EntityAnimal return false; } }, 2, 1); - private static final Map DYE_TO_RGB = Maps.newEnumMap(DyeColor.class); /** * Used to control movement as well as wool regrowth. Set to 40 on handleHealthUpdate and counts down with each @@ -57,11 +53,6 @@ public class EntitySheep extends EntityAnimal private int sheepTimer; private EntityAIEatGrass entityAIEatGrass = new EntityAIEatGrass(this); - public static float[] getDyeRgb(DyeColor dyeColor) - { - return (float[])DYE_TO_RGB.get(dyeColor); - } - public EntitySheep(World worldIn) { super(worldIn); @@ -109,7 +100,7 @@ public class EntitySheep extends EntityAnimal { super.entityInit(); this.dataWatcher.addObject(16, (byte)0); - this.dataWatcher.addObject(17, (byte)(DyeColor.WHITE.ordinal() & 255)); + this.dataWatcher.addObject(17, (byte)(TextColor.WHITE.ordinal() & 255)); } /** @@ -218,7 +209,7 @@ public class EntitySheep extends EntityAnimal { super.readEntity(tagCompund); this.setSheared(tagCompund.getBool("Sheared")); - this.setFleeceColor(DyeColor.byName(tagCompund.getString("Color"))); + this.setFleeceColor(TextColor.byName(tagCompund.getString("Color"))); } /** @@ -253,15 +244,15 @@ public class EntitySheep extends EntityAnimal /** * Gets the wool color of this sheep. */ - public DyeColor getFleeceColor() + public TextColor getFleeceColor() { - return DyeColor.values()[(this.dataWatcher.getWatchableObjectByte(17) & 255) % DyeColor.values().length]; + return TextColor.values()[(this.dataWatcher.getWatchableObjectByte(17) & 255) % TextColor.values().length]; } /** * Sets the wool color of this sheep */ - public void setFleeceColor(DyeColor color) + public void setFleeceColor(TextColor color) { this.dataWatcher.updateObject(17, (byte)(color.ordinal() & 255)); } @@ -282,23 +273,23 @@ public class EntitySheep extends EntityAnimal this.dataWatcher.updateObject(16, (byte)(sheared ? 1 : 0)); } - private static final DyeColor[] RARE_COLORS = { - DyeColor.BLUE, DyeColor.CYAN, DyeColor.GREEN, DyeColor.LIGHT_BLUE, DyeColor.LIME, - DyeColor.MAGENTA, DyeColor.ORANGE, DyeColor.PINK, DyeColor.PURPLE, DyeColor.RED + private static final TextColor[] RARE_COLORS = { + TextColor.BLUE, TextColor.CYAN, TextColor.DARK_GREEN, TextColor.LIGHT_BLUE, TextColor.GREEN, + TextColor.MAGENTA, TextColor.ORANGE, TextColor.DARK_VIOLET, TextColor.VIOLET, TextColor.RED }; - public static DyeColor getRandomSheepColor(Random random, float temp) + public static TextColor getRandomSheepColor(Random random, float temp) { if(temp <= 0.0f) - return DyeColor.WHITE; + return TextColor.WHITE; int i = random.zrange(140); - return i < 20 ? DyeColor.BLACK : - (i < 30 ? DyeColor.GRAY : - (i < 40 ? DyeColor.SILVER : - (i < 70 ? DyeColor.BROWN : - (i < 120 ? DyeColor.WHITE : - (i < 130 ? (random.chance(10) ? RARE_COLORS[i - 120] : DyeColor.WHITE) : - (random.chance(500) ? DyeColor.YELLOW : DyeColor.WHITE) + return i < 20 ? TextColor.BLACK : + (i < 30 ? TextColor.GRAY : + (i < 40 ? TextColor.LIGHT_GRAY : + (i < 70 ? TextColor.BROWN : + (i < 120 ? TextColor.WHITE : + (i < 130 ? (random.chance(10) ? RARE_COLORS[i - 120] : TextColor.WHITE) : + (random.chance(500) ? TextColor.YELLOW : TextColor.WHITE) ))))); } @@ -331,14 +322,14 @@ public class EntitySheep extends EntityAnimal return livingdata; } - private DyeColor getDyeColorMixFromParents(EntityAnimal father, EntityAnimal mother) + private TextColor getDyeColorMixFromParents(EntityAnimal father, EntityAnimal mother) { - DyeColor i = ((EntitySheep)father).getFleeceColor(); - DyeColor j = ((EntitySheep)mother).getFleeceColor(); + TextColor i = ((EntitySheep)father).getFleeceColor(); + TextColor j = ((EntitySheep)mother).getFleeceColor(); this.inventoryCrafting.setInventorySlotContents(0, new ItemStack(ItemDye.getByColor(i))); this.inventoryCrafting.setInventorySlotContents(1, new ItemStack(ItemDye.getByColor(j))); ItemStack itemstack = CraftingRegistry.getMatching(this.inventoryCrafting); - DyeColor k; + TextColor k; if (itemstack != null && itemstack.getItem() instanceof ItemDye dye) { @@ -360,24 +351,4 @@ public class EntitySheep extends EntityAnimal public int getColor() { return 0xd9d9d9; } - - static - { - DYE_TO_RGB.put(DyeColor.WHITE, new float[] {1.0F, 1.0F, 1.0F}); - DYE_TO_RGB.put(DyeColor.ORANGE, new float[] {0.85F, 0.5F, 0.2F}); - DYE_TO_RGB.put(DyeColor.MAGENTA, new float[] {0.7F, 0.3F, 0.85F}); - DYE_TO_RGB.put(DyeColor.LIGHT_BLUE, new float[] {0.4F, 0.6F, 0.85F}); - DYE_TO_RGB.put(DyeColor.YELLOW, new float[] {0.9F, 0.9F, 0.2F}); - DYE_TO_RGB.put(DyeColor.LIME, new float[] {0.5F, 0.8F, 0.1F}); - DYE_TO_RGB.put(DyeColor.PINK, new float[] {0.95F, 0.5F, 0.65F}); - DYE_TO_RGB.put(DyeColor.GRAY, new float[] {0.3F, 0.3F, 0.3F}); - DYE_TO_RGB.put(DyeColor.SILVER, new float[] {0.6F, 0.6F, 0.6F}); - DYE_TO_RGB.put(DyeColor.CYAN, new float[] {0.3F, 0.5F, 0.6F}); - DYE_TO_RGB.put(DyeColor.PURPLE, new float[] {0.5F, 0.25F, 0.7F}); - DYE_TO_RGB.put(DyeColor.BLUE, new float[] {0.2F, 0.3F, 0.7F}); - DYE_TO_RGB.put(DyeColor.BROWN, new float[] {0.4F, 0.3F, 0.2F}); - DYE_TO_RGB.put(DyeColor.GREEN, new float[] {0.4F, 0.5F, 0.2F}); - DYE_TO_RGB.put(DyeColor.RED, new float[] {0.6F, 0.2F, 0.2F}); - DYE_TO_RGB.put(DyeColor.BLACK, new float[] {0.1F, 0.1F, 0.1F}); - } } diff --git a/common/src/main/java/common/entity/animal/EntityWolf.java b/common/src/main/java/common/entity/animal/EntityWolf.java index d00d3449..a2fdde7f 100755 --- a/common/src/main/java/common/entity/animal/EntityWolf.java +++ b/common/src/main/java/common/entity/animal/EntityWolf.java @@ -15,7 +15,6 @@ import common.ai.EntityAISwimming; import common.ai.EntityAITargetNonTamed; import common.ai.EntityAIWander; import common.ai.EntityAIWatchClosest; -import common.color.DyeColor; import common.entity.DamageSource; import common.entity.Entity; import common.entity.npc.Alignment; @@ -34,6 +33,7 @@ import common.tags.TagObject; import common.util.Clientside; import common.util.ExtMath; import common.util.ParticleType; +import common.util.TextColor; import common.vars.Vars; import common.world.World; @@ -118,7 +118,7 @@ public class EntityWolf extends EntityTameable super.entityInit(); this.dataWatcher.addObject(18, this.getHealth()); this.dataWatcher.addObject(19, (byte)0); - this.dataWatcher.addObject(20, (byte)(DyeColor.RED.ordinal() & 255)); + this.dataWatcher.addObject(20, (byte)(TextColor.RED.ordinal() & 255)); } // protected void playStepSound(BlockPos pos, Block blockIn) @@ -137,7 +137,7 @@ public class EntityWolf extends EntityTameable { super.readEntity(tagCompund); this.setAngry(tagCompund.getBool("Angry")); - this.setCollarColor(DyeColor.byName(tagCompund.getString("CollarColor"))); + this.setCollarColor(TextColor.byName(tagCompund.getString("CollarColor"))); } /** @@ -373,7 +373,7 @@ public class EntityWolf extends EntityTameable } else if (itemstack.getItem() instanceof ItemDye dye) { - DyeColor enumdyecolor = dye.getColor(); + TextColor enumdyecolor = dye.getColor(); if (enumdyecolor != this.getCollarColor()) { @@ -492,12 +492,12 @@ public class EntityWolf extends EntityTameable } } - public DyeColor getCollarColor() + public TextColor getCollarColor() { - return DyeColor.values()[(this.dataWatcher.getWatchableObjectByte(20) & 255) % DyeColor.values().length]; + return TextColor.values()[(this.dataWatcher.getWatchableObjectByte(20) & 255) % TextColor.values().length]; } - public void setCollarColor(DyeColor collarcolor) + public void setCollarColor(TextColor collarcolor) { this.dataWatcher.updateObject(20, (byte)(collarcolor.ordinal() & 255)); } @@ -593,12 +593,7 @@ public class EntityWolf extends EntityTameable } public int getLeashColor() { - if(this.isTamed()) { - DyeColor color = this.getCollarColor(); - float[] rgb = EntitySheep.getDyeRgb(color); - return (((int)(rgb[0] * 255.0f)) << 16) | (((int)(rgb[1] * 255.0f)) << 8) | ((int)(rgb[2] * 255.0f)); - } - return super.getLeashColor(); + return this.isTamed() ? this.getCollarColor().getColor() : super.getLeashColor(); } public int getColor() { diff --git a/common/src/main/java/common/entity/item/EntityItem.java b/common/src/main/java/common/entity/item/EntityItem.java index 5ca062d6..1180dc0e 100755 --- a/common/src/main/java/common/entity/item/EntityItem.java +++ b/common/src/main/java/common/entity/item/EntityItem.java @@ -1,7 +1,6 @@ package common.entity.item; import common.block.Material; -import common.color.TextColor; import common.dimension.Dimension; import common.entity.DamageSource; import common.entity.Entity; @@ -19,6 +18,7 @@ import common.util.BlockPos; import common.util.ExtMath; import common.util.ParticleType; import common.util.PortalType; +import common.util.TextColor; import common.vars.Vars; import common.world.World; import common.world.AWorldServer; @@ -599,7 +599,7 @@ public class EntityItem extends Entity ItemStack stack = this.getEntityItem(); if(!stack.isStacked()) return null; - return TextColor.DGREEN + "" + stack.getSize(); + return TextColor.DARK_GREEN + "" + stack.getSize(); } public EntityType getType() { diff --git a/common/src/main/java/common/entity/item/EntityXp.java b/common/src/main/java/common/entity/item/EntityXp.java index 6be45d91..781879e8 100755 --- a/common/src/main/java/common/entity/item/EntityXp.java +++ b/common/src/main/java/common/entity/item/EntityXp.java @@ -1,7 +1,6 @@ package common.entity.item; import common.block.Material; -import common.color.TextColor; import common.dimension.Dimension; import common.entity.DamageSource; import common.entity.Entity; @@ -15,6 +14,7 @@ import common.util.Clientside; import common.util.ExtMath; import common.util.ParticleType; import common.util.PortalType; +import common.util.TextColor; import common.vars.Vars; import common.world.World; diff --git a/common/src/main/java/common/entity/npc/Alignment.java b/common/src/main/java/common/entity/npc/Alignment.java index 9c5fba6c..5c2ca4fd 100755 --- a/common/src/main/java/common/entity/npc/Alignment.java +++ b/common/src/main/java/common/entity/npc/Alignment.java @@ -3,18 +3,18 @@ package common.entity.npc; import java.util.Map; import common.collect.Maps; -import common.color.TextColor; +import common.util.TextColor; public enum Alignment { LAWFUL_GOOD("lgood", "Rechtsch. gut", 1, 1, TextColor.NEON), GOOD("good", "Gut", 0, 1, TextColor.BLUE), CHAOTIC_GOOD("cgood", "Chaotisch gut", -1, 1, TextColor.CYAN), LAWFUL("lawful", "Rechtschaffen", 1, 0, TextColor.WHITE), - NEUTRAL("neutral", "Neutral", 0, 0, TextColor.LGRAY), + NEUTRAL("neutral", "Neutral", 0, 0, TextColor.LIGHT_GRAY), CHAOTIC("chaotic", "Chaotisch", -1, 0, TextColor.GRAY), LAWFUL_EVIL("levil", "Rechtsch. böse", 1, -1, TextColor.ORANGE), EVIL("evil", "Böse", 0, -1, TextColor.RED), - CHAOTIC_EVIL("cevil", "Chaotisch böse", -1, -1, TextColor.DRED); + CHAOTIC_EVIL("cevil", "Chaotisch böse", -1, -1, TextColor.DARK_RED); private static final Map LOOKUP = Maps.newHashMap(); @@ -35,9 +35,9 @@ public enum Alignment { this.color = color; this.name = name; this.display = display; - this.prefix = TextColor.GRAY + "[" + (temper == 0 && morale == 0 ? TextColor.LGRAY + "~" : "") + + this.prefix = TextColor.GRAY + "[" + (temper == 0 && morale == 0 ? TextColor.LIGHT_GRAY + "~" : "") + (this.good ? TextColor.BLUE + "*" : (this.evil ? TextColor.RED + "!" : "")) + - (this.lawful ? TextColor.GREEN + "+" : (this.chaotic ? TextColor.DMAGENTA + "-" : "")) + + (this.lawful ? TextColor.GREEN + "+" : (this.chaotic ? TextColor.DARK_MAGENTA + "-" : "")) + TextColor.GRAY + "]"; } diff --git a/common/src/main/java/common/entity/npc/EntityNPC.java b/common/src/main/java/common/entity/npc/EntityNPC.java index ae427b85..0e34d45a 100755 --- a/common/src/main/java/common/entity/npc/EntityNPC.java +++ b/common/src/main/java/common/entity/npc/EntityNPC.java @@ -24,7 +24,6 @@ import common.attributes.UsageSlot; import common.block.Block; import common.block.artificial.BlockBed; import common.collect.Lists; -import common.color.TextColor; import common.dimension.Dimension; import common.dimension.Space; import common.effect.Effect; @@ -93,6 +92,7 @@ import common.util.ExtMath; import common.util.Facing; import common.util.ParticleType; import common.util.PortalType; +import common.util.TextColor; import common.util.Vec3; import common.util.WorldPos; import common.vars.Vars; diff --git a/common/src/main/java/common/entity/types/EntityLiving.java b/common/src/main/java/common/entity/types/EntityLiving.java index cbca361a..38746573 100755 --- a/common/src/main/java/common/entity/types/EntityLiving.java +++ b/common/src/main/java/common/entity/types/EntityLiving.java @@ -19,7 +19,6 @@ import common.block.Block; import common.block.SoundType; import common.collect.Lists; import common.collect.Maps; -import common.color.TextColor; import common.effect.Effect; import common.effect.StatusEffect; import common.enchantment.EnchantmentHelper; @@ -58,6 +57,7 @@ import common.util.Clientside; import common.util.ExtMath; import common.util.ParticleType; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.vars.Vars; import common.world.State; @@ -2245,13 +2245,13 @@ public abstract class EntityLiving extends Entity public static TextColor getHealthColor(int health, int max) { float perc = (float)health / (float)max; - return /* health <= 1.0f ? ChatFormat.DARK_RED : ( */ perc >= 1.0f ? TextColor.DGREEN : (perc >= 0.75f ? TextColor.GREEN : - (perc >= 0.5f ? TextColor.YELLOW : (perc >= 0.25f ? TextColor.ORANGE : (perc >= 0.1f ? TextColor.RED : TextColor.DRED)))); + return /* health <= 1.0f ? ChatFormat.DARK_RED : ( */ perc >= 1.0f ? TextColor.DARK_GREEN : (perc >= 0.75f ? TextColor.GREEN : + (perc >= 0.5f ? TextColor.YELLOW : (perc >= 0.25f ? TextColor.ORANGE : (perc >= 0.1f ? TextColor.RED : TextColor.DARK_RED)))); } public static TextColor getMaxHpColor(int max) { - return max >= 2000 ? TextColor.BLACK : (max >= 500 ? TextColor.DMAGENTA : (max >= 120 ? TextColor.MAGENTA : - (max >= 40 ? TextColor.CYAN : (max >= 15 ? TextColor.NEON : (max >= 5 ? TextColor.BLUE : TextColor.LGRAY))))); + return max >= 2000 ? TextColor.BLACK : (max >= 500 ? TextColor.DARK_MAGENTA : (max >= 120 ? TextColor.MAGENTA : + (max >= 40 ? TextColor.CYAN : (max >= 15 ? TextColor.NEON : (max >= 5 ? TextColor.BLUE : TextColor.LIGHT_GRAY))))); } public int getEnergy(Energy type) { @@ -2327,7 +2327,7 @@ public abstract class EntityLiving extends Entity String kill; IPlayer receiver = null; if(this.combat.size() == 0) { - msg = kill = natural ? String.format("%s starb", this.getColoredName(TextColor.LGRAY)) : null; + msg = kill = natural ? String.format("%s starb", this.getColoredName(TextColor.LIGHT_GRAY)) : null; } else { CombatEntry strong = null; diff --git a/common/src/main/java/common/init/BlockRegistry.java b/common/src/main/java/common/init/BlockRegistry.java index 5c53c532..c3252211 100755 --- a/common/src/main/java/common/init/BlockRegistry.java +++ b/common/src/main/java/common/init/BlockRegistry.java @@ -129,12 +129,12 @@ import common.collect.BiMap; import common.collect.HashBiMap; import common.collect.Lists; import common.collect.Maps; -import common.color.DyeColor; import common.item.CheatTab; import common.log.Log; import common.model.TextureAnimation; import common.properties.Property; import common.util.PortalType; +import common.util.TextColor; import common.util.Util; import common.world.State; @@ -265,7 +265,7 @@ public abstract class BlockRegistry { .setDisplay("Obsidian").setMiningLevel(3)); register("clay", (new BlockClay()).setHardness(0.6F).setSound(SoundType.GRAVEL).setDisplay("Ton").setShovelHarvestable()); register("hardened_clay", (new BlockHardenedClay()).setHardness(1.25F).setResistance(7.0F).setSound(SoundType.STONE).setDisplay("Gebrannter Ton")); - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { register(color.getName() + "_clay", (new BlockColoredClay(color)).setHardness(1.25F).setResistance(7.0F) .setSound(SoundType.STONE).setDisplay(color.getDisplay() + " gefärbter Ton")); } @@ -414,23 +414,23 @@ public abstract class BlockRegistry { .setSound(SoundType.STONE).setDisplay("Geladener Block").setTab(CheatTab.GEMS)); register("glass", (new BlockGlass()).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay("Glas")); - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { register(color.getName() + "_glass", (new BlockStainedGlass(color)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay(color.getDisplay() + " gefärbtes Glas")); } register("glass_pane", (new BlockPane(Material.TRANSLUCENT)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay("Glasscheibe")); - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { register(color.getName() + "_glass_pane", (new BlockStainedGlassPane(color)).setHardness(0.3F).setSound(SoundType.GLASS).setDisplay(color.getDisplay() + " gefärbte Glasscheibe")); } - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { register(color.getName() + "_wool", (new BlockWool(color)).setHardness(0.8F).setSound(SoundType.CLOTH).setDisplay(color.getSubject(-1) + " Wolle") .setShearsEfficiency(1)); } - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { register(color.getName() + "_carpet", (new BlockCarpet(color)).setHardness(0.1F).setSound(SoundType.CLOTH).setDisplay(color.getSubject(1) + " Teppich").setOpacity(0)); } - for(DyeColor color : BlockBed.COLORS) { + for(TextColor color : BlockBed.COLORS) { register(color.getName() + "_bed", (new BlockBed(color)).setSound(SoundType.WOOD).setHardness(0.2F).setDisplay(color.getSubject(0) + " Bett")); } diff --git a/common/src/main/java/common/init/Blocks.java b/common/src/main/java/common/init/Blocks.java index 944847a5..bdaff3d3 100755 --- a/common/src/main/java/common/init/Blocks.java +++ b/common/src/main/java/common/init/Blocks.java @@ -297,11 +297,6 @@ public abstract class Blocks { public static final BlockStainedGlassPane light_blue_glass_pane = get("light_blue_glass_pane"); public static final BlockWool light_blue_wool = get("light_blue_wool"); public static final BlockPressurePlateWeighted light_weighted_pressure_plate = get("light_weighted_pressure_plate"); - public static final BlockCarpet lime_carpet = get("lime_carpet"); - public static final BlockColoredClay lime_clay = get("lime_clay"); - public static final BlockStainedGlass lime_glass = get("lime_glass"); - public static final BlockStainedGlassPane lime_glass_pane = get("lime_glass_pane"); - public static final BlockWool lime_wool = get("lime_wool"); public static final BlockFurnace lit_furnace = get("lit_furnace"); public static final BlockMetalBlock lithium_block = get("lithium_block"); public static final BlockMetalOre lithium_ore = get("lithium_ore"); @@ -375,12 +370,7 @@ public abstract class Blocks { public static final Block pentagram = get("pentagram"); public static final BlockMetalBlock phosphor_block = get("phosphor_block"); public static final BlockMetalOre phosphor_ore = get("phosphor_ore"); - public static final BlockCarpet pink_carpet = get("pink_carpet"); - public static final BlockColoredClay pink_clay = get("pink_clay"); - public static final BlockStainedGlass pink_glass = get("pink_glass"); - public static final BlockStainedGlassPane pink_glass_pane = get("pink_glass_pane"); public static final BlockFlower pink_tulip = get("pink_tulip"); - public static final BlockWool pink_wool = get("pink_wool"); public static final BlockPistonBase piston = get("piston"); public static final BlockPistonHead piston_head = get("piston_head"); public static final BlockPistonHead sticky_piston_head = get("sticky_piston_head"); @@ -398,12 +388,6 @@ public abstract class Blocks { public static final BlockMetalOre praseodymium_ore = get("praseodymium_ore"); public static final BlockPumpkin pumpkin = get("pumpkin"); public static final BlockStem pumpkin_stem = get("pumpkin_stem"); - public static final BlockBed purple_bed = get("purple_bed"); - public static final BlockCarpet purple_carpet = get("purple_carpet"); - public static final BlockColoredClay purple_clay = get("purple_clay"); - public static final BlockStainedGlass purple_glass = get("purple_glass"); - public static final BlockStainedGlassPane purple_glass_pane = get("purple_glass_pane"); - public static final BlockWool purple_wool = get("purple_wool"); public static final BlockQuartz quartz_block = get("quartz_block"); public static final BlockOre quartz_ore = get("quartz_ore"); public static final BlockQuartz quartz_ornaments = get("quartz_ornaments"); @@ -442,12 +426,7 @@ public abstract class Blocks { public static final BlockMetalBlock silicon_block = get("silicon_block"); public static final BlockMetalOre silicon_ore = get("silicon_ore"); public static final BlockMetalBlock silver_block = get("silver_block"); - public static final BlockCarpet silver_carpet = get("silver_carpet"); - public static final BlockColoredClay silver_clay = get("silver_clay"); - public static final BlockStainedGlass silver_glass = get("silver_glass"); - public static final BlockStainedGlassPane silver_glass_pane = get("silver_glass_pane"); public static final BlockMetalOre silver_ore = get("silver_ore"); - public static final BlockWool silver_wool = get("silver_wool"); public static final BlockSkull skull = get("skull"); public static final BlockStaticLiquid slime = get("slime"); public static final BlockSlime slime_block = get("slime_block"); @@ -617,6 +596,87 @@ public abstract class Blocks { public static final BlockPortal shining_portal = get("shining_portal"); public static final BlockStaticLiquid milk = get("milk"); public static final BlockDynamicLiquid flowing_milk = get("flowing_milk"); + public static final BlockCarpet acid_green_carpet = get("acid_green_carpet"); + public static final BlockColoredClay acid_green_clay = get("acid_green_clay"); + public static final BlockStainedGlass acid_green_glass = get("acid_green_glass"); + public static final BlockStainedGlassPane acid_green_glass_pane = get("acid_green_glass_pane"); + public static final BlockWool acid_green_wool = get("acid_green_wool"); + public static final BlockCarpet beige_carpet = get("beige_carpet"); + public static final BlockColoredClay beige_clay = get("beige_clay"); + public static final BlockStainedGlass beige_glass = get("beige_glass"); + public static final BlockStainedGlassPane beige_glass_pane = get("beige_glass_pane"); + public static final BlockWool beige_wool = get("beige_wool"); + public static final BlockCarpet crimson_carpet = get("crimson_carpet"); + public static final BlockColoredClay crimson_clay = get("crimson_clay"); + public static final BlockStainedGlass crimson_glass = get("crimson_glass"); + public static final BlockStainedGlassPane crimson_glass_pane = get("crimson_glass_pane"); + public static final BlockWool crimson_wool = get("crimson_wool"); + public static final BlockCarpet dark_brown_carpet = get("dark_brown_carpet"); + public static final BlockColoredClay dark_brown_clay = get("dark_brown_clay"); + public static final BlockStainedGlass dark_brown_glass = get("dark_brown_glass"); + public static final BlockStainedGlassPane dark_brown_glass_pane = get("dark_brown_glass_pane"); + public static final BlockWool dark_brown_wool = get("dark_brown_wool"); + public static final BlockCarpet dark_gray_carpet = get("dark_gray_carpet"); + public static final BlockColoredClay dark_gray_clay = get("dark_gray_clay"); + public static final BlockStainedGlass dark_gray_glass = get("dark_gray_glass"); + public static final BlockStainedGlassPane dark_gray_glass_pane = get("dark_gray_glass_pane"); + public static final BlockWool dark_gray_wool = get("dark_gray_wool"); + public static final BlockCarpet dark_green_carpet = get("dark_green_carpet"); + public static final BlockColoredClay dark_green_clay = get("dark_green_clay"); + public static final BlockStainedGlass dark_green_glass = get("dark_green_glass"); + public static final BlockStainedGlassPane dark_green_glass_pane = get("dark_green_glass_pane"); + public static final BlockWool dark_green_wool = get("dark_green_wool"); + public static final BlockCarpet dark_magenta_carpet = get("dark_magenta_carpet"); + public static final BlockColoredClay dark_magenta_clay = get("dark_magenta_clay"); + public static final BlockStainedGlass dark_magenta_glass = get("dark_magenta_glass"); + public static final BlockStainedGlassPane dark_magenta_glass_pane = get("dark_magenta_glass_pane"); + public static final BlockWool dark_magenta_wool = get("dark_magenta_wool"); + public static final BlockCarpet dark_red_carpet = get("dark_red_carpet"); + public static final BlockColoredClay dark_red_clay = get("dark_red_clay"); + public static final BlockStainedGlass dark_red_glass = get("dark_red_glass"); + public static final BlockStainedGlassPane dark_red_glass_pane = get("dark_red_glass_pane"); + public static final BlockWool dark_red_wool = get("dark_red_wool"); + public static final BlockCarpet dark_violet_carpet = get("dark_violet_carpet"); + public static final BlockColoredClay dark_violet_clay = get("dark_violet_clay"); + public static final BlockStainedGlass dark_violet_glass = get("dark_violet_glass"); + public static final BlockStainedGlassPane dark_violet_glass_pane = get("dark_violet_glass_pane"); + public static final BlockWool dark_violet_wool = get("dark_violet_wool"); + public static final BlockCarpet light_brown_carpet = get("light_brown_carpet"); + public static final BlockColoredClay light_brown_clay = get("light_brown_clay"); + public static final BlockStainedGlass light_brown_glass = get("light_brown_glass"); + public static final BlockStainedGlassPane light_brown_glass_pane = get("light_brown_glass_pane"); + public static final BlockWool light_brown_wool = get("light_brown_wool"); + public static final BlockCarpet light_gray_carpet = get("light_gray_carpet"); + public static final BlockColoredClay light_gray_clay = get("light_gray_clay"); + public static final BlockStainedGlass light_gray_glass = get("light_gray_glass"); + public static final BlockStainedGlassPane light_gray_glass_pane = get("light_gray_glass_pane"); + public static final BlockWool light_gray_wool = get("light_gray_wool"); + public static final BlockCarpet light_yellow_carpet = get("light_yellow_carpet"); + public static final BlockColoredClay light_yellow_clay = get("light_yellow_clay"); + public static final BlockStainedGlass light_yellow_glass = get("light_yellow_glass"); + public static final BlockStainedGlassPane light_yellow_glass_pane = get("light_yellow_glass_pane"); + public static final BlockWool light_yellow_wool = get("light_yellow_wool"); + public static final BlockCarpet midnight_carpet = get("midnight_carpet"); + public static final BlockColoredClay midnight_clay = get("midnight_clay"); + public static final BlockStainedGlass midnight_glass = get("midnight_glass"); + public static final BlockStainedGlassPane midnight_glass_pane = get("midnight_glass_pane"); + public static final BlockWool midnight_wool = get("midnight_wool"); + public static final BlockCarpet neon_carpet = get("neon_carpet"); + public static final BlockColoredClay neon_clay = get("neon_clay"); + public static final BlockStainedGlass neon_glass = get("neon_glass"); + public static final BlockStainedGlassPane neon_glass_pane = get("neon_glass_pane"); + public static final BlockWool neon_wool = get("neon_wool"); + public static final BlockCarpet ork_green_carpet = get("ork_green_carpet"); + public static final BlockColoredClay ork_green_clay = get("ork_green_clay"); + public static final BlockStainedGlass ork_green_glass = get("ork_green_glass"); + public static final BlockStainedGlassPane ork_green_glass_pane = get("ork_green_glass_pane"); + public static final BlockWool ork_green_wool = get("ork_green_wool"); + public static final BlockBed violet_bed = get("violet_bed"); + public static final BlockCarpet violet_carpet = get("violet_carpet"); + public static final BlockColoredClay violet_clay = get("violet_clay"); + public static final BlockStainedGlass violet_glass = get("violet_glass"); + public static final BlockStainedGlassPane violet_glass_pane = get("violet_glass_pane"); + public static final BlockWool violet_wool = get("violet_wool"); private static T get(String id) { T block = (T)BlockRegistry.byNameExact(id); diff --git a/common/src/main/java/common/init/CraftingRegistry.java b/common/src/main/java/common/init/CraftingRegistry.java index 9a2838fc..641a5c45 100755 --- a/common/src/main/java/common/init/CraftingRegistry.java +++ b/common/src/main/java/common/init/CraftingRegistry.java @@ -14,12 +14,11 @@ import common.block.artificial.BlockWool; import common.block.natural.BlockColoredClay; import common.collect.Lists; import common.collect.Maps; -import common.color.DyeColor; -import common.entity.animal.EntitySheep; import common.inventory.InventoryCrafting; import common.item.Item; import common.item.ItemStack; import common.item.material.ItemDye; +import common.util.TextColor; public abstract class CraftingRegistry { @@ -157,47 +156,47 @@ public abstract class CraftingRegistry add(new ItemStack(Items.blood_brick, 1), "NN", "NN", 'N', Items.bloodbrick); add(new ItemStack(Items.coarse_dirt, 4), "DG", "GD", 'D', Items.dirt, 'G', Items.gravel); - for (DyeColor color : DyeColor.values()) + for (TextColor color : TextColor.values()) { ItemDye dye = ItemDye.getByColor(color); - if(color != DyeColor.WHITE) + if(color != TextColor.WHITE) addShapeless(new ItemStack(BlockWool.getByColor(color).getItem()), dye, Items.white_wool); add(new ItemStack(BlockColoredClay.getByColor(color).getItem(), 8), "###", "#X#", "###", '#', Items.hardened_clay, 'X', dye); add(new ItemStack(BlockStainedGlass.getByColor(color).getItem(), 8), "###", "#X#", "###", '#', Items.glass, 'X', dye); add(new ItemStack(BlockStainedGlassPane.getByColor(color).getItem(), 16), "###", "###", '#', BlockStainedGlass.getByColor(color).getItem()); } - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.YELLOW)), Items.dandelion); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Items.rose); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Items.poppy); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.WHITE), 3), Items.bone); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK), 2), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.ORANGE), 2), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.YELLOW))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIME), 2), new ItemStack(ItemDye.getByColor(DyeColor.GREEN)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.GRAY), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLACK)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER), 2), new ItemStack(ItemDye.getByColor(DyeColor.GRAY)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER), 3), new ItemStack(ItemDye.getByColor(DyeColor.BLACK)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIGHT_BLUE), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.CYAN), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.GREEN))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PURPLE), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 2), new ItemStack(ItemDye.getByColor(DyeColor.PURPLE)), new ItemStack(ItemDye.getByColor(DyeColor.PINK))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 3), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.PINK))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 4), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE))); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIGHT_BLUE)), Items.blue_orchid); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA)), Items.allium); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Items.houstonia); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Items.red_tulip); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.ORANGE)), Items.orange_tulip); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Items.white_tulip); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK)), Items.pink_tulip); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Items.daisy); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.YELLOW), 2), Items.sunflower); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 2), Items.syringa); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED), 2), Items.rose_bush); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK), 2), Items.paeonia); - addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.GREEN)), Items.cactus); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.YELLOW)), Items.dandelion); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.RED)), Items.rose); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.RED)), Items.poppy); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.WHITE), 3), Items.bone); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA), 2), new ItemStack(ItemDye.getByColor(TextColor.RED)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.ORANGE), 2), new ItemStack(ItemDye.getByColor(TextColor.RED)), new ItemStack(ItemDye.getByColor(TextColor.YELLOW))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.GREEN), 2), new ItemStack(ItemDye.getByColor(TextColor.DARK_GREEN)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.GRAY), 2), new ItemStack(ItemDye.getByColor(TextColor.BLACK)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_GRAY), 2), new ItemStack(ItemDye.getByColor(TextColor.GRAY)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_GRAY), 3), new ItemStack(ItemDye.getByColor(TextColor.BLACK)), new ItemStack(ItemDye.getByColor(TextColor.WHITE)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_BLUE), 2), new ItemStack(ItemDye.getByColor(TextColor.BLUE)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.CYAN), 2), new ItemStack(ItemDye.getByColor(TextColor.BLUE)), new ItemStack(ItemDye.getByColor(TextColor.DARK_GREEN))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.VIOLET), 2), new ItemStack(ItemDye.getByColor(TextColor.BLUE)), new ItemStack(ItemDye.getByColor(TextColor.RED))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.DARK_MAGENTA), 2), new ItemStack(ItemDye.getByColor(TextColor.VIOLET)), new ItemStack(ItemDye.getByColor(TextColor.MAGENTA))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.DARK_MAGENTA), 3), new ItemStack(ItemDye.getByColor(TextColor.BLUE)), new ItemStack(ItemDye.getByColor(TextColor.RED)), new ItemStack(ItemDye.getByColor(TextColor.MAGENTA))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA), 4), new ItemStack(ItemDye.getByColor(TextColor.BLUE)), new ItemStack(ItemDye.getByColor(TextColor.RED)), new ItemStack(ItemDye.getByColor(TextColor.RED)), new ItemStack(ItemDye.getByColor(TextColor.WHITE))); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_BLUE)), Items.blue_orchid); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA)), Items.allium); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_GRAY)), Items.houstonia); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.RED)), Items.red_tulip); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.ORANGE)), Items.orange_tulip); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_GRAY)), Items.white_tulip); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA)), Items.pink_tulip); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.LIGHT_GRAY)), Items.daisy); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.YELLOW), 2), Items.sunflower); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA), 2), Items.syringa); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.RED), 2), Items.rose_bush); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.MAGENTA), 2), Items.paeonia); + addShapeless(new ItemStack(ItemDye.getByColor(TextColor.DARK_GREEN)), Items.cactus); - for (DyeColor color : DyeColor.values()) + for (TextColor color : TextColor.values()) { add(new ItemStack(BlockCarpet.getByColor(color).getItem(), 3), "##", '#', BlockWool.getByColor(color).getItem()); } @@ -231,7 +230,7 @@ public abstract class CraftingRegistry add(new ItemStack(Items.wooden_button, 1), "#", '#', planks); add(new ItemStack(Items.wooden_pressure_plate, 1), "##", '#', planks); add(new ItemStack(Items.piston, 1), "TTT", "#X#", "#R#", '#', Items.cobblestone, 'X', Items.iron_ingot, 'R', Items.charged_powder, 'T', planks); - for(DyeColor color : BlockBed.COLORS) { + for(TextColor color : BlockBed.COLORS) { add(new ItemStack(ItemRegistry.byName(color.getName() + "_bed"), 1), "###", "XXX", '#', BlockWool.getByColor(color).getItem(), 'X', planks); } } @@ -685,10 +684,10 @@ public abstract class CraftingRegistry return null; } - float[] afloat = EntitySheep.getDyeRgb(dye.getColor()); - int l1 = (int)(afloat[0] * 255.0F); - int i2 = (int)(afloat[1] * 255.0F); - int j2 = (int)(afloat[2] * 255.0F); + int afloat = dye.getColor().getColor(); + int l1 = (afloat >> 16) & 0xff; + int i2 = (afloat >> 8) & 0xff; + int j2 = afloat & 0xff; i += Math.max(l1, Math.max(i2, j2)); aint[0] += l1; aint[1] += i2; diff --git a/common/src/main/java/common/init/ItemRegistry.java b/common/src/main/java/common/init/ItemRegistry.java index e7f7b7e8..2232d4ef 100755 --- a/common/src/main/java/common/init/ItemRegistry.java +++ b/common/src/main/java/common/init/ItemRegistry.java @@ -15,8 +15,6 @@ import common.block.natural.BlockOre; import common.collect.BiMap; import common.collect.HashBiMap; import common.collect.Lists; -import common.color.DyeColor; -import common.color.TextColor; import common.effect.Effect; import common.effect.StatusEffect; import common.enchantment.Enchantment; @@ -81,6 +79,7 @@ import common.item.weapon.ItemSword; import common.item.weapon.ItemTrident; import common.log.Log; import common.util.Pair; +import common.util.TextColor; import common.util.Util; import common.world.Weather; @@ -260,9 +259,9 @@ public abstract class ItemRegistry { register("cooked_" + type.getName(), (new ItemFishFood(true, type))); } Item lapis = null; - for(DyeColor color : DyeColor.values()) { + for(TextColor color : TextColor.values()) { Item dye = new ItemDye(color); - if(color == DyeColor.BLUE) + if(color == TextColor.BLUE) lapis = dye; register(color.getDye(), dye); } @@ -306,7 +305,7 @@ public abstract class ItemRegistry { register("melon_seed", new ItemSeeds(Blocks.melon_stem, Blocks.farmland).setDisplay("Melonenkerne").setMaxAmount(StackSize.XL)); register("whip", (new ItemWhip()).setDisplay("Peitsche")); - register("charge_crystal", (new Item()).setDisplay("Energiekristall").setTab(CheatTab.MISC).setColor(TextColor.DMAGENTA).setGleaming()); + register("charge_crystal", (new Item()).setDisplay("Energiekristall").setTab(CheatTab.MISC).setColor(TextColor.DARK_MAGENTA).setGleaming()); for(Enchantment ench : Enchantment.values()) { register("enchanted_book_" + ench.getName(), (new ItemEnchantedBook(ench, 1)).setUnstackable().setDisplay("Verzaubertes Buch mit " + ench.getFormattedName(1)).setTab(CheatTab.ENCHANTMENTS)); int max = ench.getMaxLevel(); diff --git a/common/src/main/java/common/init/Items.java b/common/src/main/java/common/init/Items.java index 851f27ae..b7851e8c 100755 --- a/common/src/main/java/common/init/Items.java +++ b/common/src/main/java/common/init/Items.java @@ -465,12 +465,6 @@ public abstract class Items { public static final Item light_blue_wool = get("light_blue_wool"); public static final Item light_weighted_pressure_plate = get("light_weighted_pressure_plate"); public static final ItemTrident trident = get("trident"); - public static final Item lime_carpet = get("lime_carpet"); - public static final Item lime_clay = get("lime_clay"); - public static final ItemDye lime_dye = get("lime_dye"); - public static final Item lime_glass = get("lime_glass"); - public static final Item lime_glass_pane = get("lime_glass_pane"); - public static final Item lime_wool = get("lime_wool"); public static final Item lithium_block = get("lithium_block"); public static final ItemMetal lithium_ingot = get("lithium_ingot"); public static final Item lithium_ore = get("lithium_ore"); @@ -571,13 +565,7 @@ public abstract class Items { public static final Item phosphor_block = get("phosphor_block"); public static final Item phosphor_ore = get("phosphor_ore"); public static final ItemMetal phosphor_powder = get("phosphor_powder"); - public static final Item pink_carpet = get("pink_carpet"); - public static final Item pink_clay = get("pink_clay"); - public static final ItemDye pink_dye = get("pink_dye"); - public static final Item pink_glass = get("pink_glass"); - public static final Item pink_glass_pane = get("pink_glass_pane"); public static final Item pink_tulip = get("pink_tulip"); - public static final Item pink_wool = get("pink_wool"); public static final Item piston = get("piston"); public static final Item platinum_block = get("platinum_block"); public static final ItemMetal platinum_ingot = get("platinum_ingot"); @@ -598,13 +586,6 @@ public abstract class Items { public static final Item praseodymium_ore = get("praseodymium_ore"); public static final Item pumpkin = get("pumpkin"); public static final ItemSeeds pumpkin_seed = get("pumpkin_seed"); - public static final Item purple_bed = get("purple_bed"); - public static final Item purple_carpet = get("purple_carpet"); - public static final Item purple_clay = get("purple_clay"); - public static final ItemDye purple_dye = get("purple_dye"); - public static final Item purple_glass = get("purple_glass"); - public static final Item purple_glass_pane = get("purple_glass_pane"); - public static final Item purple_wool = get("purple_wool"); public static final Item quartz = get("quartz"); public static final Item quartz_block = get("quartz_block"); public static final Item quartz_ore = get("quartz_ore"); @@ -675,14 +656,8 @@ public abstract class Items { public static final ItemMetal silicon_ingot = get("silicon_ingot"); public static final Item silicon_ore = get("silicon_ore"); public static final Item silver_block = get("silver_block"); - public static final Item silver_carpet = get("silver_carpet"); - public static final Item silver_clay = get("silver_clay"); - public static final ItemDye silver_dye = get("silver_dye"); - public static final Item silver_glass = get("silver_glass"); - public static final Item silver_glass_pane = get("silver_glass_pane"); public static final ItemMetal silver_ingot = get("silver_ingot"); public static final Item silver_ore = get("silver_ore"); - public static final Item silver_wool = get("silver_wool"); public static final Item skull = get("skull"); public static final Item slime_blob = get("slime_blob"); public static final Item slime_block = get("slime_block"); @@ -994,6 +969,103 @@ public abstract class Items { public static final Item swamp = get("swamp"); public static final ItemBucket milk_bucket = get("milk_bucket"); public static final ItemBucket recursive_milk_bucket = get("recursive_milk_bucket"); + public static final Item acid_green_carpet = get("acid_green_carpet"); + public static final Item acid_green_clay = get("acid_green_clay"); + public static final ItemDye acid_green_dye = get("acid_green_dye"); + public static final Item acid_green_glass = get("acid_green_glass"); + public static final Item acid_green_glass_pane = get("acid_green_glass_pane"); + public static final Item acid_green_wool = get("acid_green_wool"); + public static final Item beige_carpet = get("beige_carpet"); + public static final Item beige_clay = get("beige_clay"); + public static final ItemDye beige_dye = get("beige_dye"); + public static final Item beige_glass = get("beige_glass"); + public static final Item beige_glass_pane = get("beige_glass_pane"); + public static final Item beige_wool = get("beige_wool"); + public static final Item crimson_carpet = get("crimson_carpet"); + public static final Item crimson_clay = get("crimson_clay"); + public static final ItemDye crimson_dye = get("crimson_dye"); + public static final Item crimson_glass = get("crimson_glass"); + public static final Item crimson_glass_pane = get("crimson_glass_pane"); + public static final Item crimson_wool = get("crimson_wool"); + public static final Item dark_brown_carpet = get("dark_brown_carpet"); + public static final Item dark_brown_clay = get("dark_brown_clay"); + public static final ItemDye dark_brown_dye = get("dark_brown_dye"); + public static final Item dark_brown_glass = get("dark_brown_glass"); + public static final Item dark_brown_glass_pane = get("dark_brown_glass_pane"); + public static final Item dark_brown_wool = get("dark_brown_wool"); + public static final Item dark_gray_carpet = get("dark_gray_carpet"); + public static final Item dark_gray_clay = get("dark_gray_clay"); + public static final ItemDye dark_gray_dye = get("dark_gray_dye"); + public static final Item dark_gray_glass = get("dark_gray_glass"); + public static final Item dark_gray_glass_pane = get("dark_gray_glass_pane"); + public static final Item dark_gray_wool = get("dark_gray_wool"); + public static final Item dark_green_carpet = get("dark_green_carpet"); + public static final Item dark_green_clay = get("dark_green_clay"); + public static final ItemDye dark_green_dye = get("dark_green_dye"); + public static final Item dark_green_glass = get("dark_green_glass"); + public static final Item dark_green_glass_pane = get("dark_green_glass_pane"); + public static final Item dark_green_wool = get("dark_green_wool"); + public static final Item dark_magenta_carpet = get("dark_magenta_carpet"); + public static final Item dark_magenta_clay = get("dark_magenta_clay"); + public static final ItemDye dark_magenta_dye = get("dark_magenta_dye"); + public static final Item dark_magenta_glass = get("dark_magenta_glass"); + public static final Item dark_magenta_glass_pane = get("dark_magenta_glass_pane"); + public static final Item dark_magenta_wool = get("dark_magenta_wool"); + public static final Item dark_red_carpet = get("dark_red_carpet"); + public static final Item dark_red_clay = get("dark_red_clay"); + public static final ItemDye dark_red_dye = get("dark_red_dye"); + public static final Item dark_red_glass = get("dark_red_glass"); + public static final Item dark_red_glass_pane = get("dark_red_glass_pane"); + public static final Item dark_red_wool = get("dark_red_wool"); + public static final Item dark_violet_carpet = get("dark_violet_carpet"); + public static final Item dark_violet_clay = get("dark_violet_clay"); + public static final ItemDye dark_violet_dye = get("dark_violet_dye"); + public static final Item dark_violet_glass = get("dark_violet_glass"); + public static final Item dark_violet_glass_pane = get("dark_violet_glass_pane"); + public static final Item dark_violet_wool = get("dark_violet_wool"); + public static final Item light_brown_carpet = get("light_brown_carpet"); + public static final Item light_brown_clay = get("light_brown_clay"); + public static final ItemDye light_brown_dye = get("light_brown_dye"); + public static final Item light_brown_glass = get("light_brown_glass"); + public static final Item light_brown_glass_pane = get("light_brown_glass_pane"); + public static final Item light_brown_wool = get("light_brown_wool"); + public static final Item light_gray_carpet = get("light_gray_carpet"); + public static final Item light_gray_clay = get("light_gray_clay"); + public static final ItemDye light_gray_dye = get("light_gray_dye"); + public static final Item light_gray_glass = get("light_gray_glass"); + public static final Item light_gray_glass_pane = get("light_gray_glass_pane"); + public static final Item light_gray_wool = get("light_gray_wool"); + public static final Item light_yellow_carpet = get("light_yellow_carpet"); + public static final Item light_yellow_clay = get("light_yellow_clay"); + public static final ItemDye light_yellow_dye = get("light_yellow_dye"); + public static final Item light_yellow_glass = get("light_yellow_glass"); + public static final Item light_yellow_glass_pane = get("light_yellow_glass_pane"); + public static final Item light_yellow_wool = get("light_yellow_wool"); + public static final Item midnight_carpet = get("midnight_carpet"); + public static final Item midnight_clay = get("midnight_clay"); + public static final ItemDye midnight_dye = get("midnight_dye"); + public static final Item midnight_glass = get("midnight_glass"); + public static final Item midnight_glass_pane = get("midnight_glass_pane"); + public static final Item midnight_wool = get("midnight_wool"); + public static final Item neon_carpet = get("neon_carpet"); + public static final Item neon_clay = get("neon_clay"); + public static final ItemDye neon_dye = get("neon_dye"); + public static final Item neon_glass = get("neon_glass"); + public static final Item neon_glass_pane = get("neon_glass_pane"); + public static final Item neon_wool = get("neon_wool"); + public static final Item ork_green_carpet = get("ork_green_carpet"); + public static final Item ork_green_clay = get("ork_green_clay"); + public static final ItemDye ork_green_dye = get("ork_green_dye"); + public static final Item ork_green_glass = get("ork_green_glass"); + public static final Item ork_green_glass_pane = get("ork_green_glass_pane"); + public static final Item ork_green_wool = get("ork_green_wool"); + public static final Item violet_bed = get("violet_bed"); + public static final Item violet_carpet = get("violet_carpet"); + public static final Item violet_clay = get("violet_clay"); + public static final ItemDye violet_dye = get("violet_dye"); + public static final Item violet_glass = get("violet_glass"); + public static final Item violet_glass_pane = get("violet_glass_pane"); + public static final Item violet_wool = get("violet_wool"); private static T get(String id) { T item = (T)ItemRegistry.byName(id); diff --git a/common/src/main/java/common/init/MetalType.java b/common/src/main/java/common/init/MetalType.java index 77b63bf6..492de484 100755 --- a/common/src/main/java/common/init/MetalType.java +++ b/common/src/main/java/common/init/MetalType.java @@ -1,6 +1,6 @@ package common.init; -import common.color.TextColor; +import common.util.TextColor; public enum MetalType { IRON("iron", 26, "Fe", "Eisen", 0, new ToolMaterial(2, 8.0f, 0.0f, 250, 6.0F, 2, 14, true, 15, 9, 2, 6, 5, 2).setMagnetic()), @@ -91,7 +91,7 @@ public enum MetalType { } public String formatRarity() { - return TextColor.DMAGENTA + "Seltenheit: " + TextColor.NEON + "" + (this.rarity + 1); + return TextColor.DARK_MAGENTA + "Seltenheit: " + TextColor.NEON + "" + (this.rarity + 1); } public String formatRadioactivity() { diff --git a/common/src/main/java/common/init/TradeRegistry.java b/common/src/main/java/common/init/TradeRegistry.java index 00a0e1dc..fd6c323b 100755 --- a/common/src/main/java/common/init/TradeRegistry.java +++ b/common/src/main/java/common/init/TradeRegistry.java @@ -34,7 +34,7 @@ public abstract class TradeRegistry { new ItemForGem(Items.black_wool, new PriceInfo(1, 2)), new ItemForGem(Items.brown_wool, new PriceInfo(1, 2)), new ItemForGem(Items.gray_wool, new PriceInfo(1, 2)), - new ItemForGem(Items.silver_wool, new PriceInfo(1, 2)), + new ItemForGem(Items.light_gray_wool, new PriceInfo(1, 2)), new GemForItem(Items.string, new PriceInfo(15, 20)), new ItemForGem(Items.arrow, new PriceInfo(-12, -8)), new ItemForGem(Items.bow, new PriceInfo(2, 3)), diff --git a/common/src/main/java/common/item/Item.java b/common/src/main/java/common/item/Item.java index 01c83437..a46e1087 100755 --- a/common/src/main/java/common/item/Item.java +++ b/common/src/main/java/common/item/Item.java @@ -6,7 +6,6 @@ import common.attributes.Attribute; import common.attributes.UsageSlot; import common.block.Block; import common.block.tech.BlockDispenser; -import common.color.TextColor; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -21,6 +20,7 @@ import common.util.ExtMath; import common.util.Facing; import common.util.HitPosition; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; import common.world.World; diff --git a/common/src/main/java/common/item/ItemStack.java b/common/src/main/java/common/item/ItemStack.java index e1cd1bd6..1d7968b9 100755 --- a/common/src/main/java/common/item/ItemStack.java +++ b/common/src/main/java/common/item/ItemStack.java @@ -9,7 +9,6 @@ import common.attributes.Attribute; import common.attributes.UsageSlot; import common.collect.Lists; import common.collect.Maps; -import common.color.TextColor; import common.enchantment.Enchantment; import common.enchantment.EnchantmentHelper; import common.entity.npc.EntityNPC; @@ -18,6 +17,7 @@ import common.init.ItemRegistry; import common.item.weapon.ItemBow; import common.rng.Random; import common.tags.TagObject; +import common.util.TextColor; public final class ItemStack { public static final int MAX_SIZE = 67108864; @@ -233,7 +233,7 @@ public final class ItemStack { } public String getColoredName(TextColor reset) { - return TextColor.DGRAY + "[" + this.getColor() + this.getDisplayName() + TextColor.DGRAY + "]" + reset; + return TextColor.DARK_GRAY + "[" + this.getColor() + this.getDisplayName() + TextColor.DARK_GRAY + "]" + reset; } public boolean hasDisplayName() { diff --git a/common/src/main/java/common/item/consumable/ItemAppleGold.java b/common/src/main/java/common/item/consumable/ItemAppleGold.java index 40330746..ee30c7b2 100755 --- a/common/src/main/java/common/item/consumable/ItemAppleGold.java +++ b/common/src/main/java/common/item/consumable/ItemAppleGold.java @@ -1,10 +1,10 @@ package common.item.consumable; -import common.color.TextColor; import common.effect.Effect; import common.effect.StatusEffect; import common.entity.npc.EntityNPC; import common.item.ItemStack; +import common.util.TextColor; import common.world.World; public class ItemAppleGold extends ItemFood diff --git a/common/src/main/java/common/item/consumable/ItemPotion.java b/common/src/main/java/common/item/consumable/ItemPotion.java index 82dd2fad..db135718 100755 --- a/common/src/main/java/common/item/consumable/ItemPotion.java +++ b/common/src/main/java/common/item/consumable/ItemPotion.java @@ -3,7 +3,6 @@ package common.item.consumable; import java.util.Collection; import java.util.List; import common.collect.Lists; -import common.color.TextColor; import common.effect.Effect; import common.effect.StatusEffect; import common.entity.npc.EntityNPC; @@ -23,6 +22,7 @@ import common.util.Clientside; import common.util.Facing; import common.util.Pair; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; import common.world.World; @@ -216,14 +216,14 @@ public class ItemPotion extends Item } else { - tooltip.add(TextColor.LGRAY + s1); + tooltip.add(TextColor.LIGHT_GRAY + s1); } String effectTip = this.effect.getPotion().getTooltip(this.effect.getAmplifier()); if(effectTip != null) tooltip.add(effectTip); } else if(this.type != null) { - tooltip.add(TextColor.LGRAY + "Wirkungslos"); + tooltip.add(TextColor.LIGHT_GRAY + "Wirkungslos"); } } diff --git a/common/src/main/java/common/item/material/ItemDye.java b/common/src/main/java/common/item/material/ItemDye.java index 99315fff..a165f991 100755 --- a/common/src/main/java/common/item/material/ItemDye.java +++ b/common/src/main/java/common/item/material/ItemDye.java @@ -3,7 +3,6 @@ package common.item.material; import common.block.Block; import common.block.artificial.BlockBed; import common.block.foliage.IGrowable; -import common.color.DyeColor; import common.entity.animal.EntitySheep; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -19,30 +18,31 @@ import common.util.Clientside; import common.util.Facing; import common.util.ParticleType; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.world.State; import common.world.World; import common.world.AWorldServer; public class ItemDye extends Item { - private static final ItemDye[] DIES = new ItemDye[DyeColor.values().length]; + private static final ItemDye[] DIES = new ItemDye[TextColor.values().length]; - private final DyeColor color; + private final TextColor color; - public static ItemDye getByColor(DyeColor color) { + public static ItemDye getByColor(TextColor color) { return DIES[color.ordinal()]; } - public ItemDye(DyeColor color) + public ItemDye(TextColor color) { this.color = color; - this.setTab(color == DyeColor.BLUE ? CheatTab.METALS : CheatTab.MATERIALS); + this.setTab(color == TextColor.BLUE ? CheatTab.METALS : CheatTab.MATERIALS); this.setDisplay(color.getDyeName()); this.setMaxAmount(StackSize.XXL); DIES[this.color.ordinal()] = this; } - public DyeColor getColor() { + public TextColor getColor() { return this.color; } @@ -57,7 +57,7 @@ public class ItemDye extends Item { } else { - if (this.color == DyeColor.WHITE) + if (this.color == TextColor.WHITE) { if (applyBonemeal(stack, worldIn, pos)) { @@ -177,7 +177,7 @@ public class ItemDye extends Item { @Serverside public ItemStack dispenseStack(AWorldServer world, TileEntity source, Vec3 position, BlockPos blockpos, Facing facing, ItemStack stack) { - if(this.color != DyeColor.WHITE) + if(this.color != TextColor.WHITE) return super.dispenseStack(world, source, position, blockpos, facing, stack); BlockPos pos = blockpos = blockpos.offset(facing); @@ -199,6 +199,6 @@ public class ItemDye extends Item { @Serverside public int getDispenseSoundId() { - return this.color == DyeColor.WHITE ? 0 : super.getDispenseSoundId(); + return this.color == TextColor.WHITE ? 0 : super.getDispenseSoundId(); } } diff --git a/common/src/main/java/common/item/material/ItemEnchantedBook.java b/common/src/main/java/common/item/material/ItemEnchantedBook.java index 40799105..bdd7d85d 100755 --- a/common/src/main/java/common/item/material/ItemEnchantedBook.java +++ b/common/src/main/java/common/item/material/ItemEnchantedBook.java @@ -5,7 +5,6 @@ import java.util.Map; import common.collect.Lists; import common.collect.Maps; -import common.color.TextColor; import common.enchantment.Enchantment; import common.enchantment.EnchantmentHelper; import common.entity.npc.EntityNPC; @@ -15,6 +14,7 @@ import common.item.ItemStack; import common.item.RngLoot; import common.rng.Random; import common.util.Clientside; +import common.util.TextColor; public class ItemEnchantedBook extends Item { diff --git a/common/src/main/java/common/item/material/ItemMetal.java b/common/src/main/java/common/item/material/ItemMetal.java index a1dc69aa..fb101420 100755 --- a/common/src/main/java/common/item/material/ItemMetal.java +++ b/common/src/main/java/common/item/material/ItemMetal.java @@ -4,12 +4,12 @@ import java.util.List; import java.util.Map; import common.attributes.Attribute; import common.attributes.UsageSlot; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.init.MetalType; import common.item.Item; import common.item.ItemStack; import common.util.Clientside; +import common.util.TextColor; public class ItemMetal extends Item { private final MetalType metal; diff --git a/common/src/main/java/common/item/projectile/ItemChargedOrb.java b/common/src/main/java/common/item/projectile/ItemChargedOrb.java index 7942946c..3651d683 100755 --- a/common/src/main/java/common/item/projectile/ItemChargedOrb.java +++ b/common/src/main/java/common/item/projectile/ItemChargedOrb.java @@ -1,7 +1,6 @@ package common.item.projectile; import common.block.artificial.BlockPortalFrame; -import common.color.TextColor; import common.entity.item.EntityOrb; import common.entity.npc.EntityNPC; import common.init.Blocks; @@ -13,6 +12,7 @@ import common.item.ItemStack; import common.util.BlockPos; import common.util.Facing; import common.util.ParticleType; +import common.util.TextColor; import common.world.State; import common.world.World; @@ -22,7 +22,7 @@ public class ItemChargedOrb extends Item { this.setTab(CheatTab.MAGIC); this.setMaxDamage(16); - this.setColor(TextColor.DMAGENTA); + this.setColor(TextColor.DARK_MAGENTA); this.setFragile(); } diff --git a/common/src/main/java/common/item/projectile/ItemDie.java b/common/src/main/java/common/item/projectile/ItemDie.java index b42280db..76690dda 100755 --- a/common/src/main/java/common/item/projectile/ItemDie.java +++ b/common/src/main/java/common/item/projectile/ItemDie.java @@ -4,7 +4,6 @@ import java.util.Collection; import java.util.Map; import common.collect.Maps; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.entity.projectile.EntityDie; import common.init.SoundEvent; @@ -20,6 +19,7 @@ import common.util.Clientside; import common.util.Facing; import common.util.Pair; import common.util.Serverside; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; import common.world.World; @@ -27,11 +27,11 @@ import common.world.World; public class ItemDie extends Item { public static final Pair[] DIE_SIDES = new Pair[] { - new Pair(4, TextColor.DGREEN), + new Pair(4, TextColor.DARK_GREEN), new Pair(6, TextColor.NEON), - new Pair(8, TextColor.DMAGENTA), + new Pair(8, TextColor.DARK_MAGENTA), new Pair(10, TextColor.MAGENTA), - new Pair(12, TextColor.DRED), + new Pair(12, TextColor.DARK_RED), new Pair(20, TextColor.ORANGE) }; public static final Map DICE = Maps.newTreeMap(); diff --git a/common/src/main/java/common/item/spawner/ItemCharTemplate.java b/common/src/main/java/common/item/spawner/ItemCharTemplate.java index 93724789..568997b0 100755 --- a/common/src/main/java/common/item/spawner/ItemCharTemplate.java +++ b/common/src/main/java/common/item/spawner/ItemCharTemplate.java @@ -6,7 +6,6 @@ import java.util.List; import common.block.artificial.BlockFence; import common.block.liquid.BlockLiquid; import common.collect.Lists; -import common.color.TextColor; import common.dimension.Dimension; import common.entity.Entity; import common.entity.npc.CharacterInfo; @@ -24,6 +23,7 @@ import common.util.ExtMath; import common.util.Facing; import common.util.HitPosition; import common.util.Serverside; +import common.util.TextColor; import common.world.State; import common.world.World; diff --git a/common/src/main/java/common/item/spawner/ItemMobTemplate.java b/common/src/main/java/common/item/spawner/ItemMobTemplate.java index 280ef1d0..1aab7381 100755 --- a/common/src/main/java/common/item/spawner/ItemMobTemplate.java +++ b/common/src/main/java/common/item/spawner/ItemMobTemplate.java @@ -5,7 +5,6 @@ import java.util.List; import common.block.artificial.BlockFence; import common.block.liquid.BlockLiquid; import common.collect.Lists; -import common.color.TextColor; import common.dimension.Dimension; import common.entity.Entity; import common.entity.npc.EntityNPC; @@ -22,6 +21,7 @@ import common.util.ExtMath; import common.util.Facing; import common.util.HitPosition; import common.util.Serverside; +import common.util.TextColor; import common.world.State; import common.world.World; diff --git a/common/src/main/java/common/item/tool/ItemScanner.java b/common/src/main/java/common/item/tool/ItemScanner.java index eadcdcfa..2e32a9d7 100755 --- a/common/src/main/java/common/item/tool/ItemScanner.java +++ b/common/src/main/java/common/item/tool/ItemScanner.java @@ -1,10 +1,10 @@ package common.item.tool; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.ItemStack; import common.item.WieldType; import common.util.BlockPos; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; diff --git a/common/src/main/java/common/item/tool/ItemSpaceNavigator.java b/common/src/main/java/common/item/tool/ItemSpaceNavigator.java index 15c51984..0d338fbc 100755 --- a/common/src/main/java/common/item/tool/ItemSpaceNavigator.java +++ b/common/src/main/java/common/item/tool/ItemSpaceNavigator.java @@ -2,12 +2,12 @@ package common.item.tool; import java.util.List; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.Item; import common.item.ItemStack; import common.util.BlockPos; import common.util.Clientside; +import common.util.TextColor; public class ItemSpaceNavigator extends Item { @Clientside @@ -15,7 +15,7 @@ public class ItemSpaceNavigator extends Item { public ItemSpaceNavigator() { this.setUnstackable(); - this.setColor(TextColor.DGREEN); + this.setColor(TextColor.DARK_GREEN); this.setMagnetic(); } diff --git a/common/src/main/java/common/item/tool/ItemWand.java b/common/src/main/java/common/item/tool/ItemWand.java index 76da2fde..31b8250e 100755 --- a/common/src/main/java/common/item/tool/ItemWand.java +++ b/common/src/main/java/common/item/tool/ItemWand.java @@ -2,7 +2,6 @@ package common.item.tool; import java.util.List; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.Item; @@ -13,6 +12,7 @@ import common.util.BlockPos; import common.util.Clientside; import common.util.ExtMath; import common.util.Facing; +import common.util.TextColor; import common.util.Vec3; import common.world.World; import common.world.AWorldServer; @@ -43,7 +43,7 @@ public abstract class ItemWand extends Item { @Clientside public void addInformation(ItemStack stack, EntityNPC playerIn, List tooltip) { - tooltip.add(TextColor.DGREEN + "Reichweite: " + TextColor.GREEN + this.getRange(stack, playerIn) + " Blöcke"); + tooltip.add(TextColor.DARK_GREEN + "Reichweite: " + TextColor.GREEN + this.getRange(stack, playerIn) + " Blöcke"); } public abstract int getRange(ItemStack stack, EntityNPC player); diff --git a/common/src/main/java/common/item/tool/ItemWeatherToken.java b/common/src/main/java/common/item/tool/ItemWeatherToken.java index 241bd340..21538f56 100755 --- a/common/src/main/java/common/item/tool/ItemWeatherToken.java +++ b/common/src/main/java/common/item/tool/ItemWeatherToken.java @@ -1,10 +1,10 @@ package common.item.tool; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.item.Item; import common.item.ItemStack; +import common.util.TextColor; import common.world.Weather; import common.world.World; import common.world.AWorldServer; diff --git a/common/src/main/java/common/item/weapon/ItemBanHammer.java b/common/src/main/java/common/item/weapon/ItemBanHammer.java index ed57727b..e61983e8 100755 --- a/common/src/main/java/common/item/weapon/ItemBanHammer.java +++ b/common/src/main/java/common/item/weapon/ItemBanHammer.java @@ -2,7 +2,6 @@ package common.item.weapon; import java.util.List; -import common.color.TextColor; import common.entity.DamageSource; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -10,12 +9,13 @@ import common.item.CheatTab; import common.item.ItemStack; import common.item.tool.ItemWand; import common.util.BoundingBox; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; public class ItemBanHammer extends ItemWand { public ItemBanHammer() { - this.setColor(TextColor.DRED); + this.setColor(TextColor.DARK_RED); this.setTab(CheatTab.WEAPONS); this.setMagnetic(); } diff --git a/common/src/main/java/common/item/weapon/ItemExterminator.java b/common/src/main/java/common/item/weapon/ItemExterminator.java index 903869d4..98abcdb4 100755 --- a/common/src/main/java/common/item/weapon/ItemExterminator.java +++ b/common/src/main/java/common/item/weapon/ItemExterminator.java @@ -1,19 +1,19 @@ package common.item.weapon; -import common.color.TextColor; import common.dimension.Space; import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; +import common.util.TextColor; import common.world.World; import common.world.AWorldServer; public class ItemExterminator extends Item { public ItemExterminator() { this.setUnstackable(); - this.setColor(TextColor.DRED); + this.setColor(TextColor.DARK_RED); this.setTab(CheatTab.WEAPONS); this.setMagnetic(); } diff --git a/common/src/main/java/common/item/weapon/ItemTrident.java b/common/src/main/java/common/item/weapon/ItemTrident.java index b04367a7..d7a5bbf2 100755 --- a/common/src/main/java/common/item/weapon/ItemTrident.java +++ b/common/src/main/java/common/item/weapon/ItemTrident.java @@ -1,10 +1,10 @@ package common.item.weapon; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.item.ItemStack; import common.item.tool.ItemWand; +import common.util.TextColor; import common.util.Vec3; import common.world.AWorldServer; diff --git a/common/src/main/java/common/log/Log.java b/common/src/main/java/common/log/Log.java index 657e0ed7..752bb4eb 100644 --- a/common/src/main/java/common/log/Log.java +++ b/common/src/main/java/common/log/Log.java @@ -5,8 +5,8 @@ import java.io.StringWriter; import java.util.List; import common.collect.Lists; -import common.color.TextColor; import common.network.IThreadListener; +import common.util.TextColor; import common.util.Util; public enum Log { @@ -143,8 +143,8 @@ public enum Log { public void log(LogLevel level, String msg) { if(level.ordinal() > Log.level.ordinal()) return; - String prefix = String.format(TextColor.DGRAY + "[" + TextColor.GREEN + "%s" + TextColor.DGRAY + "][" + TextColor.LGRAY + "%s" + TextColor.DGRAY + "|" + TextColor.LGRAY + "%s" + - TextColor.DGRAY + "][%s%s" + TextColor.DGRAY + "] ", + String prefix = String.format(TextColor.DARK_GRAY + "[" + TextColor.GREEN + "%s" + TextColor.DARK_GRAY + "][" + TextColor.LIGHT_GRAY + "%s" + TextColor.DARK_GRAY + "|" + TextColor.LIGHT_GRAY + "%s" + + TextColor.DARK_GRAY + "][%s%s" + TextColor.DARK_GRAY + "] ", str_time(Util.rtime()), this.prefix, Thread.currentThread().getName(), level.color, level.log); String[] lines = msg.split("\n"); if(/* Game.getGame() == null || */ Log.sync.isMainThread()) { diff --git a/common/src/main/java/common/log/LogLevel.java b/common/src/main/java/common/log/LogLevel.java index e436d04e..3eb3e203 100644 --- a/common/src/main/java/common/log/LogLevel.java +++ b/common/src/main/java/common/log/LogLevel.java @@ -1,9 +1,9 @@ package common.log; -import common.color.TextColor; import common.util.Displayable; import common.util.ExtMath; import common.util.Identifyable; +import common.util.TextColor; public enum LogLevel implements Displayable, Identifyable { SILENT("silent", "Nichts", "UNK?", TextColor.BLACK), diff --git a/common/src/main/java/common/tileentity/Device.java b/common/src/main/java/common/tileentity/Device.java index 7ea41c94..4eeeb21d 100755 --- a/common/src/main/java/common/tileentity/Device.java +++ b/common/src/main/java/common/tileentity/Device.java @@ -1,7 +1,6 @@ package common.tileentity; import common.collect.Lists; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.inventory.ContainerTile; import common.inventory.IInventory; @@ -12,10 +11,11 @@ import common.rng.Random; import common.tags.TagObject; import java.util.List; import common.util.ExtMath; +import common.util.TextColor; public abstract class Device extends TileEntity implements IInventory, ITickable { public static enum Status { - OFF(TextColor.DGRAY, "Inaktiv"), + OFF(TextColor.DARK_GRAY, "Inaktiv"), COOLING(TextColor.YELLOW, "Abkühlen ..."), RUNNING(TextColor.GREEN, "Aktiv"), OVERHEAT(TextColor.RED, "Überhitzt!"), diff --git a/common/src/main/java/common/util/TextColor.java b/common/src/main/java/common/util/TextColor.java new file mode 100755 index 00000000..7717218a --- /dev/null +++ b/common/src/main/java/common/util/TextColor.java @@ -0,0 +1,143 @@ +package common.util; + +import java.util.Map; +import java.util.regex.Pattern; + +import common.collect.Maps; + +public enum TextColor implements Identifyable, Displayable { + CRIMSON(0x02, 0x601010, "crimson", 'C', "Blutrot", "Blutrotes", "Blutroter", "Blutrote"), + DARK_RED(0x03, 0x7f0000, "dark_red", 'r', "Dunkelrot", "Dunkelrotes", "Dunkelroter", "Dunkelrote"), + RED(0x04, 0xcf0000, "red", 'R', "Rot", "Rotes", "Roter", "Rote"), + DARK_BROWN(0x05, 0x56250b, "dark_brown", 'w', "Dunkelbraun", "Dunkelbraunes", "Dunkelbrauner", "Dunkelbraune"), + ORANGE(0x06, 0xff7000, "orange", 'o', "Orange", "Oranges", "Oranger", "Orange"), + BROWN(0x07, 0x8c5606, "brown", 'W', "Braun", "Braunes", "Brauner", "Braune", "cocoa_powder", "Gemahlene Kakaobohnen"), + LIGHT_BROWN(0x08, 0x9c7636, "light_brown", 'l', "Hellbraun", "Hellbraunes", "Hellbrauner", "Hellbraune"), + BEIGE(0x09, 0xcfcfaf, "beige", 'L', "Beige", "Beiges", "Beiger", "Beige"), + YELLOW(0x0b, 0xbfbf00, "yellow", 'y', "Gelb", "Gelbes", "Gelber", "Gelbe"), + LIGHT_YELLOW(0x0c, 0xffff7f, "light_yellow", 'Y', "Hellgelb", "Hellgelbes", "Hellgelber", "Hellgelbe"), + ORK(0x0d, 0x487c00, "ork_green", 'O', "Orkgrün", "Orkgrünes", "Orkgrüner", "Orkgrüne"), + ACID(0x0e, 0x80ff00, "acid_green", 'a', "Säuregrün", "Säuregrünes", "Säuregrüner", "Säuregrüne"), + DARK_GREEN(0x0f, 0x007f00, "dark_green", 'g', "Dunkelgrün", "Dunkelgrünes", "Dunkelgrüner", "Dunkelgrüne"), + GREEN(0x10, 0x00cf00, "green", 'G', "Grün", "Grünes", "Grüner", "Grüne"), + CYAN(0x12, 0x00bfbf, "cyan", 'c', "Türkis", "Türkises", "Türkiser", "Türkise"), + NEON(0x13, 0x80c0f0, "neon", 'n', "Neongrün", "Neongrünes", "Neongrüner", "Neongrüne"), + MIDNIGHT(0x14, 0x000080, "midnight", 'm', "Mitternachtsblau", "Mitternachtsblaues", "Mitternachtsblauer", "Mitternachtsblaue"), + BLUE(0x15, 0x0000cf, "blue", 'b', "Blau", "Blaues", "Blauer", "Blaue", "lapis_lazuli", "Lapislazuli"), + LIGHT_BLUE(0x16, 0x5f5fff, "light_blue", 'B', "Hellblau", "Hellblaues", "Hellblauer", "Hellblaue"), + VIOLET(0x17, 0x6000ff, "violet", 'V', "Violett", "Violettes", "Violetter", "Violette"), + DARK_VIOLET(0x18, 0x5400be, "dark_violet", 'v', "Dunkelviolett", "Dunkelviolettes", "Dunkelvioletter", "Dunkelviolette"), + DARK_MAGENTA(0x19, 0x6f006f, "dark_magenta", 'm', "Dunkelmagenta", "Dunkelmagenta", "Dunkelmagenta", "Dunkelmagenta"), + MAGENTA(0x1a, 0xbf00bf, "magenta", 'M', "Magenta", "Magenta", "Magenta", "Magenta"), + WHITE(0x1b, 0xffffff, "white", '4', "Weiß", "Weißes", "Weißer", "Weiße", "bonemeal", "Knochenmehl"), + LIGHT_GRAY(0x1c, 0xc0c0c0, "light_gray", '3', "Hellgrau", "Hellgraues", "Hellgrauer", "Hellgraue"), + GRAY(0x1d, 0x808080, "gray", '2', "Grau", "Graues", "Grauer", "Graue"), + DARK_GRAY(0x1e, 0x585858, "dark_gray", '1', "Dunkelgrau", "Dunkelgraues", "Dunkelgrauer", "Dunkelgraue"), + BLACK(0x1f, 0x000000, "black", '0', "Schwarz", "Schwarzes", "Schwarzer", "Schwarze", "ink_sack", "Tintenbeutel"); + + public static final char RESET = 0x01; + public static final char COMMAND = 0x11; + + private static final Map LOOKUP = Maps.newHashMap(); + private static final Map CODE_LOOKUP = Maps.newHashMap(); + private static final Pattern STRIP_PATTERN = Pattern.compile("[\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000b\u000c\r\u000e\u000f" + + "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f]"); + + private static final int[] COLORS = new int[32]; + private static final int[] SHADOW = new int[32]; + + private final String format; + public final char code; + public final String id; + public final char colorId; + public final int color; + public final int shadow; + private final String display; + private final String subject; + private final String msubject; + private final String fsubject; + private final String dye; + private final String dyeName; + + static { + for(TextColor color : values()) { + if(color.code < COLORS.length) { + COLORS[color.code] = color.color; + SHADOW[color.code] = color.shadow; + LOOKUP.put(color.id, color); + CODE_LOOKUP.put(color.colorId, color.code); + } + } + COLORS[COMMAND] = 0x00ff80; + SHADOW[COMMAND] = Util.mixColor(Util.mixColor(COLORS[COMMAND], 0x000000), 0x000000); + CODE_LOOKUP.put('D', RESET); + CODE_LOOKUP.put('d', COMMAND); + } + + public static String stripCodes(String text) { + return text == null ? null : STRIP_PATTERN.matcher(text).replaceAll(""); + } + + public static int getColor(char code) { + return code < COLORS.length ? COLORS[code] : 0x000000; + } + + public static int getShadow(char code) { + return code < SHADOW.length ? SHADOW[code] : 0x000000; + } + + public static TextColor byName(String name) { + TextColor type = LOOKUP.get(name.toLowerCase()); + return type == null ? WHITE : type; + } + + public static TextColor getExact(String name) { + return LOOKUP.get(name.toLowerCase()); + } + + private TextColor(int code, int color, String id, char colorId, String display, String subject, String msubject, String fsubject, String dye, String dyeName) { + this.format = Character.toString(this.code = (char)code); + this.color = color; + this.shadow = Util.mixColor(Util.mixColor(this.color, 0x000000), 0x000000); + this.id = id; + this.colorId = colorId; + this.display = display; + this.subject = subject; + this.msubject = msubject; + this.fsubject = fsubject; + this.dye = dye; + this.dyeName = dyeName; + } + + private TextColor(int code, int color, String id, char colorId, String display, String subject, String msubject, String fsubject) { + this(code, color, id, colorId, display, subject, msubject, fsubject, id + "_dye", msubject + " Farbstoff"); + } + + public String toString() { + return this.format; + } + + public String getName() { + return this.id; + } + + public String getDisplay() { + return this.display; + } + + public String getSubject(Integer type) { + return type == null ? this.display : (type < 0 ? this.fsubject : (type > 0 ? this.msubject : this.subject)); + } + + public String getDye() { + return this.dye; + } + + public String getDyeName() { + return this.dyeName; + } + + public int getColor() { + return this.color; + } +} diff --git a/server/src/main/java/server/Server.java b/server/src/main/java/server/Server.java index 955957c8..14d809fa 100755 --- a/server/src/main/java/server/Server.java +++ b/server/src/main/java/server/Server.java @@ -26,7 +26,6 @@ import java.util.Queue; import common.Version; import common.collect.Lists; import common.collect.Maps; -import common.color.TextColor; import common.dimension.Area; import common.dimension.DimType; import common.dimension.Dimension; @@ -88,6 +87,7 @@ import common.util.ExtMath; import common.util.Pair; import common.util.PortalType; import common.util.Position; +import common.util.TextColor; import common.util.Triplet; import common.util.Util; import common.util.Var; @@ -1074,7 +1074,7 @@ public final class Server implements IThreadListener, Executor { nplayer.setHealth(nplayer.getHealth()); conn.sendPlayerAbilities(); if(message != null) - conn.addHotbar(TextColor.DRED + message); + conn.addHotbar(TextColor.DARK_RED + message); conn.addFeed(TextColor.RED + "* Bei %d, %d, %d in Dimension %s gestorben", pos.getX(), pos.getY(), pos.getZ(), old.worldObj.dimension.getDisplay()); } diff --git a/server/src/main/java/server/clipboard/ReorderRegistry.java b/server/src/main/java/server/clipboard/ReorderRegistry.java index 92809d60..936a26eb 100755 --- a/server/src/main/java/server/clipboard/ReorderRegistry.java +++ b/server/src/main/java/server/clipboard/ReorderRegistry.java @@ -12,10 +12,10 @@ import common.block.artificial.BlockPortal; import common.block.foliage.BlockDoublePlant; import common.block.foliage.BlockFlower; import common.block.tech.BlockAnvil; -import common.color.DyeColor; import common.init.BlockRegistry; import common.init.Blocks; import common.init.WoodType; +import common.util.TextColor; import common.util.Vec3i; import common.world.State; @@ -48,7 +48,7 @@ public abstract class ReorderRegistry { PLACE_LAST.add(BlockRegistry.byName(wood.getName() + "_sapling")); } // PLACE_LAST.add(Blocks.bed); - for(DyeColor color : BlockBed.COLORS) { + for(TextColor color : BlockBed.COLORS) { PLACE_LAST.add(BlockRegistry.byName(color.getName() + "_bed")); } PLACE_LAST.add(Blocks.tallgrass); diff --git a/server/src/main/java/server/command/ColorParser.java b/server/src/main/java/server/command/ColorParser.java index e13c51d7..0f0c75c7 100644 --- a/server/src/main/java/server/command/ColorParser.java +++ b/server/src/main/java/server/command/ColorParser.java @@ -1,6 +1,6 @@ package server.command; -import common.color.DyeColor; +import common.util.TextColor; public class ColorParser extends IntParser { public ColorParser(String name, Integer def, Object ... completions) { @@ -8,7 +8,7 @@ public class ColorParser extends IntParser { } public ColorParser(String name, Integer def) { - this(name, def, (Object[])DyeColor.values()); + this(name, def, (Object[])TextColor.values()); } public Integer parse(CommandEnvironment env, String input) { @@ -16,7 +16,7 @@ public class ColorParser extends IntParser { input = input.substring(1); } else { - DyeColor color = DyeColor.getExact(input); + TextColor color = TextColor.getExact(input); if(color != null) return color.getColor(); } diff --git a/server/src/main/java/server/command/Command.java b/server/src/main/java/server/command/Command.java index d325ff5c..87beeb78 100644 --- a/server/src/main/java/server/command/Command.java +++ b/server/src/main/java/server/command/Command.java @@ -7,9 +7,9 @@ import java.util.Map; import common.collect.Lists; import common.collect.Maps; -import common.color.TextColor; import common.util.BlockPos; import common.util.CharValidator; +import common.util.TextColor; import common.util.Vec3; import common.world.World; import server.command.DoubleParser.DefType; @@ -24,7 +24,7 @@ public abstract class Command implements Executable { private boolean parReq = true; public static String asCommand(TextColor color, String command, Object ... args) { - return String.format(TextColor.DGRAY + "[" + TextColor.COMMAND + "%s" + TextColor.DGRAY + "]" + color, String.format(command, args)); + return String.format(TextColor.DARK_GRAY + "[" + TextColor.COMMAND + "%s" + TextColor.DARK_GRAY + "]" + (color == null ? TextColor.RESET : color), String.format(command, args)); } protected Command(String name) { diff --git a/server/src/main/java/server/command/CommandEnvironment.java b/server/src/main/java/server/command/CommandEnvironment.java index df7cea16..4941e489 100644 --- a/server/src/main/java/server/command/CommandEnvironment.java +++ b/server/src/main/java/server/command/CommandEnvironment.java @@ -11,8 +11,8 @@ import java.util.regex.Pattern; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; -import common.color.TextColor; import common.log.Log; +import common.util.TextColor; import server.Server; import server.command.commands.*; diff --git a/server/src/main/java/server/command/commands/CommandExterminatus.java b/server/src/main/java/server/command/commands/CommandExterminatus.java index eb1ce001..4bc99108 100644 --- a/server/src/main/java/server/command/commands/CommandExterminatus.java +++ b/server/src/main/java/server/command/commands/CommandExterminatus.java @@ -1,7 +1,7 @@ package server.command.commands; -import common.color.TextColor; import common.dimension.Space; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; diff --git a/server/src/main/java/server/command/commands/CommandFind.java b/server/src/main/java/server/command/commands/CommandFind.java index c1c7053f..69bc489a 100644 --- a/server/src/main/java/server/command/commands/CommandFind.java +++ b/server/src/main/java/server/command/commands/CommandFind.java @@ -2,7 +2,6 @@ package server.command.commands; import java.util.List; -import common.color.TextColor; import common.entity.Entity; import common.util.BlockPos; import server.command.Command; @@ -23,7 +22,7 @@ public class CommandFind extends Command { if(entity.isEntityAlive()) { BlockPos pos = entity.getPosition(); exec.log("%s bei %d, %d, %d in %s gefunden %s", entity.getCommandName(), pos.getX(), pos.getY(), pos.getZ(), entity.worldObj.dimension.getDisplay(), - asCommand(TextColor.RESET, "tp #%d", entity.getId())); + asCommand(null, "tp #%d", entity.getId())); done++; } } diff --git a/server/src/main/java/server/command/commands/CommandGod.java b/server/src/main/java/server/command/commands/CommandGod.java index 8945d877..b3449f1e 100644 --- a/server/src/main/java/server/command/commands/CommandGod.java +++ b/server/src/main/java/server/command/commands/CommandGod.java @@ -2,9 +2,9 @@ package server.command.commands; import java.util.List; -import common.color.TextColor; import common.effect.Effect; import common.entity.npc.EntityNPC; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; diff --git a/server/src/main/java/server/command/commands/CommandLoad.java b/server/src/main/java/server/command/commands/CommandLoad.java index 8fa2d035..9cfa2ea9 100644 --- a/server/src/main/java/server/command/commands/CommandLoad.java +++ b/server/src/main/java/server/command/commands/CommandLoad.java @@ -5,7 +5,6 @@ import java.util.Arrays; import common.collect.Iterables; import common.collect.Lists; -import common.color.TextColor; import common.dimension.Area; import common.dimension.DimType; import common.dimension.Dimension; @@ -15,6 +14,7 @@ import common.init.Blocks; import common.init.NameRegistry; import common.packet.SPacketDimensions; import common.rng.Random; +import common.util.TextColor; import server.Server; import server.command.ArgumentParser; import server.command.Command; diff --git a/server/src/main/java/server/command/commands/CommandNoclip.java b/server/src/main/java/server/command/commands/CommandNoclip.java index 46edf724..a89be804 100644 --- a/server/src/main/java/server/command/commands/CommandNoclip.java +++ b/server/src/main/java/server/command/commands/CommandNoclip.java @@ -2,8 +2,8 @@ package server.command.commands; import java.util.List; -import common.color.TextColor; import common.entity.npc.EntityNPC; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; diff --git a/server/src/main/java/server/command/commands/CommandPasswd.java b/server/src/main/java/server/command/commands/CommandPasswd.java index 6b3085b5..c82b2867 100644 --- a/server/src/main/java/server/command/commands/CommandPasswd.java +++ b/server/src/main/java/server/command/commands/CommandPasswd.java @@ -2,9 +2,9 @@ package server.command.commands; import java.security.MessageDigest; -import common.color.TextColor; import common.network.IPlayer; import common.util.EncryptUtil; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -50,7 +50,7 @@ public class CommandPasswd extends Command { protected void accept() { User plr = env.getServer().getUser(user.getUser()); if(!((Player)exec).isAdmin() || plr == null || (plr.isAdmin() && plr != exec) || (plr.getPasswordHash() == null && plr == exec) || (plr.getPubkey() != null && plr == exec)) { - exec.log(TextColor.DRED + "Ein Fehler ist aufgetreten"); + exec.log(TextColor.DARK_RED + "Ein Fehler ist aufgetreten"); return; } if(this.checkField != null && !MessageDigest.isEqual(EncryptUtil.hashPassword(this.checkField.get(), plr.getPasswordHash().second()), plr.getPasswordHash().first())) { diff --git a/server/src/main/java/server/command/commands/CommandPlayers.java b/server/src/main/java/server/command/commands/CommandPlayers.java index 9770b692..0edf5317 100644 --- a/server/src/main/java/server/command/commands/CommandPlayers.java +++ b/server/src/main/java/server/command/commands/CommandPlayers.java @@ -2,9 +2,9 @@ package server.command.commands; import java.util.List; -import common.color.TextColor; import common.entity.npc.EntityNPC; import common.util.ExtMath; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -21,13 +21,13 @@ public class CommandPlayers extends Command { public void exec(CommandEnvironment env, Executor exec, boolean coords) { List players = env.getServer().getPlayers(); if(players.isEmpty()) { - exec.log(TextColor.DGRAY + "Es sind keine Spieler online"); + exec.log(TextColor.DARK_GRAY + "Es sind keine Spieler online"); return; } exec.log(TextColor.GREEN + "Es " + (players.size() == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Spieler online", players.size()); for(Player player : players) { EntityNPC entity = player.getPresentEntity(); - exec.log("%s%s" + TextColor.GRAY + ": '%s" + TextColor.GRAY + "'" + (coords && entity != null ? " [" + TextColor.ORANGE + "%s @ %d, %d, %d" + TextColor.GRAY + "]" : ""), player.isAdmin() ? TextColor.RED : TextColor.NEON, player.getUser(), entity == null ? TextColor.DGRAY + "<->" : TextColor.ACID + entity.getCommandName(), entity == null ? null : entity.worldObj.dimension.getDisplay(), entity == null ? null : ExtMath.floord(entity.posX), entity == null ? null : ExtMath.floord(entity.posY), entity == null ? null : ExtMath.floord(entity.posZ)); + exec.log("%s%s" + TextColor.GRAY + ": '%s" + TextColor.GRAY + "'" + (coords && entity != null ? " [" + TextColor.ORANGE + "%s @ %d, %d, %d" + TextColor.GRAY + "]" : ""), player.isAdmin() ? TextColor.RED : TextColor.NEON, player.getUser(), entity == null ? TextColor.DARK_GRAY + "<->" : TextColor.ACID + entity.getCommandName(), entity == null ? null : entity.worldObj.dimension.getDisplay(), entity == null ? null : ExtMath.floord(entity.posX), entity == null ? null : ExtMath.floord(entity.posY), entity == null ? null : ExtMath.floord(entity.posZ)); } } } diff --git a/server/src/main/java/server/command/commands/CommandPubkey.java b/server/src/main/java/server/command/commands/CommandPubkey.java index 74384ab5..36824061 100644 --- a/server/src/main/java/server/command/commands/CommandPubkey.java +++ b/server/src/main/java/server/command/commands/CommandPubkey.java @@ -3,10 +3,10 @@ package server.command.commands; import java.security.MessageDigest; import java.security.PublicKey; -import common.color.TextColor; import common.network.IPlayer; import common.util.EncryptUtil; import common.util.Pair; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -48,7 +48,7 @@ public class CommandPubkey extends Command { protected void accept() { User plr = env.getServer().getUser(user.getUser()); if(!((Player)exec).isAdmin() || plr == null || (plr.isAdmin() && plr != exec)) { - exec.log(TextColor.DRED + "Ein Fehler ist aufgetreten"); + exec.log(TextColor.DARK_RED + "Ein Fehler ist aufgetreten"); return; } if(this.checkField != null && plr.getPasswordHash() != null && !MessageDigest.isEqual(EncryptUtil.hashPassword(this.checkField.get(), plr.getPasswordHash().second()), plr.getPasswordHash().first())) { diff --git a/server/src/main/java/server/command/commands/CommandRegister.java b/server/src/main/java/server/command/commands/CommandRegister.java index 5e315f5a..cc569e01 100644 --- a/server/src/main/java/server/command/commands/CommandRegister.java +++ b/server/src/main/java/server/command/commands/CommandRegister.java @@ -1,8 +1,8 @@ package server.command.commands; -import common.color.TextColor; import common.network.IPlayer; import common.util.EncryptUtil; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -45,7 +45,7 @@ public class CommandRegister extends Command { protected void accept() { if(!((Player)exec).isAdmin() || env.getServer().getUser(username) != null || env.getServer().loadPlayerData(username) != null) { - exec.log(TextColor.DRED + "Ein Fehler ist aufgetreten"); + exec.log(TextColor.DARK_RED + "Ein Fehler ist aufgetreten"); return; } if(!this.passwordField.get().equals(this.confirmField.get())) { diff --git a/server/src/main/java/server/command/commands/CommandRegkey.java b/server/src/main/java/server/command/commands/CommandRegkey.java index 451c0b38..741b8574 100644 --- a/server/src/main/java/server/command/commands/CommandRegkey.java +++ b/server/src/main/java/server/command/commands/CommandRegkey.java @@ -2,10 +2,10 @@ package server.command.commands; import java.security.PublicKey; -import common.color.TextColor; import common.network.IPlayer; import common.util.EncryptUtil; import common.util.Pair; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -48,7 +48,7 @@ public class CommandRegkey extends Command { protected void accept() { if(!((Player)exec).isAdmin() || env.getServer().getUser(username) != null || env.getServer().loadPlayerData(username) != null) { - exec.log(TextColor.DRED + "Ein Fehler ist aufgetreten"); + exec.log(TextColor.DARK_RED + "Ein Fehler ist aufgetreten"); return; } Pair key; diff --git a/server/src/main/java/server/command/commands/CommandSave.java b/server/src/main/java/server/command/commands/CommandSave.java index 36e9b021..e974d130 100644 --- a/server/src/main/java/server/command/commands/CommandSave.java +++ b/server/src/main/java/server/command/commands/CommandSave.java @@ -1,8 +1,8 @@ package server.command.commands; -import common.color.TextColor; import common.packet.SPacketMessage; import common.packet.SPacketMessage.Type; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -29,7 +29,7 @@ public class CommandSave extends Command { exec.log(TextColor.ORANGE + "Beende E/A ..."); Region.finishWrite(); } - exec.log(TextColor.DGREEN + "Alle Serverdaten wurden gespeichert"); + exec.log(TextColor.DARK_GREEN + "Alle Serverdaten wurden gespeichert"); if(message) env.getServer().sendPacket(new SPacketMessage(TextColor.GREEN + "Die Serverdaten wurden gespeichert", Type.FEED)); } diff --git a/server/src/main/java/server/command/commands/CommandSv.java b/server/src/main/java/server/command/commands/CommandSv.java index 69fab3ff..e823bb7a 100644 --- a/server/src/main/java/server/command/commands/CommandSv.java +++ b/server/src/main/java/server/command/commands/CommandSv.java @@ -4,8 +4,8 @@ import java.util.Collection; import java.util.Map.Entry; import common.collect.Lists; -import common.color.TextColor; import common.packet.SPacketServerConfig; +import common.util.TextColor; import server.command.ArgumentSplitter; import server.command.Command; import server.command.CommandEnvironment; @@ -43,7 +43,7 @@ public class CommandSv extends Command { String value = sv.get(); StringBuilder sb = new StringBuilder(TextColor.YELLOW + name + TextColor.GRAY + " " + separator + " "); if(sv.noDef && sv.def.equals(value)) - sb.append(TextColor.DGRAY + "[ - ]"); + sb.append(TextColor.DARK_GRAY + "[ - ]"); else if(censor && name.equals("password") && !value.isEmpty()) sb.append(TextColor.NEON + "'****'"); else if(sv.type == ValueType.STRING) @@ -51,7 +51,7 @@ public class CommandSv extends Command { else sb.append(((sv.type == ValueType.BOOLEAN ? (value.equals("true") ? TextColor.GREEN : TextColor.RED) : TextColor.BLUE)) + value); if(!sv.def.equals(value)) - sb.append(TextColor.GRAY + " (" + (sv.noDef ? TextColor.DGRAY + "[ - ]" : TextColor.BROWN + sv.def) + TextColor.GRAY + ")"); + sb.append(TextColor.GRAY + " (" + (sv.noDef ? TextColor.DARK_GRAY + "[ - ]" : TextColor.BROWN + sv.def) + TextColor.GRAY + ")"); return sb.toString(); } @@ -82,7 +82,7 @@ public class CommandSv extends Command { Integer.parseInt(value); } catch(NumberFormatException e) { - throw new RunException(TextColor.DRED + "'%s' ist keine gültige Zahl", value); + throw new RunException(TextColor.DARK_RED + "'%s' ist keine gültige Zahl", value); } } else if(sv.type == ValueType.FLOAT) { @@ -90,7 +90,7 @@ public class CommandSv extends Command { Float.parseFloat(value); } catch(NumberFormatException e) { - throw new RunException(TextColor.DRED + "'%s' ist keine gültige Zahl", value); + throw new RunException(TextColor.DARK_RED + "'%s' ist keine gültige Zahl", value); } } sv.set(value, false, true); diff --git a/server/src/main/java/server/command/commands/CommandUsers.java b/server/src/main/java/server/command/commands/CommandUsers.java index 74da5a0e..abf3b5d2 100644 --- a/server/src/main/java/server/command/commands/CommandUsers.java +++ b/server/src/main/java/server/command/commands/CommandUsers.java @@ -1,7 +1,8 @@ package server.command.commands; import java.util.Collection; -import common.color.TextColor; + +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -15,12 +16,12 @@ public class CommandUsers extends Command { public void exec(CommandEnvironment env, Executor exec) { Collection users = env.getServer().getUsers(); if(users.isEmpty()) { - exec.log(TextColor.DGRAY + "Es sind keine Spieler registriert"); + exec.log(TextColor.DARK_GRAY + "Es sind keine Spieler registriert"); return; } exec.log(TextColor.GREEN + "Es " + (users.size() == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Spieler registriert", users.size()); for(User user : users) { - exec.log("%s%s" + TextColor.GRAY + ": %s" + TextColor.GRAY + ", %s", user.isAdmin() ? TextColor.RED : TextColor.NEON, user.getUser(), user.isOnline() ? TextColor.DGREEN + "Online" : TextColor.DGRAY + "Offline", user.getPubkey() != null ? TextColor.YELLOW + "Pubkey" : (user.getPasswordHash() != null ? TextColor.MAGENTA + "Passwort" : TextColor.BLACK + "Kein Login")); + exec.log("%s%s" + TextColor.GRAY + ": %s" + TextColor.GRAY + ", %s", user.isAdmin() ? TextColor.RED : TextColor.NEON, user.getUser(), user.isOnline() ? TextColor.DARK_GREEN + "Online" : TextColor.DARK_GRAY + "Offline", user.getPubkey() != null ? TextColor.YELLOW + "Pubkey" : (user.getPasswordHash() != null ? TextColor.MAGENTA + "Passwort" : TextColor.BLACK + "Kein Login")); } } } diff --git a/server/src/main/java/server/command/commands/CommandWarps.java b/server/src/main/java/server/command/commands/CommandWarps.java index 1aebfa96..6f323a9b 100644 --- a/server/src/main/java/server/command/commands/CommandWarps.java +++ b/server/src/main/java/server/command/commands/CommandWarps.java @@ -3,10 +3,10 @@ package server.command.commands; import java.util.Map; import java.util.Map.Entry; -import common.color.TextColor; import common.dimension.Dimension; import common.util.ExtMath; import common.util.Position; +import common.util.TextColor; import server.command.Command; import server.command.CommandEnvironment; import server.command.Executor; @@ -22,7 +22,7 @@ public class CommandWarps extends Command { public void exec(CommandEnvironment env, Executor exec, Dimension dim) { Map warps = env.getServer().getWarps(); if(warps.isEmpty()) { - exec.log(TextColor.DGRAY + "Es sind keine Warps definiert"); + exec.log(TextColor.DARK_GRAY + "Es sind keine Warps definiert"); return; } int n = 0; @@ -32,7 +32,7 @@ public class CommandWarps extends Command { n++; } if(dim != null && n == 0) { - exec.log(TextColor.DGRAY + "Es sind keine Warps in %s vorhanden", dim.getDisplay()); + exec.log(TextColor.DARK_GRAY + "Es sind keine Warps in %s vorhanden", dim.getDisplay()); return; } exec.log(TextColor.GREEN + "Es " + (n == 1 ? "ist" : "sind") + " " + TextColor.YELLOW + "%d" + TextColor.GREEN + " Warp" + (n == 1 ? "" : "s") + " " + (dim == null ? "" : "in Dimension %s ") + "vorhanden", n, dim == null ? null : dim.getDisplay()); diff --git a/server/src/main/java/server/init/UniverseRegistry.java b/server/src/main/java/server/init/UniverseRegistry.java index 5ef04ccf..72ea36c7 100755 --- a/server/src/main/java/server/init/UniverseRegistry.java +++ b/server/src/main/java/server/init/UniverseRegistry.java @@ -728,7 +728,7 @@ public abstract class UniverseRegistry extends DimensionRegistry { .addSpawn(EntityMouse.class, 10, 8, 8)); }); registerDomain("Digital", () -> { - registerArea("Cyberspace", new Area(0x000000, 16777216, 293.15f, 15, Blocks.green_clay.getState(), Blocks.air.getState(), 2).setLightColor(0x00ff00).setBlockColor(0xff0000).enableBlockLightSubtraction(), + registerArea("Cyberspace", new Area(0x000000, 16777216, 293.15f, 15, Blocks.dark_green_clay.getState(), Blocks.air.getState(), 2).setLightColor(0x00ff00).setBlockColor(0xff0000).enableBlockLightSubtraction(), new GeneratorData().setGenerator(new GeneratorFlat())); }); registerDomain("hell", "Hölle", () -> { diff --git a/server/src/main/java/server/network/LoginHandler.java b/server/src/main/java/server/network/LoginHandler.java index 10653ff4..c8a14d90 100755 --- a/server/src/main/java/server/network/LoginHandler.java +++ b/server/src/main/java/server/network/LoginHandler.java @@ -4,7 +4,7 @@ import java.security.KeyPair; import java.security.MessageDigest; import java.security.PublicKey; import java.security.SecureRandom; -import common.color.TextColor; + import common.log.Log; import common.net.util.concurrent.Future; import common.net.util.concurrent.GenericFutureListener; @@ -22,6 +22,7 @@ import common.packet.RPacketRequestEncrypt; import common.packet.RPacketResponse; import common.packet.RPacketServerConfig; import common.util.EncryptUtil; +import common.util.TextColor; import server.Server; import server.vars.SVars; diff --git a/server/src/main/java/server/network/Player.java b/server/src/main/java/server/network/Player.java index fdc9f60b..90513c30 100755 --- a/server/src/main/java/server/network/Player.java +++ b/server/src/main/java/server/network/Player.java @@ -13,7 +13,6 @@ import common.block.artificial.BlockFenceGate; import common.block.artificial.BlockWall; import common.block.tech.InteractionObject; import common.collect.Lists; -import common.color.TextColor; import common.dimension.Dimension; import common.dimension.Space; import common.effect.Effect; @@ -117,6 +116,7 @@ import common.util.Facing; import common.util.IntHashMap; import common.util.PortalType; import common.util.Position; +import common.util.TextColor; import common.util.Vec3i; import common.util.WorldPos; import common.vars.Vars; @@ -559,24 +559,24 @@ public class Player extends User implements Executor, IPlayer public void sendPickupMessage(Entity entity, int amount) { if(entity instanceof EntityItem) if(amount == 1) - this.addFeed(TextColor.DGREEN + "* %s aufgelesen", - ((EntityItem)entity).getEntityItem().getColoredName(TextColor.DGREEN)); + this.addFeed(TextColor.DARK_GREEN + "* %s aufgelesen", + ((EntityItem)entity).getEntityItem().getColoredName(TextColor.DARK_GREEN)); else - this.addFeed(TextColor.DGREEN + "* %d %s aufgelesen", amount, - ((EntityItem)entity).getEntityItem().getColoredName(TextColor.DGREEN)); + this.addFeed(TextColor.DARK_GREEN + "* %d %s aufgelesen", amount, + ((EntityItem)entity).getEntityItem().getColoredName(TextColor.DARK_GREEN)); else if(entity instanceof EntityArrow) - this.addFeed(TextColor.DGREEN + "* Pfeil aufgelesen", amount); + this.addFeed(TextColor.DARK_GREEN + "* Pfeil aufgelesen", amount); else if(entity instanceof EntityXp) this.addFeed(TextColor.GREEN + "* %d Erfahrung gesammelt", amount); } public void sendThrowMessage(ItemStack stack) { if(stack.getSize() == 1) - this.addFeed(TextColor.DRED + "* %s weg geworfen", - stack.getColoredName(TextColor.DRED)); + this.addFeed(TextColor.DARK_RED + "* %s weg geworfen", + stack.getColoredName(TextColor.DARK_RED)); else - this.addFeed(TextColor.DRED + "* %d %s weg geworfen", stack.getSize(), - stack.getColoredName(TextColor.DRED)); + this.addFeed(TextColor.DARK_RED + "* %d %s weg geworfen", stack.getSize(), + stack.getColoredName(TextColor.DARK_RED)); } @@ -1337,7 +1337,7 @@ public class Player extends User implements Executor, IPlayer BlockPos point = pos == null ? this.entity.getPosition() : pos; String msg = this.selectPoint(point, false); if(msg != null) - this.addHotbar(TextColor.DRED + msg); + this.addHotbar(TextColor.DARK_RED + msg); } private void selectPos2(BlockPos pos) { @@ -1690,10 +1690,10 @@ public class Player extends User implements Executor, IPlayer Player target = this.server.getPlayer(space < 0 ? line.substring(1) : line.substring(1, space)); if(target == null) return false; - target.addChat(this.entity.getColoredName(TextColor.LGRAY) + " -> " + target.entity.getColoredName(TextColor.LGRAY) + " " + + target.addChat(this.entity.getColoredName(TextColor.LIGHT_GRAY) + " -> " + target.entity.getColoredName(TextColor.LIGHT_GRAY) + " " + line); if(target != this) - this.addChat(target.entity.getColoredName(TextColor.LGRAY) + " -> " + this.entity.getColoredName(TextColor.LGRAY) + " " + + this.addChat(target.entity.getColoredName(TextColor.LIGHT_GRAY) + " -> " + this.entity.getColoredName(TextColor.LIGHT_GRAY) + " " + line); return true; } @@ -1704,7 +1704,7 @@ public class Player extends User implements Executor, IPlayer String str = line.substring(1).trim(); if(str.isEmpty()) return false; - this.server.sendPacket(new SPacketMessage(String.format(TextColor.LGRAY + "* %s %s", this.entity.getColoredName(TextColor.LGRAY), str), Type.CHAT)); + this.server.sendPacket(new SPacketMessage(String.format(TextColor.LIGHT_GRAY + "* %s %s", this.entity.getColoredName(TextColor.LIGHT_GRAY), str), Type.CHAT)); return true; } @@ -1873,7 +1873,7 @@ public class Player extends User implements Executor, IPlayer if(this.isAdmin()) this.server.getScriptEnvironment().execute(command, this); else - this.addConsole(TextColor.DRED + "Nur Admins können Befehle ausführen"); + this.addConsole(TextColor.DARK_RED + "Nur Admins können Befehle ausführen"); } private List completeCommand(String command) { @@ -1891,7 +1891,7 @@ public class Player extends User implements Executor, IPlayer public void log(String msg) { if(this.forcedExec != null) - this.forcedExec.log(TextColor.ACID + "Als " + TextColor.GREEN + "%s" + TextColor.DGRAY + ": " + TextColor.RESET + "%s", this.getUser(), msg); + this.forcedExec.log(TextColor.ACID + "Als " + TextColor.GREEN + "%s" + TextColor.DARK_GRAY + ": " + TextColor.RESET + "%s", this.getUser(), msg); else this.addConsole(msg); } @@ -1934,7 +1934,7 @@ public class Player extends User implements Executor, IPlayer case CHAT: if(!this.sendPlayer(msg) && !this.sendEmote(msg)) - this.server.sendPacket(new SPacketMessage(String.format("%s %s", this.entity.getColoredName(TextColor.LGRAY), msg), Type.CHAT)); + this.server.sendPacket(new SPacketMessage(String.format("%s %s", this.entity.getColoredName(TextColor.LIGHT_GRAY), msg), Type.CHAT)); break; case DISPLAY: @@ -2684,7 +2684,7 @@ public class Player extends User implements Executor, IPlayer this.entity.setHealth(this.entity.getMaxHealth()); this.entity.setManaPoints(this.entity.getMaxMana()); this.entity.clearEffects(true); - this.addFeed(TextColor.DGREEN + "Du wurdest geheilt"); + this.addFeed(TextColor.DARK_GREEN + "Du wurdest geheilt"); } break; @@ -2745,7 +2745,7 @@ public class Player extends User implements Executor, IPlayer mem = Runtime.getRuntime().freeMemory() - mem; mem = mem < 0L ? 0L : mem; // sender.addConsole("Server-JVM GC ausgeführt: ", ); - this.addFeed(TextColor.DGREEN + "%s%s MB freigegeben, %s MB von %s MB verwendet (%s %%)", worlds > 0 ? worlds + " entladen, " : "", mem / 1024L / 1024L, (Runtime.getRuntime().totalMemory() - + this.addFeed(TextColor.DARK_GREEN + "%s%s MB freigegeben, %s MB von %s MB verwendet (%s %%)", worlds > 0 ? worlds + " entladen, " : "", mem / 1024L / 1024L, (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / 1024L / 1024L, Runtime.getRuntime().totalMemory() / 1024L / 1024L, Runtime.getRuntime().freeMemory() * 100L / Runtime.getRuntime().maxMemory()); } @@ -2919,11 +2919,11 @@ public class Player extends User implements Executor, IPlayer if(!slot.isItemValid(stack)) return; if(old.getSize() == 1) - this.addFeed(TextColor.DRED + "* %s zerstört", - old.getColoredName(TextColor.DRED)); + this.addFeed(TextColor.DARK_RED + "* %s zerstört", + old.getColoredName(TextColor.DARK_RED)); else - this.addFeed(TextColor.DRED + "* %d %s zerstört", old.getSize(), - old.getColoredName(TextColor.DRED)); + this.addFeed(TextColor.DARK_RED + "* %d %s zerstört", old.getSize(), + old.getColoredName(TextColor.DARK_RED)); } } else if(!slot.isItemValid(stack)) @@ -2933,11 +2933,11 @@ public class Player extends User implements Executor, IPlayer this.entity.openContainer.detectAndSendChanges(); this.entity.worldObj.playSoundAtEntity(this.entity, SoundEvent.POP, 0.2F); if(amount == 1) - this.addFeed(TextColor.DGREEN + "* %s geschummelt", - stack.getColoredName(TextColor.DGREEN)); + this.addFeed(TextColor.DARK_GREEN + "* %s geschummelt", + stack.getColoredName(TextColor.DARK_GREEN)); else - this.addFeed(TextColor.DGREEN + "* %d %s geschummelt", amount, - stack.getColoredName(TextColor.DGREEN)); + this.addFeed(TextColor.DARK_GREEN + "* %d %s geschummelt", amount, + stack.getColoredName(TextColor.DARK_GREEN)); } public void processSign(CPacketSign packetIn) diff --git a/server/src/main/java/server/world/Converter.java b/server/src/main/java/server/world/Converter.java index 4a0b1b1d..c36d2217 100644 --- a/server/src/main/java/server/world/Converter.java +++ b/server/src/main/java/server/world/Converter.java @@ -79,7 +79,6 @@ import common.block.tech.BlockWallSign; import common.block.tech.BlockWarpChest; import common.collect.Lists; import common.collect.Maps; -import common.color.DyeColor; import common.entity.Entity; import common.entity.animal.EntityBat; import common.entity.animal.EntityChicken; @@ -109,6 +108,7 @@ import common.util.BlockPos; import common.util.Facing; import common.util.Facing.Axis; import common.util.NibbleArray; +import common.util.TextColor; import common.world.State; public abstract class Converter { @@ -290,9 +290,9 @@ public abstract class Converter { private static final Map ENTITY_MAP = Maps.newHashMap(); private static final Map> TILE_MAP = Maps.newHashMap(); private static final State[] BLOCK_MAP = new State[65536]; - private static final DyeColor[] COLOR_LOOKUP = new DyeColor[] { - DyeColor.WHITE, DyeColor.ORANGE, DyeColor.MAGENTA, DyeColor.LIGHT_BLUE, DyeColor.YELLOW, DyeColor.LIME, DyeColor.PINK, DyeColor.GRAY, - DyeColor.SILVER, DyeColor.CYAN, DyeColor.PURPLE, DyeColor.BLUE, DyeColor.BROWN, DyeColor.GREEN, DyeColor.RED, DyeColor.BLACK + private static final TextColor[] COLOR_LOOKUP = new TextColor[] { + TextColor.WHITE, TextColor.ORANGE, TextColor.MAGENTA, TextColor.LIGHT_BLUE, TextColor.YELLOW, TextColor.GREEN, TextColor.MAGENTA, TextColor.GRAY, + TextColor.LIGHT_GRAY, TextColor.CYAN, TextColor.VIOLET, TextColor.BLUE, TextColor.BROWN, TextColor.DARK_GREEN, TextColor.RED, TextColor.BLACK }; private static void mapEntity(Class clazz, String ... names) { @@ -799,7 +799,7 @@ public abstract class Converter { mapBlock(Blocks.hellrock, 87); mapBlock(Blocks.soul_sand, 88); mapBlock(Blocks.glowstone, 89); - mapBlock(Blocks.purple_glass_pane, 90); + mapBlock(Blocks.violet_glass_pane, 90); mapBlock(Blocks.lit_lamp, 91); mapBlock(Blocks.cake, 92); mapBlock(new BlockFunction() { diff --git a/server/src/main/java/server/worldgen/ReplacerMesa.java b/server/src/main/java/server/worldgen/ReplacerMesa.java index 17590d99..1dad2087 100644 --- a/server/src/main/java/server/worldgen/ReplacerMesa.java +++ b/server/src/main/java/server/worldgen/ReplacerMesa.java @@ -257,12 +257,12 @@ public class ReplacerMesa extends ReplacerBiome if (j4 + k1 > 1 && random.chance()) { - this.layers[j4 + k1 - 1] = Blocks.silver_clay.getState(); + this.layers[j4 + k1 - 1] = Blocks.light_gray_clay.getState(); } if (j4 + k1 < 63 && random.chance()) { - this.layers[j4 + k1 + 1] = Blocks.silver_clay.getState(); + this.layers[j4 + k1 + 1] = Blocks.light_gray_clay.getState(); } } }