diff --git a/build.gradle b/build.gradle index 7e78962..3739b6a 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ apply plugin: 'forge' sourceCompatibility = 1.8 targetCompatibility = 1.8 -version = "1.2.6" +version = "1.2.7" group = "xamora.gp_dbc" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "gp_dbc" diff --git a/src/main/java/xamora/gp_dbc/config/ConfigManager.java b/src/main/java/xamora/gp_dbc/config/ConfigManager.java index 2b379db..402f465 100644 --- a/src/main/java/xamora/gp_dbc/config/ConfigManager.java +++ b/src/main/java/xamora/gp_dbc/config/ConfigManager.java @@ -43,6 +43,9 @@ public class ConfigManager { static public double MULT_JAIL_TIME = 17.28; // 17.28 * 10 000 = 48 hours static public int REDUCE_ALIGN_KILL = 33; + static public int MULT_ALIGN_KILL = 3; + static public int MULT_ALIGN_KILL_PATROL = 2; + static public int MULT_ALIGN_KILL_FORMER_INMATE = 3; // 17.28 * 10 000 = 48 hours static public int MAX_RATE_CRIMINAL = 10000; @@ -52,8 +55,7 @@ public class ConfigManager { static public long MIN_TIME_BETWEEN_EACH_POSITION = 2 * 60; // 2 min static public long MAX_TIME_BETWEEN_EACH_POSITION = 4 * 60 * 60; // 4 hours - static public long TIME_FORMER_INMATE = 86400; // seconds (1 day) - static public int MULTI_FORMER_INMATE = 2; // + static public long TIME_FORMER_INMATE = 604800; // in seconds (7 day) static public boolean REINCARNATION_RESET_CRIMINAL = true; static public boolean REINCARNATION_RESET_GP = true; @@ -127,6 +129,15 @@ public class ConfigManager { REDUCE_ALIGN_KILL = addVariableConfig(order, CATEGORY_GP, "REDUCE_ALIGN_KILL", "Soustration of the ratio when a player kill one other. [default: 33]", "33").getInt(); + MULT_ALIGN_KILL = addVariableConfig(order, CATEGORY_GP, "MULT_ALIGN_KILL", + "Multiplier of his killed. [default: 3]", "3").getInt(); + + MULT_ALIGN_KILL_PATROL = addVariableConfig(order, CATEGORY_GP, "MULT_ALIGN_KILL_PATROL", + "Multiplier if he killed a galactic patroller. [default: 2]", "2").getInt(); + + MULT_ALIGN_KILL_FORMER_INMATE = addVariableConfig(order, CATEGORY_GP, "MULT_ALIGN_KILL_FORMER_INMATE", + "Multiplier if he killed, will be applied to his crime rate. [default: 3]", "3").getInt(); + NICKNAME_FOR_CRIMINAL = addVariableConfig(order, CATEGORY_GP, "NICKNAME_FOR_CRIMINAL", "Criminal tracker print the nickname or the minecraft name. [default: false]", "false").getBoolean(); @@ -151,9 +162,6 @@ public class ConfigManager { "Time if he commits another crime, a multiplier will be applied to his crime rate in seconds. [default: 86400]", "86400").getInt(); TIME_FORMER_INMATE *= 1000L; - MULTI_FORMER_INMATE = addVariableConfig(order, CATEGORY_GP, "MULTI_FORMER_INMATE", - "Multiplier if he commits another crime will be applied to his crime rate. [default: 2]", "2").getInt(); - REINCARNATION_RESET_CRIMINAL = addVariableConfig(order, CATEGORY_GP, "REINCARNATION_RESET_CRIMINAL", "Reincarnation reset criminal rate. [default: true]", "true").getBoolean(); diff --git a/src/main/java/xamora/gp_dbc/gui/GuiHandcuffed.java b/src/main/java/xamora/gp_dbc/gui/GuiHandcuffed.java index d65fb13..b7b850f 100644 --- a/src/main/java/xamora/gp_dbc/gui/GuiHandcuffed.java +++ b/src/main/java/xamora/gp_dbc/gui/GuiHandcuffed.java @@ -12,6 +12,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import org.lwjgl.opengl.GL11; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; import static xamora.gp_dbc.utils.DrawGui.*; import static net.minecraft.util.StatCollector.translateToLocal; @@ -67,8 +68,6 @@ public class GuiHandcuffed extends Gui { GL11.glDepthMask(true); GL11.glPopMatrix(); - String[] texts = TextUtils.getSeparateText(translateToLocal("warning.going_in_jail"), "%%"); - if (texts != null) - drawLimitedShadow(mc.fontRenderer, texts[0] + time_left + texts[1], width / 2, 17, 70 , 9, 0xffffff); + drawLimitedShadow(mc.fontRenderer, translateToLocalFormatted("warning.going_in_jail", time_left) , width / 2, 17, 70 , 9, 0xffffff); } } diff --git a/src/main/java/xamora/gp_dbc/system/Criminal.java b/src/main/java/xamora/gp_dbc/system/Criminal.java index c1302c5..3ede74b 100644 --- a/src/main/java/xamora/gp_dbc/system/Criminal.java +++ b/src/main/java/xamora/gp_dbc/system/Criminal.java @@ -45,18 +45,21 @@ public class Criminal { this.last_pos = pos; } - public void addKill(EntityPlayer killed) { + public int addKill(EntityPlayer killed) { JGPlayerMP jgKilled = new JGPlayerMP(killed); jgKilled.connectBaseNBT(); - int add = Math.max(jgKilled.getAlignment() - 33, 0); + int add = Math.max(jgKilled.getAlignment() - REDUCE_ALIGN_KILL, 0); if (Main.gp.isInGalacticPatrol(killed)) - add *= 2; + add *= MULT_ALIGN_KILL_PATROL; if (System.currentTimeMillis() <= Main.gp.criminals.formerInmate.getOrDefault(uuid, 0L) + TIME_FORMER_INMATE) - add *= 2; + add *= MULT_ALIGN_KILL_FORMER_INMATE; + + add *= MULT_ALIGN_KILL; rate += add; victims_alignLoose.put(killed.getUniqueID(), add); + return add; } public boolean cancelVictim(UUID killed) { diff --git a/src/main/java/xamora/gp_dbc/system/Criminals.java b/src/main/java/xamora/gp_dbc/system/Criminals.java index 2312169..51f51de 100644 --- a/src/main/java/xamora/gp_dbc/system/Criminals.java +++ b/src/main/java/xamora/gp_dbc/system/Criminals.java @@ -4,6 +4,9 @@ import JinRyuu.JRMCore.server.JGPlayerMP; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.ChatComponentStyle; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; import xamora.gp_dbc.config.ConfigManager; import xamora.gp_dbc.utils.Data; import xamora.gp_dbc.utils.PlayerUtils; @@ -15,6 +18,7 @@ import net.minecraftforge.event.entity.living.LivingDeathEvent; import java.util.*; +import static net.minecraft.util.StatCollector.*; import static xamora.gp_dbc.Main.gp; import static xamora.gp_dbc.config.ConfigManager.*; @@ -48,6 +52,11 @@ public class Criminals { EntityPlayer dead = (EntityPlayer) event.entity; Entity entityKiller = event.entityLiving.func_94060_bK(); + + if (entityKiller != null) + dead.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + translateToLocalFormatted("msg.kill.by",entityKiller.getClass().getSimpleName()))); + else + dead.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + translateToLocalFormatted("msg.kill.by", "null"))); if (!(entityKiller instanceof EntityPlayer) || entityKiller.getUniqueID().equals(dead.getUniqueID())) return; @@ -62,13 +71,16 @@ public class Criminals { JGPlayerMP jgKilled = new JGPlayerMP(dead); jgKilled.connectBaseNBT(); - if (jgKilled.getAlignment() < 33) + if (jgKilled.getAlignment() < REDUCE_ALIGN_KILL) return; + int gain_rate = 0; if (isCriminal(killer.getUniqueID())) - getCriminal(killer.getUniqueID()).addKill(dead); + gain_rate = getCriminal(killer.getUniqueID()).addKill(dead); else - addCriminal(killer, 0).addKill(dead); + gain_rate = addCriminal(killer, 0).addKill(dead); + + killer.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.YELLOW + translateToLocalFormatted("msg.kill.gain_criminal_rate", gain_rate))); Data.saveDataString(listCriminalToString(criminals), "criminals"); } diff --git a/src/main/java/xamora/gp_dbc/system/Handcuff.java b/src/main/java/xamora/gp_dbc/system/Handcuff.java index e13d1d5..beaecad 100644 --- a/src/main/java/xamora/gp_dbc/system/Handcuff.java +++ b/src/main/java/xamora/gp_dbc/system/Handcuff.java @@ -25,6 +25,7 @@ import xamora.gp_dbc.config.ConfigManager; import java.util.*; +import static net.minecraft.util.StatCollector.translateToLocalFormatted; import static xamora.gp_dbc.utils.PlayerUtils.*; import static net.minecraft.util.StatCollector.translateToLocal; @@ -155,8 +156,7 @@ public class Handcuff { handcuffed.add(new Handcuffed(inmate.getUniqueID(), jailer.getUniqueID(), current_time, false)); jailer.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + translateToLocal("success.you_handcuffed_him"))); - String[] texts = TextUtils.getSeparateText(translateToLocal("success.you_are_handcuffed"), "%%"); - inmate.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + texts[0] + ConfigManager.TIME_TO_GO_IN_JAIL + texts[1])); + inmate.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + translateToLocalFormatted("success.you_are_handcuffed", ConfigManager.TIME_TO_GO_IN_JAIL))); JGPlayerMP jgInmate = new JGPlayerMP(inmate); NBTTagCompound nbt = jgInmate.connectBaseNBT(); diff --git a/src/main/resources/assets/gp_dbc/lang/en_US.lang b/src/main/resources/assets/gp_dbc/lang/en_US.lang index 178a1f8..791a996 100644 --- a/src/main/resources/assets/gp_dbc/lang/en_US.lang +++ b/src/main/resources/assets/gp_dbc/lang/en_US.lang @@ -18,8 +18,8 @@ error.already_handcuffed=Already handcuffed warning.handcuffing_you=A Galactic Patroller is handcuffing you! warning.handcuffing_him=You are handcuffing someone success.you_handcuffed_him=You have handcuffed him -success.you_are_handcuffed=You are handcuffed, going in %% seconds -warning.going_in_jail=%% second(s) left +success.you_are_handcuffed=You are handcuffed, going in %s seconds +warning.going_in_jail=%s second(s) left error.cancel_handcuffing=Handcuffing cancelled error.not_galactic_patrol=You are not a Galactic Patroller msg.unhandcuffing_someone=You are unhandcuffing... @@ -35,6 +35,9 @@ error.criminal_try_join_galactic_patrol=You are a criminal error.cant_handcuff_dead=You can't handcuff a death error.not_enough_criminal_rate=He hasn't committed enough crimes to go to jail +msg.kill.gain_criminal_rate=You have gained %s criminal point(s) +msg.kill.by=You have killed by %s + gui.jail.cell=Cell gui.criminal.position=No Position gui.criminal.rate=Crime: diff --git a/src/main/resources/assets/gp_dbc/lang/fr_FR.lang b/src/main/resources/assets/gp_dbc/lang/fr_FR.lang index 0149d91..2fa7102 100644 --- a/src/main/resources/assets/gp_dbc/lang/fr_FR.lang +++ b/src/main/resources/assets/gp_dbc/lang/fr_FR.lang @@ -18,8 +18,8 @@ error.already_handcuffed=Déjà menotté warning.handcuffing_you=Un Patrouilleur Galactique est en train de vous menotter ! warning.handcuffing_him=Vous êtes en train de menotter quelqu'un success.you_handcuffed_him=Vous l'avez menotté -success.you_are_handcuffed=Vous êtes menotté, transfert dans %% secondes -warning.going_in_jail=%% seconde(s) restantes +success.you_are_handcuffed=Vous êtes menotté, transfert dans %s secondes +warning.going_in_jail=%s seconde(s) restantes error.cancel_handcuffing=Menottage annulé error.not_galactic_patrol=Vous n'êtes pas un Patrouilleur Galactique msg.unhandcuffing_someone=Vous êtes en train d'enlever les menottes... @@ -35,6 +35,9 @@ error.criminal_try_join_galactic_patrol=Vous êtes un criminel error.cant_handcuff_dead=Vous ne pouvez pas menotter un mort error.not_enough_criminal_rate=Il n'a pas commis suffisant de crime pour aller en prison +msg.kill.gain_criminal_rate=Vous avez gagné(e) %s point de criminalité(s) +msg.kill.by=Vous avez été tuée par %s + gui.jail.cell=Prison gui.criminal.position=Aucune Position gui.criminal.rate=Crime: