Merge remote-tracking branch 'Pahimar/master'

This commit is contained in:
Robotic-Brain 2013-09-03 02:56:34 +02:00
commit 79fd623be3
6 changed files with 125 additions and 241 deletions

192
build.xml
View file

@ -1,96 +1,96 @@
<?xml version="1.0" ?>
<project name="Equivalent Exchange 3" default="build">
<property file="build.properties" prefix="build"/>
<property file="build_number.properties" prefix="build_number"/>
<target name="clean">
<delete file="${build.dir.development}\mcp\src\minecraft\mcmod.info" />
<delete dir="${build.dir.development}\mcp\src\minecraft\com\pahimar" />
<delete dir="${build.dir.development}\mcp\reobf\minecraft" />
</target>
<target name="increment_build_number">
<propertyfile file="build_number.properties">
<entry key="build_number" type="int" operation="+" default="1"/>
</propertyfile>
</target>
<target name="prep">
<copy todir="${build.dir.development}\mcp\src\minecraft">
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\ee3_common\" />
</copy>
</target>
<target name="replace_tokens">
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@VERSION@" value="${build.release.mod.version}" />
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@FINGERPRINT@" value="${build.release.mod.fingerprint}" />
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@BUILD_NUMBER@" value="${build_number.build_number}" />
</target>
<target name="recompile">
<exec dir="${build.dir.development}\mcp" executable="cmd" osfamily="windows">
<arg line="/c recompile.bat" />
</exec>
<exec dir="${build.dir.development}\mcp" executable="bash" osfamily="unix">
<arg line="recompile.sh" />
</exec>
</target>
<target name="reobfuscate">
<exec dir="${build.dir.development}\mcp" executable="cmd" osfamily="windows">
<arg line="/c reobfuscate_srg.bat" />
</exec>
<exec dir="${build.dir.development}\mcp" executable="bash" osfamily="unix">
<arg line="reobfuscate_srg.sh" />
</exec>
</target>
<target name="sign_jar">
<signjar jar="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar" keystore="${build.keystore.location}" alias="${build.keystore.alias}" storepass="${build.keystore.password}" />
</target>
<target name="build">
<!-- Prep for the build -->
<antcall target="clean" />
<antcall target="increment_build_number" />
<antcall target="prep" />
<antcall target="recompile" />
<antcall target="reobfuscate" />
<!-- Build the jar -->
<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />
<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar">
<fileset dir="${build.dir.development}\mcp\src\minecraft\" includes="mcmod.info" />
<fileset dir="${build.dir.development}\mcp\reobf\minecraft" />
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\resources" excludes="**/xcf/**" />
</jar>
<!-- Clean up the MCP source now that we are done -->
<antcall target="clean" />
</target>
<target name="release">
<!-- Prep for the build -->
<antcall target="clean" />
<antcall target="increment_build_number" />
<antcall target="prep" />
<antcall target="replace_tokens" />
<antcall target="recompile" />
<antcall target="reobfuscate" />
<!-- Build the jar -->
<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />
<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar">
<fileset dir="${build.dir.development}\mcp\src\minecraft\" includes="mcmod.info" />
<fileset dir="${build.dir.development}\mcp\reobf\minecraft" />
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\resources" excludes="**/xcf/**" />
</jar>
<!-- Sign the finished jar -->
<antcall target="sign_jar" />
<!-- Clean up the MCP source now that we are done -->
<antcall target="clean" />
</target>
</project>
<?xml version="1.0" ?>
<project name="Equivalent Exchange 3" default="build">
<property file="build.properties" prefix="build"/>
<property file="build_number.properties" prefix="build_number"/>
<target name="clean">
<delete file="${build.dir.development}\mcp\src\minecraft\mcmod.info" />
<delete dir="${build.dir.development}\mcp\src\minecraft\com\pahimar" />
<delete dir="${build.dir.development}\mcp\reobf\minecraft" />
</target>
<target name="increment_build_number">
<propertyfile file="build_number.properties">
<entry key="build_number" type="int" operation="+" default="1"/>
</propertyfile>
</target>
<target name="prep">
<copy todir="${build.dir.development}\mcp\src\minecraft">
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\common\" />
</copy>
</target>
<target name="replace_tokens">
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@VERSION@" value="${build.release.mod.version}" />
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@FINGERPRINT@" value="${build.release.mod.fingerprint}" />
<replace dir="${build.dir.development}\mcp\src\minecraft" token="@BUILD_NUMBER@" value="${build_number.build_number}" />
</target>
<target name="recompile">
<exec dir="${build.dir.development}\mcp" executable="cmd" osfamily="windows">
<arg line="/c recompile.bat" />
</exec>
<exec dir="${build.dir.development}\mcp" executable="bash" osfamily="unix">
<arg line="recompile.sh" />
</exec>
</target>
<target name="reobfuscate">
<exec dir="${build.dir.development}\mcp" executable="cmd" osfamily="windows">
<arg line="/c reobfuscate_srg.bat" />
</exec>
<exec dir="${build.dir.development}\mcp" executable="bash" osfamily="unix">
<arg line="reobfuscate_srg.sh" />
</exec>
</target>
<target name="sign_jar">
<signjar jar="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar" keystore="${build.keystore.location}" alias="${build.keystore.alias}" storepass="${build.keystore.password}" />
</target>
<target name="build">
<!-- Prep for the build -->
<antcall target="clean" />
<antcall target="increment_build_number" />
<antcall target="prep" />
<antcall target="recompile" />
<antcall target="reobfuscate" />
<!-- Build the jar -->
<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />
<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar">
<fileset dir="${build.dir.development}\mcp\src\minecraft\" includes="mcmod.info" />
<fileset dir="${build.dir.development}\mcp\reobf\minecraft" />
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\resources" excludes="**/xcf/**" />
</jar>
<!-- Clean up the MCP source now that we are done -->
<antcall target="clean" />
</target>
<target name="release">
<!-- Prep for the build -->
<antcall target="clean" />
<antcall target="increment_build_number" />
<antcall target="prep" />
<antcall target="replace_tokens" />
<antcall target="recompile" />
<antcall target="reobfuscate" />
<!-- Build the jar -->
<mkdir dir="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}" />
<jar destfile="${build.dir.release}\${build.release.minecraft.version}\${build.release.mod.version}\ee3-universal-${build.release.mod.version}-${build_number.build_number}.jar">
<fileset dir="${build.dir.development}\mcp\src\minecraft\" includes="mcmod.info" />
<fileset dir="${build.dir.development}\mcp\reobf\minecraft" />
<fileset dir="${build.dir.development}\source\Equivalent-Exchange-3\resources" excludes="**/xcf/**" />
</jar>
<!-- Sign the finished jar -->
<antcall target="sign_jar" />
<!-- Clean up the MCP source now that we are done -->
<antcall target="clean" />
</target>
</project>

View file

@ -6,7 +6,6 @@ import net.minecraft.util.ChatMessageComponent;
import com.pahimar.ee3.configuration.ConfigurationHandler;
import com.pahimar.ee3.configuration.ConfigurationSettings;
import com.pahimar.ee3.core.util.LocalizationUtil;
import com.pahimar.ee3.lib.Commands;
import com.pahimar.ee3.lib.Strings;
@ -92,8 +91,9 @@ public class CommandOverlay {
try {
float opacity = Float.parseFloat(args[1]);
if (opacity < 0F || opacity > 1F)
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE + " " + LocalizationUtil.getLocalizedString(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT), new Object[0]);
if (opacity < 0F || opacity > 1F) {
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT, new Object[] { Commands.COMMAND_OVERLAY_OPACITY_USAGE });
}
else {
ConfigurationSettings.TARGET_BLOCK_OVERLAY_OPACITY = opacity;
ConfigurationHandler.set(ConfigurationHandler.CATEGORY_GRAPHICS, ConfigurationSettings.TARGET_BLOCK_OVERLAY_OPACITY_CONFIGNAME, args[1]);
@ -101,11 +101,11 @@ public class CommandOverlay {
}
}
catch (Exception e) {
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE + " " + LocalizationUtil.getLocalizedString(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT), new Object[0]);
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT, new Object[] { Commands.COMMAND_OVERLAY_OPACITY_USAGE });
}
}
else
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE + " " + LocalizationUtil.getLocalizedString(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT), new Object[0]);
throw new WrongUsageException(Commands.COMMAND_OVERLAY_OPACITY_USAGE_ADDITIONAL_TEXT, new Object[] { Commands.COMMAND_OVERLAY_OPACITY_USAGE });
}
private static void processPositionCommand(ICommandSender commandSender, String[] args) {

View file

@ -1,46 +0,0 @@
package com.pahimar.ee3.core.util;
import cpw.mods.fml.common.registry.LanguageRegistry;
/**
* Equivalent-Exchange-3
*
* LocalizationHelper
*
* @author pahimar
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
*
*/
public class LocalizationUtil {
/***
* Simple test to determine if a specified file name represents a XML file
* or not
*
* @param fileName
* String representing the file name of the file in question
* @return True if the file name represents a XML file, false otherwise
*/
public static boolean isXMLLanguageFile(String fileName) {
return fileName.endsWith(".xml");
}
/***
* Returns the locale from file name
*
* @param fileName
* String representing the file name of the file in question
* @return String representation of the locale snipped from the file name
*/
public static String getLocaleFromFileName(String fileName) {
return fileName.substring(fileName.lastIndexOf('/') + 1, fileName.lastIndexOf('.'));
}
public static String getLocalizedString(String key) {
return LanguageRegistry.instance().getStringLocalization(key);
}
}

View file

@ -4,6 +4,7 @@ import java.io.InputStream;
import java.net.URL;
import java.util.Properties;
import net.minecraft.util.ChatMessageComponent;
import net.minecraftforge.common.Configuration;
import com.pahimar.ee3.configuration.ConfigurationHandler;
@ -13,7 +14,6 @@ import com.pahimar.ee3.lib.Reference;
import com.pahimar.ee3.lib.Strings;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.LanguageRegistry;
/**
* Equivalent-Exchange-3
@ -132,53 +132,39 @@ public class VersionHelper implements Runnable {
public static String getResultMessage() {
if (result == UNINITIALIZED)
return LanguageRegistry.instance().getStringLocalization(Strings.UNINITIALIZED_MESSAGE);
return new ChatMessageComponent().func_111080_a(Strings.UNINITIALIZED_MESSAGE, new Object[0]).toString();
else if (result == CURRENT) {
String returnString = LanguageRegistry.instance().getStringLocalization(Strings.CURRENT_MESSAGE);
returnString = returnString.replace("@REMOTE_MOD_VERSION@", remoteVersion);
returnString = returnString.replace("@MINECRAFT_VERSION@", Loader.instance().getMCVersionString());
return returnString;
return new ChatMessageComponent().func_111080_a(Strings.CURRENT_MESSAGE, new Object[] { remoteVersion, Loader.instance().getMCVersionString() }).toString();
}
else if (result == OUTDATED && remoteVersion != null && remoteUpdateLocation != null) {
String returnString = LanguageRegistry.instance().getStringLocalization(Strings.OUTDATED_MESSAGE);
returnString = returnString.replace("@MOD_NAME@", Reference.MOD_NAME);
returnString = returnString.replace("@REMOTE_MOD_VERSION@", remoteVersion);
returnString = returnString.replace("@MINECRAFT_VERSION@", Loader.instance().getMCVersionString());
returnString = returnString.replace("@MOD_UPDATE_LOCATION@", remoteUpdateLocation);
return returnString;
return new ChatMessageComponent().func_111080_a(Strings.OUTDATED_MESSAGE, new Object[] { Reference.MOD_NAME, remoteVersion, Loader.instance().getMCVersionString(), remoteUpdateLocation }).toString();
}
else if (result == OUTDATED && remoteVersion != null && remoteUpdateLocation != null) {
String returnString = LanguageRegistry.instance().getStringLocalization(Strings.OUTDATED_MESSAGE);
returnString = returnString.replace("@MOD_NAME@", Reference.MOD_NAME);
returnString = returnString.replace("@REMOTE_MOD_VERSION@", remoteVersion);
returnString = returnString.replace("@MINECRAFT_VERSION@", Loader.instance().getMCVersionString());
returnString = returnString.replace("@MOD_UPDATE_LOCATION@", remoteUpdateLocation);
return returnString;
return new ChatMessageComponent().func_111080_a(Strings.OUTDATED_MESSAGE, new Object[] { Reference.MOD_NAME, remoteVersion, Loader.instance().getMCVersionString(), remoteUpdateLocation }).toString();
}
else if (result == ERROR) {
return new ChatMessageComponent().func_111080_a(Strings.GENERAL_ERROR_MESSAGE, new Object[0]).toString();
}
else if (result == FINAL_ERROR) {
return new ChatMessageComponent().func_111080_a(Strings.FINAL_ERROR_MESSAGE, new Object[0]).toString();
}
else if (result == ERROR)
return LanguageRegistry.instance().getStringLocalization(Strings.GENERAL_ERROR_MESSAGE);
else if (result == FINAL_ERROR)
return LanguageRegistry.instance().getStringLocalization(Strings.FINAL_ERROR_MESSAGE);
else if (result == MC_VERSION_NOT_FOUND) {
String returnString = LanguageRegistry.instance().getStringLocalization(Strings.MC_VERSION_NOT_FOUND);
returnString = returnString.replace("@MOD_NAME@", Reference.MOD_NAME);
returnString = returnString.replace("@MINECRAFT_VERSION@", Loader.instance().getMCVersionString());
return returnString;
return new ChatMessageComponent().func_111080_a(Strings.MC_VERSION_NOT_FOUND, new Object[] { Reference.MOD_NAME, Loader.instance().getMCVersionString() }).toString();
}
else {
result = ERROR;
return LanguageRegistry.instance().getStringLocalization(Strings.GENERAL_ERROR_MESSAGE);
return new ChatMessageComponent().func_111080_a(Strings.GENERAL_ERROR_MESSAGE, new Object[0]).toString();
}
}
public static String getResultMessageForClient() {
String returnString = LanguageRegistry.instance().getStringLocalization(Strings.OUTDATED_MESSAGE);
returnString = returnString.replace("@MOD_NAME@", Colours.TEXT_COLOUR_PREFIX_YELLOW + Reference.MOD_NAME + Colours.TEXT_COLOUR_PREFIX_WHITE);
returnString = returnString.replace("@REMOTE_MOD_VERSION@", Colours.TEXT_COLOUR_PREFIX_YELLOW + VersionHelper.remoteVersion + Colours.TEXT_COLOUR_PREFIX_WHITE);
returnString = returnString.replace("@MINECRAFT_VERSION@", Colours.TEXT_COLOUR_PREFIX_YELLOW + Loader.instance().getMCVersionString() + Colours.TEXT_COLOUR_PREFIX_WHITE);
returnString = returnString.replace("@MOD_UPDATE_LOCATION@", Colours.TEXT_COLOUR_PREFIX_YELLOW + VersionHelper.remoteUpdateLocation + Colours.TEXT_COLOUR_PREFIX_WHITE);
return returnString;
return new ChatMessageComponent().func_111080_a(Strings.OUTDATED_MESSAGE,
new Object[] { Colours.TEXT_COLOUR_PREFIX_YELLOW + Reference.MOD_NAME + Colours.TEXT_COLOUR_PREFIX_WHITE,
Colours.TEXT_COLOUR_PREFIX_YELLOW + VersionHelper.remoteVersion + Colours.TEXT_COLOUR_PREFIX_WHITE,
Colours.TEXT_COLOUR_PREFIX_YELLOW + Loader.instance().getMCVersionString() + Colours.TEXT_COLOUR_PREFIX_WHITE,
Colours.TEXT_COLOUR_PREFIX_YELLOW + VersionHelper.remoteUpdateLocation + Colours.TEXT_COLOUR_PREFIX_WHITE })
.toString();
}
public static byte getResult() {
@ -191,7 +177,7 @@ public class VersionHelper implements Runnable {
int count = 0;
LogHelper.info(LanguageRegistry.instance().getStringLocalization(Strings.VERSION_CHECK_INIT_LOG_MESSAGE) + " " + REMOTE_VERSION_XML_FILE);
LogHelper.info(new ChatMessageComponent().func_111080_a(Strings.VERSION_CHECK_INIT_LOG_MESSAGE, new Object[] { REMOTE_VERSION_XML_FILE }).toString());
try {
while (count < Reference.VERSION_CHECK_ATTEMPTS - 1 && (result == UNINITIALIZED || result == ERROR)) {
@ -213,12 +199,10 @@ public class VersionHelper implements Runnable {
catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void execute() {
new Thread(instance).start();
}
}

View file

@ -53,10 +53,10 @@ command.ee3.sounds.turned_off=Playing Equivalent Exchange 3 sounds disabled
itemGroup.EE3=Equivalent Exchange 3
# Version check localizations
version.init_log_message=Initializing remote version check against remote version authority, located at
version.init_log_message=Initializing remote version check against remote version authority, located at: %s
version.uninitialized=Remote version check failed to initialize properly
version.current=Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@
version.outdated=A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@
version.current=Currently using the most up to date version (%s) of Equivalent Exchange 3 for %s
version.outdated=A new %s version exists (%s) for %s. Get it here: %s
version.general_error=Error while connecting to remote version authority file; trying again
version.final_error=Version check stopping after three unsuccessful connection attempts
version.mc_version_not_found=Unable to find a version of @MOD_NAME@ for @MINECRAFT_VERSION@ in the remote version authority
version.mc_version_not_found=Unable to find a version of %s for %s in the remote version authority

View file

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties version="1.0">
<comment>English (en_US) Localization File</comment>
<entry key="key.extra">Extra</entry>
<entry key="key.release">Release</entry>
<entry key="key.toggle">Toggle</entry>
<entry key="key.charge">Charge</entry>
<entry key="item.shardMinium.name">Shard of Minium</entry>
<entry key="item.stoneInert.name">Inert Stone</entry>
<entry key="item.stoneMinium.name">Minium Stone</entry>
<entry key="item.stonePhilosophers.name">Philosopher's Stone</entry>
<entry key="item.alchemicalDustAsh.name">Ash</entry>
<entry key="item.alchemicalDustMinium.name">Minium Dust</entry>
<entry key="item.alchemicalDustVerdant.name">Verdant Dust</entry>
<entry key="item.alchemicalDustAzure.name">Azure Dust</entry>
<entry key="item.alchemicalDustAmaranthine.name">Amaranthine Dust</entry>
<entry key="item.alchemicalDustIridescent.name">Iridescent Dust</entry>
<entry key="item.alchemicalBag.name">Alchemical Bag</entry>
<entry key="tile.redWaterStill.name">Red Water (Still)</entry>
<entry key="tile.redWaterFlowing.name">Red Water (Flowing)</entry>
<entry key="tile.calcinator.name">Calcinator</entry>
<entry key="tile.aludel.name">Aludel</entry>
<entry key="tile.alchemicalChest.name">Alchemical Chest</entry>
<entry key="tile.glassBell.name">Glass Bell</entry>
<entry key="container.calcinator">Calcinator</entry>
<entry key="container.aludel">Aludel</entry>
<entry key="container.alchemicalChest">Alchemical Chest</entry>
<entry key="container.alchemicalBag">Alchemical Bag</entry>
<entry key="container.glassBell">Glass Bell</entry>
<entry key="itemGroup.EE3">Equivalent Exchange 3</entry>
<entry key="version.init_log_message">Initializing remote version check against remote version authority, located at</entry>
<entry key="version.uninitialized">Remote version check failed to initialize properly</entry>
<entry key="version.current">Currently using the most up to date version (@REMOTE_MOD_VERSION@) of Equivalent Exchange 3 for @MINECRAFT_VERSION@</entry>
<entry key="version.outdated">A new @MOD_NAME@ version exists (@REMOTE_MOD_VERSION@) for @MINECRAFT_VERSION@. Get it here: @MOD_UPDATE_LOCATION@</entry>
<entry key="version.general_error">Error while connecting to remote version authority file; trying again</entry>
<entry key="version.final_error">Version check stopping after three unsuccessful connection attempts</entry>
<entry key="version.mc_version_not_found">Unable to find a version of @MOD_NAME@ for @MINECRAFT_VERSION@ in the remote version authority</entry>
<entry key="command.ee3.overlay.turned_on">Target transmutation overlay turned on</entry>
<entry key="command.ee3.overlay.turned_off">Target transmutation overlay turned off</entry>
<entry key="command.ee3.overlay.position.top_left">Target transmutation overlay position set to top left</entry>
<entry key="command.ee3.overlay.position.top_right">Target transmutation overlay position set to top right</entry>
<entry key="command.ee3.overlay.position.bottom_left">Target transmutation overlay position set to bottom left</entry>
<entry key="command.ee3.overlay.position.bottom_right">Target transmutation overlay position set to bottom right</entry>
<entry key="command.ee3.overlay.opacity.usage.additional_text">(where ### is a decimal value between 0.0 and 1.0) </entry>
<entry key="command.ee3.overlay.opacity.updated">Target transmutation overlay opacity updated successfully</entry>
<entry key="command.ee3.overlay.scale.usage.additional_text">(where ### is a decimal value greater than 0.0) </entry>
<entry key="command.ee3.overlay.scale.updated">Target transmutation overlay scale updated successfully</entry>
<entry key="command.ee3.particles.turned_on">Equivalent Exchange 3 particles turned on</entry>
<entry key="command.ee3.particles.turned_off">Equivalent Exchange 3 particles turned off</entry>
<entry key="command.ee3.sounds.set_to_all">Playing Equivalent Exchange 3 sounds from all players</entry>
<entry key="command.ee3.sounds.set_to_self">Playing Equivalent Exchange 3 sounds from self only</entry>
<entry key="command.ee3.sounds.turned_off">Playing Equivalent Exchange 3 sounds disabled</entry>
</properties>