Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac45095cb4 | |||
| 68d3025fac | |||
| a62e157e7c | |||
| 106b823827 | |||
| 8406c00e22 | |||
| 22f05428be | |||
| bd0bf26f30 | |||
| 2ea05bce5f | |||
| f47fd1957a | |||
| a890e57e44 | |||
| 6e61627d7c | |||
| 580a17987b | |||
| bfe2e6ecb3 | |||
| 38e7e579fa | |||
| 6aa91c3f65 | |||
| 17bdd085b1 | |||
| 684cda58c2 | |||
| 740324913e | |||
| dae5e888e9 | |||
| a3abc7a1f0 | |||
| dd1ae4a9b5 | |||
| c9ef1beea1 | |||
| 276480519e | |||
| 04b1ca3485 | |||
| c14f688100 | |||
| 8bf98919e2 | |||
| 1862ab3562 | |||
| df6070ecbd | |||
| 5bb0ac7833 | |||
| 55c0e6aa56 | |||
| 8c62e1e7a6 |
@@ -78,8 +78,12 @@ minecraft {
|
||||
version = minecraft_version + "-" + forge_version
|
||||
|
||||
replaceIn "AEConfig.java"
|
||||
replaceIn "package-info.java"
|
||||
|
||||
replace "@version@", project.version
|
||||
replace "@aeversion@", aeversion
|
||||
replace "@aechannel@", aechannel
|
||||
replace "@aebuild@", aebuild
|
||||
|
||||
// used when launching minecraft in dev env
|
||||
runDir = "run"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
@API( apiVersion = "rv2", owner = "appliedenergistics2", provides = "appliedenergistics2|API" ) package appeng.api;
|
||||
@API( apiVersion = "@aeversion@", owner = "appliedenergistics2", provides = "appliedenergistics2|API" ) package appeng.api;
|
||||
|
||||
|
||||
import cpw.mods.fml.common.API;
|
||||
|
||||
@@ -413,7 +413,7 @@ public class ClientHelper extends ServerHelper
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,7 +410,7 @@ public abstract class AEBaseGui extends GuiContainer
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
else if( slot instanceof SlotCraftingTerm )
|
||||
@@ -779,7 +779,7 @@ public abstract class AEBaseGui extends GuiContainer
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.warning( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
|
||||
AELog.warn( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
|
||||
}
|
||||
this.setItemRender( pIR );
|
||||
return;
|
||||
@@ -846,7 +846,7 @@ public abstract class AEBaseGui extends GuiContainer
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
}
|
||||
( (AppEngSlot) s ).setIsValid( isValid ? hasCalculatedValidness.Valid : hasCalculatedValidness.Invalid );
|
||||
@@ -880,7 +880,7 @@ public abstract class AEBaseGui extends GuiContainer
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.warning( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
|
||||
AELog.warn( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
|
||||
}
|
||||
}
|
||||
// do the usual for non-ME Slots.
|
||||
|
||||
@@ -556,7 +556,7 @@ public class GuiCraftConfirm extends AEBaseGui
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -573,7 +573,7 @@ public class GuiCraftConfirm extends AEBaseGui
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class GuiCraftingStatus extends GuiCraftingCPU
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ public class GuiLevelEmitter extends GuiUpgradeable
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +269,7 @@ public class GuiLevelEmitter extends GuiUpgradeable
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -199,7 +199,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public class GuiNetworkTool extends AEBaseGui
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ public class GuiPriority extends AEBaseGui
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ public class GuiPriority extends AEBaseGui
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -85,7 +85,7 @@ public class GuiQuartzKnife extends AEBaseGui
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -90,7 +90,7 @@ public class GuiSecurity extends GuiMEMonitorable
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public class GuiStorageBus extends GuiUpgradeable
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
// meh
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -77,9 +77,9 @@ public class TESRWrapper extends TileEntitySpecialRenderer
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.severe( "Hi, Looks like there was a crash while rendering something..." );
|
||||
AELog.error( "Hi, Looks like there was a crash while rendering something..." );
|
||||
t.printStackTrace();
|
||||
AELog.severe( "MC will now crash ( probably )!" );
|
||||
AELog.error( "MC will now crash ( probably )!" );
|
||||
throw new IllegalStateException( t );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,9 +104,9 @@ public final class WorldRender implements ISimpleBlockRenderingHandler
|
||||
if( !this.hasError )
|
||||
{
|
||||
this.hasError = true;
|
||||
AELog.severe( "Invalid render - item/block mismatch" );
|
||||
AELog.severe( " item: " + item.getUnlocalizedName() );
|
||||
AELog.severe( " block: " + blk.getUnlocalizedName() );
|
||||
AELog.error( "Invalid render - item/block mismatch" );
|
||||
AELog.error( " item: " + item.getUnlocalizedName() );
|
||||
AELog.error( " block: " + blk.getUnlocalizedName() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ public class RenderBlockCharger extends BaseBlockRender<BlockCharger, TileCharge
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@@ -165,7 +165,7 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@@ -318,7 +318,7 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
@@ -146,7 +146,7 @@ public abstract class AEBaseContainer extends Container
|
||||
final GuiSync annotation = f.getAnnotation( GuiSync.class );
|
||||
if( this.syncData.containsKey( annotation.value() ) )
|
||||
{
|
||||
AELog.warning( "Channel already in use: " + annotation.value() + " for " + f.getName() );
|
||||
AELog.warn( "Channel already in use: " + annotation.value() + " for " + f.getName() );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -208,7 +208,7 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
this.dataChunks.clear();
|
||||
@@ -270,7 +270,7 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1109,7 +1109,7 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1178,7 +1178,7 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,15 +70,15 @@ public class SyncData
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,11 +127,11 @@ public class SyncData
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,11 +143,11 @@ public class SyncData
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,11 +199,11 @@ public class SyncData
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ public class ContainerCraftConfirm extends AEBaseContainer
|
||||
catch( final Throwable e )
|
||||
{
|
||||
this.getPlayerInv().player.addChatMessage( new ChatComponentText( "Error: " + e.toString() ) );
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
this.setValidContainer( false );
|
||||
this.result = null;
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class ContainerCraftingCPU extends AEBaseContainer implements IMEMonitorH
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ public class ContainerMEMonitorable extends AEBaseContainer implements IConfigMa
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,7 +237,7 @@ public class ContainerMEMonitorable extends AEBaseContainer implements IConfigMa
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ public class ContainerMEMonitorable extends AEBaseContainer implements IConfigMa
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,93 +19,374 @@
|
||||
package appeng.core;
|
||||
|
||||
|
||||
import org.apache.logging.log4j.Level;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import cpw.mods.fml.relauncher.FMLRelaunchLog;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.message.ParameterizedMessage;
|
||||
|
||||
import appeng.core.features.AEFeature;
|
||||
import appeng.tile.AEBaseTile;
|
||||
import appeng.util.Platform;
|
||||
|
||||
|
||||
/**
|
||||
* Utility class for easier logging.
|
||||
*/
|
||||
public final class AELog
|
||||
{
|
||||
|
||||
public static final FMLRelaunchLog INSTANCE = FMLRelaunchLog.log;
|
||||
private static final String LOGGER_PREFIX = "AE2:";
|
||||
private static final String SERVER_SUFFIX = "S";
|
||||
private static final String CLIENT_SUFFIX = "C";
|
||||
|
||||
private static final String BLOCK_UPDATE = "Block Update of %s @ ( %d, %d, %d )";
|
||||
|
||||
private static final String DEFAULT_EXCEPTION_MESSAGE = "Exception: ";
|
||||
|
||||
private AELog()
|
||||
{
|
||||
}
|
||||
|
||||
public static void warning( final String format, final Object... data )
|
||||
/**
|
||||
* Returns a {@link Logger} logger suitable for the effective side (client/server).
|
||||
*
|
||||
* @return a suitable logger instance
|
||||
*/
|
||||
private static Logger getLogger()
|
||||
{
|
||||
log( Level.WARN, format, data );
|
||||
final String loggerName = LOGGER_PREFIX + ( Platform.isServer() ? SERVER_SUFFIX : CLIENT_SUFFIX );
|
||||
final Logger logger = LogManager.getLogger( loggerName );
|
||||
|
||||
return logger;
|
||||
}
|
||||
|
||||
private static void log( final Level level, final String format, final Object... data )
|
||||
/**
|
||||
* Indicates of the global log is enabled or disabled.
|
||||
*
|
||||
* By default it is enabled.
|
||||
*
|
||||
* @return true when the log is enabled.
|
||||
*/
|
||||
public static boolean isLogEnabled()
|
||||
{
|
||||
if( AEConfig.instance == null || AEConfig.instance.isFeatureEnabled( AEFeature.Logging ) )
|
||||
return AEConfig.instance == null || AEConfig.instance.isFeatureEnabled( AEFeature.Logging );
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs a formatted message with a specific log level.
|
||||
*
|
||||
* This uses {@link String#format(String, Object...)} as opposed to the {@link ParameterizedMessage} to allow a more
|
||||
* flexible formatting.
|
||||
*
|
||||
* The output can be globally disabled via the configuration file.
|
||||
*
|
||||
* @param level the intended level.
|
||||
* @param message the message to be formatted.
|
||||
* @param params the parameters used for {@link String#format(String, Object...)}.
|
||||
*/
|
||||
public static void log( @Nonnull final Level level, @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isLogEnabled() )
|
||||
{
|
||||
FMLRelaunchLog.log( "AE2:" + ( Platform.isServer() ? "S" : "C" ), level, format, data );
|
||||
final String formattedMessage = String.format( message, params );
|
||||
final Logger logger = getLogger();
|
||||
|
||||
logger.log( level, formattedMessage );
|
||||
}
|
||||
}
|
||||
|
||||
public static void grinder( final String o )
|
||||
/**
|
||||
* Log an exception with a custom message formated via {@link String#format(String, Object...)}
|
||||
*
|
||||
* Similar to {@link AELog#log(Level, String, Object...)}.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
*
|
||||
* @param level the intended level.
|
||||
* @param exception
|
||||
* @param message the message to be formatted.
|
||||
* @param params the parameters used for {@link String#format(String, Object...)}.
|
||||
*/
|
||||
public static void log( @Nonnull final Level level, @Nonnull final Throwable exception, @Nonnull String message, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.GrinderLogging ) )
|
||||
if( AELog.isLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, "grinder: " + o );
|
||||
final String formattedMessage = String.format( message, params );
|
||||
final Logger logger = getLogger();
|
||||
|
||||
logger.log( level, formattedMessage, exception );
|
||||
}
|
||||
}
|
||||
|
||||
public static void integration( final Throwable exception )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void info( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.IntegrationLogging ) )
|
||||
{
|
||||
error( exception );
|
||||
}
|
||||
log( Level.INFO, format, params );
|
||||
}
|
||||
|
||||
public static void error( final Throwable e )
|
||||
/**
|
||||
* Log exception as {@link Level#INFO}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void info( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.Logging ) )
|
||||
{
|
||||
severe( "Error: " + e.getClass().getName() + " : " + e.getMessage() );
|
||||
e.printStackTrace();
|
||||
}
|
||||
log( Level.INFO, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
public static void severe( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#INFO}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void info( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
log( Level.ERROR, format, data );
|
||||
log( Level.INFO, exception, message );
|
||||
}
|
||||
|
||||
public static void blockUpdate( final int xCoord, final int yCoord, final int zCoord, final AEBaseTile aeBaseTile )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void warn( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.UpdateLogging ) )
|
||||
{
|
||||
info( aeBaseTile.getClass().getName() + " @ " + xCoord + ", " + yCoord + ", " + zCoord );
|
||||
}
|
||||
log( Level.WARN, format, params );
|
||||
}
|
||||
|
||||
public static void info( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#WARN}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void warn( @Nonnull final Throwable exception )
|
||||
{
|
||||
log( Level.INFO, format, data );
|
||||
log( Level.WARN, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
public static void crafting( final String format, final Object... data )
|
||||
/**
|
||||
* Log exception as {@link Level#WARN}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void warn( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog ) )
|
||||
{
|
||||
log( Level.INFO, format, data );
|
||||
}
|
||||
log( Level.WARN, exception, message );
|
||||
}
|
||||
|
||||
public static void debug( final String format, final Object... data )
|
||||
/**
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param params
|
||||
*/
|
||||
public static void error( @Nonnull final String format, final Object... params )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging ) )
|
||||
log( Level.ERROR, format, params );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#ERROR}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void error( @Nonnull final Throwable exception )
|
||||
{
|
||||
log( Level.ERROR, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#ERROR}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void error( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
log( Level.ERROR, exception, message );
|
||||
}
|
||||
|
||||
/**
|
||||
* Log message as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param format
|
||||
* @param data
|
||||
*/
|
||||
public static void debug( @Nonnull final String format, final Object... data )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, format, data );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void debug( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, exception, DEFAULT_EXCEPTION_MESSAGE );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log exception as {@link Level#DEBUG}
|
||||
*
|
||||
* @see AELog#log(Level, Throwable, String, Object...)
|
||||
*
|
||||
* @param exception
|
||||
* @param message
|
||||
*/
|
||||
public static void debug( @Nonnull final Throwable exception, @Nonnull final String message )
|
||||
{
|
||||
if( AELog.isDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, exception, message );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled debug log.
|
||||
*
|
||||
* Can be used to prevent the execution of debug logic.
|
||||
*
|
||||
* @return true when the debug log is enabled.
|
||||
*/
|
||||
public static boolean isDebugLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging );
|
||||
}
|
||||
|
||||
//
|
||||
// Specialized handlers
|
||||
//
|
||||
|
||||
/**
|
||||
* A specialized logging for grinder recipes, can be disabled inside configuration file.
|
||||
*
|
||||
* @param message String to be logged
|
||||
*/
|
||||
public static void grinder( @Nonnull final String message )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.GrinderLogging ) )
|
||||
{
|
||||
log( Level.DEBUG, "grinder: " + message );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A specialized logging for mod integration errors, can be disabled inside configuration file.
|
||||
*
|
||||
* @param exception
|
||||
*/
|
||||
public static void integration( @Nonnull final Throwable exception )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.IntegrationLogging ) )
|
||||
{
|
||||
debug( exception );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logging of block updates.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param xCoord
|
||||
* @param yCoord
|
||||
* @param zCoord
|
||||
* @param aeBaseTile
|
||||
*/
|
||||
public static void blockUpdate( final int xCoord, final int yCoord, final int zCoord, @Nonnull final AEBaseTile aeBaseTile )
|
||||
{
|
||||
if( AEConfig.instance.isFeatureEnabled( AEFeature.UpdateLogging ) )
|
||||
{
|
||||
info( BLOCK_UPDATE, aeBaseTile.getClass().getName(), xCoord, +yCoord, +zCoord );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled crafting log.
|
||||
*
|
||||
* Can be used to prevent the execution of unneeded logic.
|
||||
*
|
||||
* @return true when the crafting log is enabled.
|
||||
*/
|
||||
public static boolean isCraftingLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog );
|
||||
}
|
||||
|
||||
/**
|
||||
* Logging for autocrafting.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param message
|
||||
* @param params
|
||||
*/
|
||||
public static void crafting( @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isCraftingLogEnabled() )
|
||||
{
|
||||
log( Level.INFO, message, params );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use to check for an enabled crafting debug log.
|
||||
*
|
||||
* Can be used to prevent the execution of unneeded logic.
|
||||
*
|
||||
* @return true when the crafting debug log is enabled.
|
||||
*/
|
||||
public static boolean isCraftingDebugLogEnabled()
|
||||
{
|
||||
return AEConfig.instance.isFeatureEnabled( AEFeature.CraftingLog ) && AEConfig.instance.isFeatureEnabled( AEFeature.DebugLogging );
|
||||
}
|
||||
|
||||
/**
|
||||
* Debug logging for autocrafting.
|
||||
*
|
||||
* Off by default, can be enabled inside the configuration file.
|
||||
*
|
||||
* @see AELog#log(Level, String, Object...)
|
||||
* @param message
|
||||
* @param params
|
||||
*/
|
||||
public static void craftingDebug( @Nonnull final String message, final Object... params )
|
||||
{
|
||||
if( AELog.isCraftingDebugLogEnabled() )
|
||||
{
|
||||
log( Level.DEBUG, message, params );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,8 +95,8 @@ public class IMCHandler
|
||||
}
|
||||
catch( final Exception t )
|
||||
{
|
||||
AELog.warning( "Problem detected when processing IMC " + key + " from " + message.getSender() );
|
||||
AELog.error( t );
|
||||
AELog.warn( "Problem detected when processing IMC " + key + " from " + message.getSender() );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,12 +100,12 @@ public class RecipeLoader implements Runnable
|
||||
// on failure use jar parsing
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
this.handler.parseRecipes( new JarLoader( ASSETS_RECIPE_PATH ), "index.recipe" );
|
||||
}
|
||||
catch( final URISyntaxException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
this.handler.parseRecipes( new JarLoader( ASSETS_RECIPE_PATH ), "index.recipe" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final ClassNotFoundException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
Class myCLass;
|
||||
|
||||
@@ -134,8 +134,8 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.warning( "Error loading " + name );
|
||||
AELog.error( t );
|
||||
AELog.warn( "Error loading " + name );
|
||||
AELog.debug( t );
|
||||
// throw new RuntimeException( t );
|
||||
}
|
||||
f = myCLass.getName();
|
||||
@@ -164,7 +164,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
for( final MethodNode mn : n.methods )
|
||||
@@ -197,13 +197,13 @@ public class ApiPart implements IPartHelper
|
||||
if( !rootC.isInstance( fish ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement " + root + " did not." );
|
||||
AELog.error( "Error, Expected layer to implement " + root + " did not." );
|
||||
}
|
||||
|
||||
if( fish instanceof LayerBase )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to NOT implement LayerBase but it DID." );
|
||||
AELog.error( "Error, Expected layer to NOT implement LayerBase but it DID." );
|
||||
}
|
||||
|
||||
if( !fullPath.contains( ".fmp." ) )
|
||||
@@ -211,13 +211,13 @@ public class ApiPart implements IPartHelper
|
||||
if( !( fish instanceof TileCableBus ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement TileCableBus did not." );
|
||||
AELog.error( "Error, Expected layer to implement TileCableBus did not." );
|
||||
}
|
||||
|
||||
if( !( fish instanceof TileEntity ) )
|
||||
{
|
||||
hasError = true;
|
||||
AELog.severe( "Error, Expected layer to implement TileEntity did not." );
|
||||
AELog.error( "Error, Expected layer to implement TileEntity did not." );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,8 +228,8 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.severe( "Layer: " + n.name + " Failed." );
|
||||
AELog.error( t );
|
||||
AELog.error( "Layer: " + n.name + " Failed." );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
this.roots.put( fullPath, clazz );
|
||||
@@ -297,7 +297,7 @@ public class ApiPart implements IPartHelper
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
throw new IllegalStateException( "Unable to manage part API.", e );
|
||||
}
|
||||
return clazz;
|
||||
|
||||
@@ -61,22 +61,22 @@ public final class GridCacheRegistry implements IGridCacheRegistry
|
||||
}
|
||||
catch( final NoSuchMethodException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalArgumentException( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.severe( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
AELog.error( "Grid Caches must have a constructor with IGrid as the single param." );
|
||||
throw new IllegalStateException( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,8 +72,8 @@ public class RecipeHandlerRegistry implements IRecipeHandlerRegistry
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.severe( "Error Caused when trying to construct " + clz.getName() );
|
||||
AELog.error( e );
|
||||
AELog.error( "Error Caused when trying to construct " + clz.getName() );
|
||||
AELog.debug( e );
|
||||
|
||||
this.handlers.put( name, null ); // clear it..
|
||||
|
||||
@@ -101,7 +101,7 @@ public class RecipeHandlerRegistry implements IRecipeHandlerRegistry
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
if( rr != null )
|
||||
|
||||
@@ -51,19 +51,19 @@ public class AppEngClientPacketHandler extends AppEngPacketHandlerBase implement
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,19 +48,19 @@ public final class AppEngServerPacketHandler extends AppEngPacketHandlerBase imp
|
||||
}
|
||||
catch( final InstantiationException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( final InvocationTargetException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class PacketCraftRequest extends AppEngPacket
|
||||
{
|
||||
futureJob.cancel( true );
|
||||
}
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ public class PacketMEInventoryUpdate extends AppEngPacket
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -33,7 +33,6 @@ import net.minecraftforge.common.config.ConfigCategory;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
import appeng.core.AELog;
|
||||
import appeng.core.CommonHelper;
|
||||
|
||||
|
||||
@@ -64,7 +63,7 @@ final class PlayerData implements IWorldPlayerData, IOnWorldStartable, IOnWorldS
|
||||
this.config = configFile;
|
||||
|
||||
final ConfigCategory playerList = this.config.getCategory( "players" );
|
||||
this.playerMapping = new PlayerMapping( playerList, AELog.INSTANCE );
|
||||
this.playerMapping = new PlayerMapping( playerList );
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -29,8 +29,6 @@ import com.google.common.base.Preconditions;
|
||||
|
||||
import net.minecraftforge.common.config.ConfigCategory;
|
||||
|
||||
import cpw.mods.fml.relauncher.FMLRelaunchLog;
|
||||
|
||||
|
||||
/**
|
||||
* Wrapper class for the player mappings.
|
||||
@@ -46,9 +44,9 @@ final class PlayerMapping implements IWorldPlayerMapping
|
||||
*/
|
||||
private final Map<Integer, UUID> mappings;
|
||||
|
||||
public PlayerMapping( final ConfigCategory category, final FMLRelaunchLog log )
|
||||
public PlayerMapping( final ConfigCategory category )
|
||||
{
|
||||
final PlayerMappingsInitializer init = new PlayerMappingsInitializer( category, log );
|
||||
final PlayerMappingsInitializer init = new PlayerMappingsInitializer( category );
|
||||
|
||||
this.mappings = init.getPlayerMappings();
|
||||
}
|
||||
|
||||
@@ -26,8 +26,6 @@ import java.util.UUID;
|
||||
import net.minecraftforge.common.config.ConfigCategory;
|
||||
import net.minecraftforge.common.config.Property;
|
||||
|
||||
import cpw.mods.fml.relauncher.FMLRelaunchLog;
|
||||
|
||||
import appeng.core.AELog;
|
||||
import appeng.util.UUIDMatcher;
|
||||
|
||||
@@ -53,7 +51,7 @@ class PlayerMappingsInitializer
|
||||
* @param playerList the category for the player list, generally extracted using the "players" tag
|
||||
* @param log the logger used to warn the server or user of faulty entries
|
||||
*/
|
||||
PlayerMappingsInitializer( final ConfigCategory playerList, final FMLRelaunchLog log )
|
||||
PlayerMappingsInitializer( final ConfigCategory playerList )
|
||||
{
|
||||
// Matcher for UUIDs
|
||||
final UUIDMatcher matcher = new UUIDMatcher();
|
||||
@@ -78,7 +76,7 @@ class PlayerMappingsInitializer
|
||||
}
|
||||
else
|
||||
{
|
||||
AELog.warning( "The configuration for players contained an outdated entry instead an expected UUID " + maybeUUID + " for the player " + id + ". Please clean this up." );
|
||||
AELog.warn( "The configuration for players contained an outdated entry instead an expected UUID " + maybeUUID + " for the player " + id + ". Please clean this up." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
catch( final Throwable e )
|
||||
{
|
||||
data = new NBTTagCompound();
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -165,7 +165,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -196,7 +196,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -208,7 +208,7 @@ final class SpawnData implements IWorldSpawnData
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ final class StorageData implements IWorldGridStorageData, IOnWorldStartable, IOn
|
||||
}
|
||||
catch( final NumberFormatException err )
|
||||
{
|
||||
AELog.warning( "The config contained a value which was not represented as a Long: %s", lastString );
|
||||
AELog.warn( "The config contained a value which was not represented as a Long: %s", lastString );
|
||||
|
||||
this.lastGridStorage = 0;
|
||||
}
|
||||
|
||||
@@ -24,26 +24,35 @@ import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.google.common.base.Stopwatch;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.config.Actionable;
|
||||
import appeng.api.networking.IGrid;
|
||||
import appeng.api.networking.IGridHost;
|
||||
import appeng.api.networking.IGridNode;
|
||||
import appeng.api.networking.crafting.ICraftingCallback;
|
||||
import appeng.api.networking.crafting.ICraftingGrid;
|
||||
import appeng.api.networking.crafting.ICraftingJob;
|
||||
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
||||
import appeng.api.networking.security.BaseActionSource;
|
||||
import appeng.api.networking.security.IActionHost;
|
||||
import appeng.api.networking.security.MachineSource;
|
||||
import appeng.api.networking.security.PlayerSource;
|
||||
import appeng.api.networking.storage.IStorageGrid;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.api.storage.data.IItemList;
|
||||
import appeng.api.util.DimensionalCoord;
|
||||
import appeng.core.AELog;
|
||||
import appeng.hooks.TickHandler;
|
||||
|
||||
|
||||
public class CraftingJob implements Runnable, ICraftingJob
|
||||
{
|
||||
private static final String LOG_CRAFTING_JOB = "CraftingJob (%s) issued by %s requesting [%s] using %s bytes took %s ms";
|
||||
private static final String LOG_MACHINE_SOURCE_DETAILS = "Machine[object=%s, %s]";
|
||||
|
||||
private final MECraftingInventory original;
|
||||
private final World world;
|
||||
@@ -145,7 +154,7 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
AELog.crafting( s + " * " + ti.times + " = " + ( ti.perOp * ti.times ) );
|
||||
}
|
||||
|
||||
AELog.crafting( "------------- " + this.bytes + "b real" + timer.elapsed( TimeUnit.MILLISECONDS ) + "ms" );
|
||||
this.logCraftingJob( "real", timer );
|
||||
// if ( mode == Actionable.MODULATE )
|
||||
// craftingInventory.moveItemsToStorage( storage );
|
||||
}
|
||||
@@ -171,15 +180,15 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
AELog.crafting( s + " * " + ti.times + " = " + ( ti.perOp * ti.times ) );
|
||||
}
|
||||
|
||||
AELog.crafting( "------------- " + this.bytes + "b simulate" + timer.elapsed( TimeUnit.MILLISECONDS ) + "ms" );
|
||||
this.logCraftingJob( "simulate", timer );
|
||||
}
|
||||
catch( final CraftBranchFailure e1 )
|
||||
{
|
||||
AELog.error( e1 );
|
||||
AELog.debug( e1 );
|
||||
}
|
||||
catch( final CraftingCalculationFailure f )
|
||||
{
|
||||
AELog.error( f );
|
||||
AELog.debug( f );
|
||||
}
|
||||
catch( final InterruptedException e1 )
|
||||
{
|
||||
@@ -190,7 +199,7 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
}
|
||||
catch( final CraftingCalculationFailure f )
|
||||
{
|
||||
AELog.error( f );
|
||||
AELog.debug( f );
|
||||
}
|
||||
catch( final InterruptedException e1 )
|
||||
{
|
||||
@@ -199,7 +208,7 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
return;
|
||||
}
|
||||
|
||||
this.log( "crafting job now done" );
|
||||
AELog.craftingDebug( "crafting job now done" );
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
@@ -227,14 +236,14 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
|
||||
if( !this.running )
|
||||
{
|
||||
this.log( "crafting job will now sleep" );
|
||||
AELog.craftingDebug( "crafting job will now sleep" );
|
||||
|
||||
while( !this.running )
|
||||
{
|
||||
this.monitor.wait();
|
||||
}
|
||||
|
||||
this.log( "crafting job now active" );
|
||||
AELog.craftingDebug( "crafting job now active" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,11 +272,6 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
}
|
||||
}
|
||||
|
||||
private void log( final String string )
|
||||
{
|
||||
// AELog.crafting( string );
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSimulation()
|
||||
{
|
||||
@@ -327,7 +331,7 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
this.watch.start();
|
||||
this.running = true;
|
||||
|
||||
this.log( "main thread is now going to sleep" );
|
||||
AELog.craftingDebug( "main thread is now going to sleep" );
|
||||
|
||||
this.monitor.notify();
|
||||
|
||||
@@ -342,7 +346,7 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
}
|
||||
}
|
||||
|
||||
this.log( "main thread is now active" );
|
||||
AELog.craftingDebug( "main thread is now active" );
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -363,9 +367,41 @@ public class CraftingJob implements Runnable, ICraftingJob
|
||||
this.tree = tree;
|
||||
}
|
||||
|
||||
private void logCraftingJob( String type, Stopwatch timer )
|
||||
{
|
||||
if( AELog.isCraftingLogEnabled() )
|
||||
{
|
||||
final String itemToOutput = this.output.toString();
|
||||
final long elapsedTime = timer.elapsed( TimeUnit.MILLISECONDS );
|
||||
final String actionSource;
|
||||
|
||||
if( this.actionSrc instanceof MachineSource )
|
||||
{
|
||||
final IActionHost machineSource = ( (MachineSource) this.actionSrc ).via;
|
||||
final IGridNode actionableNode = machineSource.getActionableNode();
|
||||
final IGridHost machine = actionableNode.getMachine();
|
||||
final DimensionalCoord location = actionableNode.getGridBlock().getLocation();
|
||||
|
||||
actionSource = String.format( LOG_MACHINE_SOURCE_DETAILS, machine, location );
|
||||
}
|
||||
else if( this.actionSrc instanceof PlayerSource )
|
||||
{
|
||||
final PlayerSource source = (PlayerSource) this.actionSrc;
|
||||
final EntityPlayer player = source.player;
|
||||
|
||||
actionSource = player.toString();
|
||||
}
|
||||
else
|
||||
{
|
||||
actionSource = "[unknown source]";
|
||||
}
|
||||
|
||||
AELog.crafting( LOG_CRAFTING_JOB, type, actionSource, itemToOutput, this.bytes, elapsedTime );
|
||||
}
|
||||
}
|
||||
|
||||
private static class TwoIntegers
|
||||
{
|
||||
|
||||
private final long perOp = 0;
|
||||
private final long times = 0;
|
||||
}
|
||||
|
||||
@@ -339,7 +339,7 @@ public class FacadePart implements IFacadePart, IBoxProvider
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ public class CableBusPart extends JCuboidPart implements JNormalOcclusion, IMask
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ public class CableBusPart extends JCuboidPart implements JNormalOcclusion, IMask
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@ public class MultiCraftingTracker
|
||||
|
||||
private Future<ICraftingJob>[] jobs = null;
|
||||
private ICraftingLink[] links = null;
|
||||
private int failedCraftingAttempts = 0;
|
||||
|
||||
public MultiCraftingTracker( final ICraftingRequester o, final int size )
|
||||
{
|
||||
@@ -54,11 +53,6 @@ public class MultiCraftingTracker
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public int getFailedCraftingAttempts()
|
||||
{
|
||||
return this.failedCraftingAttempts;
|
||||
}
|
||||
|
||||
public void readFromNBT( final NBTTagCompound extra )
|
||||
{
|
||||
for( int x = 0; x < this.size; x++ )
|
||||
@@ -115,15 +109,10 @@ public class MultiCraftingTracker
|
||||
|
||||
if( link != null )
|
||||
{
|
||||
this.failedCraftingAttempts = Math.max( 0, this.failedCraftingAttempts - 1 );
|
||||
|
||||
this.setLink( x, link );
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.failedCraftingAttempts = Math.min( 10, this.failedCraftingAttempts + 1 );
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch( final InterruptedException e )
|
||||
|
||||
@@ -289,7 +289,7 @@ public class TickHandler
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -119,11 +119,11 @@ public class BuildCraftBuilder implements IIntegrationModule
|
||||
}
|
||||
catch( final InvocationTargetException ignore )
|
||||
{
|
||||
AELog.warning( "Encountered problems while initializing the BuildCraft Builder support. Can not invoke the method %s", blockDefinition );
|
||||
AELog.warn( "Encountered problems while initializing the BuildCraft Builder support. Can not invoke the method %s", blockDefinition );
|
||||
}
|
||||
catch( final IllegalAccessException ignore )
|
||||
{
|
||||
AELog.warning( "Encountered problems while initializing the BuildCraft Builder support. Can not access the method %s", blockDefinition );
|
||||
AELog.warn( "Encountered problems while initializing the BuildCraft Builder support. Can not access the method %s", blockDefinition );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ public class FMP implements IIntegrationModule, IPartFactory, IPartConverter, IF
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -211,8 +211,8 @@ public class FMP implements IIntegrationModule, IPartFactory, IPartConverter, IF
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.severe( "Failed to register " + layerInterface.getName() + " with FMP, some features may not work with MultiParts." );
|
||||
AELog.error( t );
|
||||
AELog.error( "Failed to register " + layerInterface.getName() + " with FMP, some features may not work with MultiParts." );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public class ImmibisMicroblocks implements IImmibisMicroblocks, IIntegrationModu
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -263,7 +263,7 @@ public class ToolMassCannon extends AEBasePoweredItem implements IStorageCell
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
|
||||
if( pos != null && type != null && type.getItem() instanceof ItemPaintBall )
|
||||
@@ -385,7 +385,7 @@ public class ToolMassCannon extends AEBasePoweredItem implements IStorageCell
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
|
||||
if( pos != null )
|
||||
|
||||
@@ -110,7 +110,7 @@ public class GridStorage implements IGridStorage
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
return "";
|
||||
|
||||
@@ -184,10 +184,10 @@ public class NetworkEventBus
|
||||
}
|
||||
catch( final Throwable e1 )
|
||||
{
|
||||
AELog.severe( "[AppEng] Network Event caused exception:" );
|
||||
AELog.severe( "Offending Class: " + obj.getClass().getName() );
|
||||
AELog.severe( "Offending Object: " + obj.toString() );
|
||||
AELog.error( e1 );
|
||||
AELog.error( "[AppEng] Network Event caused exception:" );
|
||||
AELog.error( "Offending Class: " + obj.getClass().getName() );
|
||||
AELog.error( "Offending Object: " + obj.toString() );
|
||||
AELog.debug( e1 );
|
||||
throw new IllegalStateException( e1 );
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -239,8 +239,8 @@ public class GridStorageCache implements IStorageGrid
|
||||
}
|
||||
}
|
||||
|
||||
this.itemMonitor.forceUpdate( false );
|
||||
this.fluidMonitor.forceUpdate( false );
|
||||
this.itemMonitor.forceUpdate();
|
||||
this.fluidMonitor.forceUpdate();
|
||||
|
||||
tracker.applyChanges();
|
||||
}
|
||||
|
||||
+9
-28
@@ -23,14 +23,15 @@ import java.util.Collection;
|
||||
import java.util.Deque;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import javax.annotation.Nonnegative;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import appeng.api.config.AccessRestriction;
|
||||
import appeng.api.config.Actionable;
|
||||
@@ -48,7 +49,7 @@ import appeng.me.storage.ItemWatcher;
|
||||
public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
{
|
||||
@Nonnull
|
||||
private static final Deque<NetworkMonitor<?>> GLOBAL_DEPTH = new LinkedList<NetworkMonitor<?>>();
|
||||
private static final Deque<NetworkMonitor<?>> GLOBAL_DEPTH = Lists.newLinkedList();
|
||||
|
||||
@Nonnull
|
||||
private final GridStorageCache myGridCache;
|
||||
@@ -57,10 +58,11 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
@Nonnull
|
||||
private final IItemList<T> cachedList;
|
||||
@Nonnull
|
||||
private final Map<IMEMonitorHandlerReceiver<T>, Object> listeners = new HashMap<IMEMonitorHandlerReceiver<T>, Object>();
|
||||
private final Map<IMEMonitorHandlerReceiver<T>, Object> listeners;
|
||||
|
||||
private boolean sendEvent = false;
|
||||
private boolean hasChanged = false;
|
||||
@Nonnegative
|
||||
private int localDepthSemaphore = 0;
|
||||
|
||||
public NetworkMonitor( final GridStorageCache cache, final StorageChannel chan )
|
||||
@@ -68,6 +70,7 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
this.myGridCache = cache;
|
||||
this.myChannel = chan;
|
||||
this.cachedList = (IItemList<T>) chan.createList();
|
||||
this.listeners = new HashMap<IMEMonitorHandlerReceiver<T>, Object>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -227,6 +230,7 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
|
||||
private void notifyListenersOfChange( final Iterable<T> diff, final BaseActionSource src )
|
||||
{
|
||||
this.hasChanged = true;
|
||||
final Iterator<Entry<IMEMonitorHandlerReceiver<T>, Object>> i = this.getListeners();
|
||||
|
||||
while( i.hasNext() )
|
||||
@@ -249,22 +253,6 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
this.postChange( true, changes, src );
|
||||
}
|
||||
|
||||
private void updateCache( Iterable<T> changes, boolean add )
|
||||
{
|
||||
for( final T changedItem : changes )
|
||||
{
|
||||
T difference = changedItem;
|
||||
|
||||
if( !add && changedItem != null )
|
||||
{
|
||||
difference = changedItem.copy();
|
||||
difference.setStackSize( -changedItem.getStackSize() );
|
||||
}
|
||||
|
||||
this.cachedList.add( difference );
|
||||
}
|
||||
}
|
||||
|
||||
protected void postChange( final boolean add, final Iterable<T> changes, final BaseActionSource src )
|
||||
{
|
||||
if( localDepthSemaphore > 0 || GLOBAL_DEPTH.contains( this ) )
|
||||
@@ -277,7 +265,6 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
|
||||
this.sendEvent = true;
|
||||
|
||||
this.updateCache( changes, add );
|
||||
this.notifyListenersOfChange( changes, src );
|
||||
|
||||
for( final T changedItem : changes )
|
||||
@@ -325,17 +312,11 @@ public class NetworkMonitor<T extends IAEStack<T>> implements IMEMonitor<T>
|
||||
}
|
||||
}
|
||||
|
||||
void forceUpdate( boolean reset )
|
||||
void forceUpdate()
|
||||
{
|
||||
if( reset )
|
||||
{
|
||||
this.hasChanged = true;
|
||||
this.cachedList.resetStatus();
|
||||
this.getAvailableItems( this.cachedList );
|
||||
}
|
||||
this.hasChanged = true;
|
||||
|
||||
final Iterator<Entry<IMEMonitorHandlerReceiver<T>, Object>> i = this.getListeners();
|
||||
|
||||
while( i.hasNext() )
|
||||
{
|
||||
final Entry<IMEMonitorHandlerReceiver<T>, Object> o = i.next();
|
||||
|
||||
@@ -116,7 +116,7 @@ public abstract class MBCalculator
|
||||
}
|
||||
catch( final Throwable err )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
|
||||
this.disconnect();
|
||||
|
||||
@@ -83,6 +83,8 @@ import appeng.util.item.AEItemStack;
|
||||
public final class CraftingCPUCluster implements IAECluster, ICraftingCPU
|
||||
{
|
||||
|
||||
private static final String LOG_MARK_AS_COMPLETE = "Completed job for %s.";
|
||||
|
||||
private final WorldCoord min;
|
||||
private final WorldCoord max;
|
||||
private final int[] usedOps = new int[3];
|
||||
@@ -427,12 +429,19 @@ public final class CraftingCPUCluster implements IAECluster, ICraftingCPU
|
||||
( (CraftingLink) this.myLastLink ).markDone();
|
||||
}
|
||||
|
||||
AELog.crafting( "marking job as complete" );
|
||||
if( AELog.isCraftingLogEnabled() )
|
||||
{
|
||||
final IAEItemStack logStack = this.finalOutput.copy();
|
||||
logStack.setStackSize( this.startItemCount );
|
||||
AELog.crafting( LOG_MARK_AS_COMPLETE, logStack );
|
||||
}
|
||||
|
||||
this.remainingItemCount = 0;
|
||||
this.startItemCount = 0;
|
||||
this.lastTime = 0;
|
||||
this.elapsedTime = 0;
|
||||
this.isComplete = true;
|
||||
|
||||
}
|
||||
|
||||
private void updateCPU()
|
||||
|
||||
@@ -1074,7 +1074,7 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I
|
||||
}
|
||||
else
|
||||
{
|
||||
AELog.warning( "Invalid NBT For CableBus Container: " + iss.getItem().getClass().getName() + " is not a valid part; it was ignored." );
|
||||
AELog.warn( "Invalid NBT For CableBus Container: " + iss.getItem().getClass().getName() + " is not a valid part; it was ignored." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,13 +176,6 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest
|
||||
// :P
|
||||
}
|
||||
|
||||
final int failedAttempts = this.craftingTracker.getFailedCraftingAttempts();
|
||||
|
||||
if( this.isCraftingEnabled() && failedAttempts > 0 )
|
||||
{
|
||||
return this.getFailedCraftingPenalty( failedAttempts );
|
||||
}
|
||||
|
||||
return this.didSomething ? TickRateModulation.FASTER : TickRateModulation.SLOWER;
|
||||
}
|
||||
|
||||
@@ -306,7 +299,7 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
return items;
|
||||
@@ -388,18 +381,4 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest
|
||||
this.nextSlot = ( this.nextSlot + x ) % this.availableSlots();
|
||||
}
|
||||
}
|
||||
|
||||
private TickRateModulation getFailedCraftingPenalty( final int failedAttempts )
|
||||
{
|
||||
if( failedAttempts > 5 )
|
||||
{
|
||||
return TickRateModulation.SLOWER;
|
||||
}
|
||||
else if( failedAttempts > 1 )
|
||||
{
|
||||
return TickRateModulation.SAME;
|
||||
}
|
||||
|
||||
return TickRateModulation.FASTER;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,11 +378,10 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||
|
||||
final IMEInventory<IAEItemStack> out = this.getInternalHandler();
|
||||
|
||||
// TODO: evaluate, if this is really (not) necessary.
|
||||
// if( this.monitor != null )
|
||||
// {
|
||||
// this.monitor.onTick();
|
||||
// }
|
||||
if( this.monitor != null )
|
||||
{
|
||||
this.monitor.onTick();
|
||||
}
|
||||
|
||||
IItemList<IAEItemStack> after = AEApi.instance().storage().createItemList();
|
||||
if( out != null )
|
||||
@@ -413,16 +412,6 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||
return this.handler;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
// force grid to update handlers...
|
||||
this.getProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
// :3
|
||||
}
|
||||
|
||||
this.handlerHash = newHandlerHash;
|
||||
this.handler = null;
|
||||
this.monitor = null;
|
||||
@@ -505,6 +494,16 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
// force grid to update handlers...
|
||||
this.getProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
// :3
|
||||
}
|
||||
|
||||
return this.handler;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ import javax.annotation.Nullable;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@@ -39,29 +38,22 @@ import li.cil.oc.api.network.Node;
|
||||
import li.cil.oc.api.network.SidedEnvironment;
|
||||
import li.cil.oc.api.network.Visibility;
|
||||
|
||||
import appeng.api.networking.IGridNode;
|
||||
import appeng.api.networking.ticking.IGridTickable;
|
||||
import appeng.api.networking.ticking.TickRateModulation;
|
||||
import appeng.api.networking.ticking.TickingRequest;
|
||||
import appeng.core.AELog;
|
||||
import appeng.core.settings.TickRates;
|
||||
import appeng.hooks.TickHandler;
|
||||
import appeng.api.networking.events.MENetworkBootingStatusChange;
|
||||
import appeng.api.networking.events.MENetworkChannelsChanged;
|
||||
import appeng.api.networking.events.MENetworkEventSubscribe;
|
||||
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
||||
import appeng.integration.IntegrationRegistry;
|
||||
import appeng.integration.IntegrationType;
|
||||
import appeng.me.GridAccessException;
|
||||
import appeng.transformer.annotations.Integration.Interface;
|
||||
import appeng.transformer.annotations.Integration.InterfaceList;
|
||||
import appeng.util.IWorldCallable;
|
||||
|
||||
|
||||
@InterfaceList( value = { @Interface( iface = "li.cil.oc.api.network.Environment", iname = IntegrationType.OpenComputers ), @Interface( iface = "li.cil.oc.api.network.SidedEnvironment", iname = IntegrationType.OpenComputers ) } )
|
||||
public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenComputers> implements IGridTickable, Environment, SidedEnvironment
|
||||
public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenComputers> implements Environment, SidedEnvironment
|
||||
{
|
||||
@Nullable
|
||||
private final Node node;
|
||||
|
||||
private final IWorldCallable<Void> updateCallback;
|
||||
|
||||
public PartP2POpenComputers( final ItemStack is )
|
||||
{
|
||||
super( is );
|
||||
@@ -80,8 +72,24 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
|
||||
{
|
||||
this.node = null; // to satisfy final
|
||||
}
|
||||
}
|
||||
|
||||
this.updateCallback = new UpdateCallback();
|
||||
@MENetworkEventSubscribe
|
||||
public void changeStateA( final MENetworkBootingStatusChange bs )
|
||||
{
|
||||
this.updateConnections();
|
||||
}
|
||||
|
||||
@MENetworkEventSubscribe
|
||||
public void changeStateB( final MENetworkChannelsChanged bs )
|
||||
{
|
||||
this.updateConnections();
|
||||
}
|
||||
|
||||
@MENetworkEventSubscribe
|
||||
public void changeStateC( final MENetworkPowerStatusChange bs )
|
||||
{
|
||||
this.updateConnections();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,15 +112,7 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
|
||||
@Override
|
||||
public void onTunnelNetworkChange()
|
||||
{
|
||||
super.onTunnelNetworkChange();
|
||||
try
|
||||
{
|
||||
this.getProxy().getTick().wakeDevice( this.getProxy().getNode() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
// ignore
|
||||
}
|
||||
this.updateConnections();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -135,35 +135,6 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TickingRequest getTickingRequest( final IGridNode node )
|
||||
{
|
||||
return new TickingRequest( TickRates.OpenComputersTunnel.getMin(), TickRates.OpenComputersTunnel.getMax(), true, false );
|
||||
}
|
||||
|
||||
@Override
|
||||
public TickRateModulation tickingRequest( final IGridNode node, final int ticksSinceLastCall )
|
||||
{
|
||||
try
|
||||
{
|
||||
if( !this.getProxy().getPath().isNetworkBooting() )
|
||||
{
|
||||
if( this.node() != null ) // Client side doesn't have nodes.
|
||||
{
|
||||
TickHandler.INSTANCE.addCallable( this.getTile().getWorldObj(), this.updateCallback );
|
||||
}
|
||||
|
||||
return TickRateModulation.SLEEP;
|
||||
}
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
// ignore
|
||||
}
|
||||
|
||||
return TickRateModulation.IDLE;
|
||||
}
|
||||
|
||||
private void updateConnections()
|
||||
{
|
||||
if( this.getProxy().isPowered() && this.getProxy().isActive() )
|
||||
@@ -171,31 +142,10 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
|
||||
// Make sure we're connected to existing OC nodes in the world.
|
||||
Network.joinOrCreateNetwork( this.getTile() );
|
||||
|
||||
if( this.isOutput() )
|
||||
if( this.isOutput() && this.getInput() != null && this.node != null )
|
||||
{
|
||||
if( this.getInput() != null && this.node != null )
|
||||
{
|
||||
Network.joinOrCreateNetwork( this.getInput().getTile() );
|
||||
this.node.connect( this.getInput().node() );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
for( final PartP2POpenComputers output : this.getOutputs() )
|
||||
{
|
||||
if( this.node != null )
|
||||
{
|
||||
Network.joinOrCreateNetwork( output.getTile() );
|
||||
this.node.connect( output.node() );
|
||||
}
|
||||
}
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
}
|
||||
Network.joinOrCreateNetwork( this.getInput().getTile() );
|
||||
this.node.connect( this.getInput().node() );
|
||||
}
|
||||
}
|
||||
else if( this.node != null )
|
||||
@@ -238,16 +188,4 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
|
||||
{
|
||||
return side == this.getSide();
|
||||
}
|
||||
|
||||
private final class UpdateCallback implements IWorldCallable<Void>
|
||||
{
|
||||
@Nullable
|
||||
@Override
|
||||
public Void call( final World world ) throws Exception
|
||||
{
|
||||
PartP2POpenComputers.this.updateConnections();
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,6 +58,7 @@ public final class PartP2PPressure extends PartP2PTunnel<PartP2PPressure> implem
|
||||
@Nonnull
|
||||
private final IAirHandler handler;
|
||||
private boolean isConnected = false;
|
||||
private boolean isValid = false;
|
||||
|
||||
public PartP2PPressure( final ItemStack is )
|
||||
{
|
||||
@@ -87,14 +88,20 @@ public final class PartP2PPressure extends PartP2PTunnel<PartP2PPressure> implem
|
||||
public void onNeighborChanged()
|
||||
{
|
||||
super.onNeighborChanged();
|
||||
this.getInternalHandler().onNeighborChange();
|
||||
|
||||
if( this.isValid )
|
||||
{
|
||||
this.getInternalHandler().onNeighborChange();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addToWorld()
|
||||
{
|
||||
super.addToWorld();
|
||||
|
||||
this.getInternalHandler().validateI( this.getTile() );
|
||||
this.isValid = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,6 +109,7 @@ public final class PartP2PPressure extends PartP2PTunnel<PartP2PPressure> implem
|
||||
{
|
||||
super.removeFromWorld();
|
||||
|
||||
this.isValid = false;
|
||||
if( this.isOutput() && this.getInput() != null )
|
||||
{
|
||||
this.getInternalHandler().removeConnection( this.getInput().getInternalHandler() );
|
||||
|
||||
@@ -233,14 +233,14 @@ public class PartP2PTunnelME extends PartP2PTunnel<PartP2PTunnelME> implements I
|
||||
{
|
||||
final TileEntity start = this.getTile();
|
||||
final TileEntity end = me.getTile();
|
||||
AELog.warning( "Failed to establish a ME P2P Tunnel between the tunnels at [x=%d, y=%d, z=%d] and [x=%d, y=%d, z=%d]", start.xCoord, start.yCoord, start.zCoord, end.xCoord, end.yCoord, end.zCoord );
|
||||
AELog.warn( "Failed to establish a ME P2P Tunnel between the tunnels at [x=%d, y=%d, z=%d] and [x=%d, y=%d, z=%d]", start.xCoord, start.yCoord, start.zCoord, end.xCoord, end.yCoord, end.zCoord );
|
||||
// :(
|
||||
}
|
||||
}
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@ public abstract class AbstractPartMonitor extends AbstractPartDisplay implements
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@@ -257,10 +257,10 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final Exception err )
|
||||
{
|
||||
AELog.warning( "Error Loading Recipe File:" + path );
|
||||
AELog.warn( "Error Loading Recipe File:" + path );
|
||||
if( this.data.exceptions )
|
||||
{
|
||||
AELog.error( err );
|
||||
AELog.debug( err );
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -360,7 +360,7 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
if( this.data.crash )
|
||||
{
|
||||
throw new IllegalStateException( e );
|
||||
@@ -398,10 +398,10 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final RegistrationError e )
|
||||
{
|
||||
AELog.warning( "Unable to register a recipe: " + e.getMessage() );
|
||||
AELog.warn( "Unable to register a recipe: " + e.getMessage() );
|
||||
if( this.data.exceptions )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
if( this.data.crash )
|
||||
{
|
||||
@@ -412,10 +412,10 @@ public class RecipeHandler implements IRecipeHandler
|
||||
{
|
||||
if( this.data.errorOnMissing )
|
||||
{
|
||||
AELog.warning( "Unable to register a recipe:" + e.getMessage() );
|
||||
AELog.warn( "Unable to register a recipe:" + e.getMessage() );
|
||||
if( this.data.exceptions )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
if( this.data.crash )
|
||||
{
|
||||
@@ -429,7 +429,7 @@ public class RecipeHandler implements IRecipeHandler
|
||||
{
|
||||
if( this.data.exceptions )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
if( this.data.crash )
|
||||
{
|
||||
@@ -505,11 +505,11 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final FileNotFoundException e1 )
|
||||
{
|
||||
AELog.error( e1 );
|
||||
AELog.debug( e1 );
|
||||
}
|
||||
catch( final IOException e1 )
|
||||
{
|
||||
AELog.error( e1 );
|
||||
AELog.debug( e1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -529,7 +529,7 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -678,10 +678,10 @@ public class RecipeHandler implements IRecipeHandler
|
||||
}
|
||||
catch( final RecipeError e )
|
||||
{
|
||||
AELog.warning( "Recipe Error '" + e.getMessage() + "' near line:" + line + " in " + file + " with: " + this.tokens.toString() );
|
||||
AELog.warn( "Recipe Error '" + e.getMessage() + "' near line:" + line + " in " + file + " with: " + this.tokens.toString() );
|
||||
if( this.data.exceptions )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
if( this.data.crash )
|
||||
{
|
||||
|
||||
@@ -118,7 +118,7 @@ public class Shaped implements ICraftHandler, IWebsiteSerializer
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
throw new RegistrationError( "Error while adding shaped recipe." );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class Shapeless implements ICraftHandler, IWebsiteSerializer
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
throw new RegistrationError( "Error while adding shapeless recipe." );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public class OreDictionaryHandler
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ public final class VersionChecker implements Runnable
|
||||
catch( Exception exception )
|
||||
{
|
||||
// Log any unhandled exception to prevent the JVM from reporting them as unhandled.
|
||||
AELog.error( exception );
|
||||
AELog.debug( exception );
|
||||
}
|
||||
|
||||
AELog.info( "Stopping AE2 VersionChecker" );
|
||||
|
||||
@@ -73,7 +73,8 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
|
||||
/**
|
||||
* @param exportDirectory directory of the resulting export file. Non-null required.
|
||||
* @param itemRegistry the registry with minecraft items. Needs to be populated at that time, thus the exporting can only happen in init (pre-init is the
|
||||
* @param itemRegistry the registry with minecraft items. Needs to be populated at that time, thus the exporting can
|
||||
* only happen in init (pre-init is the
|
||||
* phase when all items are determined)
|
||||
* @param mode mode in which the export should be operated. Resulting CSV will change depending on this.
|
||||
*/
|
||||
@@ -103,7 +104,7 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
{
|
||||
FileUtils.forceMkdir( this.exportDirectory );
|
||||
|
||||
final Writer writer = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( file ), Charset.forName("UTF-8") ) );
|
||||
final Writer writer = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( file ), Charset.forName( "UTF-8" ) ) );
|
||||
|
||||
final String header = this.mode == ExportMode.MINIMAL ? MINIMAL_HEADER : VERBOSE_HEADER;
|
||||
writer.write( header );
|
||||
@@ -116,8 +117,8 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
}
|
||||
catch( final IOException e )
|
||||
{
|
||||
AELog.warning( EXPORT_UNSUCCESSFUL_MESSAGE );
|
||||
AELog.error( e );
|
||||
AELog.warn( EXPORT_UNSUCCESSFUL_MESSAGE );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,7 +187,6 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* transforms an item into a row representation of the CSV file
|
||||
*/
|
||||
@@ -198,6 +198,7 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
private static final String LOCALIZATION_NAME_EXTENSION = ".name";
|
||||
private static final String EXPORTING_NOTHING_MESSAGE = "Exporting nothing";
|
||||
private static final String EXPORTING_SUBTYPES_MESSAGE = "Exporting input %s with subtypes: %b";
|
||||
private static final String EXPORTING_SUBTYPES_FAILED_MESSAGE = "Could not export subtypes of: %s";
|
||||
|
||||
@Nonnull
|
||||
private final FMLControlledNamespacedRegistry<Item> itemRegistry;
|
||||
@@ -243,7 +244,8 @@ final class MinecraftItemCSVExporter implements Exporter
|
||||
}
|
||||
catch( final Exception ignored )
|
||||
{
|
||||
AELog.error( ignored );
|
||||
AELog.warn( EXPORTING_SUBTYPES_FAILED_MESSAGE, input.getUnlocalizedName() );
|
||||
AELog.debug( ignored );
|
||||
|
||||
// ignore if mods do bullshit in their code
|
||||
return null;
|
||||
|
||||
@@ -67,7 +67,7 @@ public final class ModVersionFetcher implements VersionFetcher
|
||||
}
|
||||
catch( final VersionCheckerException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
|
||||
return EXCEPTIONAL_VERSION;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public final class VersionCheckerConfig
|
||||
public VersionCheckerConfig( @Nonnull final File file )
|
||||
{
|
||||
Preconditions.checkNotNull( file );
|
||||
Preconditions.checkState( file.isFile() );
|
||||
Preconditions.checkState( !file.isDirectory() );
|
||||
|
||||
this.config = new Configuration( file );
|
||||
|
||||
|
||||
@@ -75,15 +75,15 @@ public final class ReleaseFetcher
|
||||
}
|
||||
catch( final VersionCheckerException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( MalformedURLException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
catch( IOException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
|
||||
return EXCEPTIONAL_RELEASE;
|
||||
|
||||
@@ -178,7 +178,7 @@ public class CachedPlane
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -292,7 +292,7 @@ public class CachedPlane
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
|
||||
// attempt recovery...
|
||||
te.setWorldObj( this.getWorld() );
|
||||
@@ -319,7 +319,7 @@ public class CachedPlane
|
||||
}
|
||||
catch( final Throwable e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile,
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
stream.capacity( stream.readableBytes() );
|
||||
@@ -279,7 +279,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile,
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
return output;
|
||||
@@ -319,7 +319,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile,
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IUpgrade
|
||||
this.settings = new ConfigManager( this );
|
||||
this.settings.registerSetting( Settings.REDSTONE_CONTROLLED, RedstoneMode.IGNORE );
|
||||
this.inv.setMaxStackSize( 1 );
|
||||
this.getGridProxy().setIdlePowerUsage( 0.0 );
|
||||
this.getProxy().setIdlePowerUsage( 0.0 );
|
||||
this.upgrades = new DefinitionUpgradeInventory( assembler, this, this.getUpgradeSlots() );
|
||||
this.craftingInv = new InventoryCrafting( new ContainerNull(), 3, 3 );
|
||||
}
|
||||
@@ -152,11 +152,11 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IUpgrade
|
||||
{
|
||||
if( this.isAwake )
|
||||
{
|
||||
this.getGridProxy().getTick().wakeDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().wakeDevice( this.getProxy().getNode() );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.getGridProxy().getTick().sleepDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().sleepDevice( this.getProxy().getNode() );
|
||||
}
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
@@ -553,7 +553,7 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IUpgrade
|
||||
{
|
||||
try
|
||||
{
|
||||
return (int) ( this.getGridProxy().getEnergy().extractAEPower( ticksPassed * bonusValue * acceleratorTax, Actionable.MODULATE, PowerMultiplier.CONFIG ) / acceleratorTax );
|
||||
return (int) ( this.getProxy().getEnergy().extractAEPower( ticksPassed * bonusValue * acceleratorTax, Actionable.MODULATE, PowerMultiplier.CONFIG ) / acceleratorTax );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
@@ -629,7 +629,7 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IUpgrade
|
||||
|
||||
try
|
||||
{
|
||||
newState = this.getGridProxy().isActive() && this.getGridProxy().getEnergy().extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.0001;
|
||||
newState = this.getProxy().isActive() && this.getProxy().getEnergy().extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.0001;
|
||||
}
|
||||
catch( final GridAccessException ignored )
|
||||
{
|
||||
|
||||
@@ -39,19 +39,19 @@ public abstract class AENetworkInvTile extends AEBaseInvTile implements IActionH
|
||||
@TileEvent( TileEventType.WORLD_NBT_READ )
|
||||
public void readFromNBT_AENetwork( final NBTTagCompound data )
|
||||
{
|
||||
this.getGridProxy().readFromNBT( data );
|
||||
this.getProxy().readFromNBT( data );
|
||||
}
|
||||
|
||||
@TileEvent( TileEventType.WORLD_NBT_WRITE )
|
||||
public void writeToNBT_AENetwork( final NBTTagCompound data )
|
||||
{
|
||||
this.getGridProxy().writeToNBT( data );
|
||||
this.getProxy().writeToNBT( data );
|
||||
}
|
||||
|
||||
@Override
|
||||
public AENetworkProxy getProxy()
|
||||
{
|
||||
return this.getGridProxy();
|
||||
return this.gridProxy;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -63,45 +63,41 @@ public abstract class AENetworkInvTile extends AEBaseInvTile implements IActionH
|
||||
@Override
|
||||
public IGridNode getGridNode( final ForgeDirection dir )
|
||||
{
|
||||
return this.getGridProxy().getNode();
|
||||
return this.getProxy().getNode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload()
|
||||
{
|
||||
super.onChunkUnload();
|
||||
this.getGridProxy().onChunkUnload();
|
||||
this.getProxy().onChunkUnload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReady()
|
||||
{
|
||||
super.onReady();
|
||||
this.getGridProxy().onReady();
|
||||
this.getProxy().onReady();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate()
|
||||
{
|
||||
super.invalidate();
|
||||
this.getGridProxy().invalidate();
|
||||
this.getProxy().invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validate()
|
||||
{
|
||||
super.validate();
|
||||
this.getGridProxy().validate();
|
||||
this.getProxy().validate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IGridNode getActionableNode()
|
||||
{
|
||||
return this.getGridProxy().getNode();
|
||||
return this.getProxy().getNode();
|
||||
}
|
||||
|
||||
public AENetworkProxy getGridProxy()
|
||||
{
|
||||
return this.gridProxy;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public class AppEngInternalAEInventory implements IInventory, Iterable<ItemStack
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ public class AppEngInternalInventory implements IInventory, Iterable<ItemStack>
|
||||
}
|
||||
catch( final Exception e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ import appeng.util.inv.IInventoryDestination;
|
||||
public class TileInterface extends AENetworkInvTile implements IGridTickable, ITileStorageMonitorable, IStorageMonitorable, IInventoryDestination, IInterfaceHost, IPriorityHost
|
||||
{
|
||||
|
||||
private final DualityInterface duality = new DualityInterface( this.getGridProxy(), this );
|
||||
private final DualityInterface duality = new DualityInterface( this.getProxy(), this );
|
||||
private ForgeDirection pointAt = ForgeDirection.UNKNOWN;
|
||||
|
||||
@MENetworkEventSubscribe
|
||||
@@ -115,7 +115,7 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, IT
|
||||
this.setOrientation( this.pointAt.offsetY != 0 ? ForgeDirection.SOUTH : ForgeDirection.UP, this.pointAt.getOpposite() );
|
||||
}
|
||||
|
||||
this.getGridProxy().setValidSides( EnumSet.complementOf( EnumSet.of( this.pointAt ) ) );
|
||||
this.getProxy().setValidSides( EnumSet.complementOf( EnumSet.of( this.pointAt ) ) );
|
||||
this.markForUpdate();
|
||||
this.markDirty();
|
||||
}
|
||||
@@ -141,7 +141,7 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, IT
|
||||
@Override
|
||||
public void onReady()
|
||||
{
|
||||
this.getGridProxy().setValidSides( EnumSet.complementOf( EnumSet.of( this.pointAt ) ) );
|
||||
this.getProxy().setValidSides( EnumSet.complementOf( EnumSet.of( this.pointAt ) ) );
|
||||
super.onReady();
|
||||
this.duality.initialize();
|
||||
}
|
||||
|
||||
@@ -66,8 +66,8 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
|
||||
|
||||
public TileVibrationChamber()
|
||||
{
|
||||
this.getGridProxy().setIdlePowerUsage( 0 );
|
||||
this.getGridProxy().setFlags();
|
||||
this.getProxy().setIdlePowerUsage( 0 );
|
||||
this.getProxy().setFlags();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -131,7 +131,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
|
||||
{
|
||||
try
|
||||
{
|
||||
this.getGridProxy().getTick().wakeDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().wakeDevice( this.getProxy().getNode() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
@@ -213,7 +213,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
|
||||
|
||||
try
|
||||
{
|
||||
final IEnergyGrid grid = this.getGridProxy().getEnergy();
|
||||
final IEnergyGrid grid = this.getProxy().getEnergy();
|
||||
final double newPower = timePassed * POWER_PER_TICK;
|
||||
final double overFlow = grid.injectPower( newPower, Actionable.SIMULATE );
|
||||
|
||||
@@ -275,7 +275,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
|
||||
{
|
||||
try
|
||||
{
|
||||
this.getGridProxy().getTick().wakeDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().wakeDevice( this.getProxy().getNode() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
|
||||
@@ -60,15 +60,15 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi
|
||||
|
||||
public TileWireless()
|
||||
{
|
||||
this.getGridProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.getGridProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.getProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOrientation( final ForgeDirection inForward, final ForgeDirection inUp )
|
||||
{
|
||||
super.setOrientation( inForward, inUp );
|
||||
this.getGridProxy().setValidSides( EnumSet.of( this.getForward().getOpposite() ) );
|
||||
this.getProxy().setValidSides( EnumSet.of( this.getForward().getOpposite() ) );
|
||||
}
|
||||
|
||||
@MENetworkEventSubscribe
|
||||
@@ -99,12 +99,12 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi
|
||||
|
||||
try
|
||||
{
|
||||
if( this.getGridProxy().getEnergy().isNetworkPowered() )
|
||||
if( this.getProxy().getEnergy().isNetworkPowered() )
|
||||
{
|
||||
this.setClientFlags( this.getClientFlags() | POWERED_FLAG );
|
||||
}
|
||||
|
||||
if( this.getGridProxy().getNode().meetsChannelRequirements() )
|
||||
if( this.getProxy().getNode().meetsChannelRequirements() )
|
||||
{
|
||||
this.setClientFlags( this.getClientFlags() | CHANNEL_FLAG );
|
||||
}
|
||||
@@ -162,7 +162,7 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi
|
||||
|
||||
private void updatePower()
|
||||
{
|
||||
this.getGridProxy().setIdlePowerUsage( AEConfig.instance.wireless_getPowerDrain( this.getBoosters() ) );
|
||||
this.getProxy().setIdlePowerUsage( AEConfig.instance.wireless_getPowerDrain( this.getBoosters() ) );
|
||||
}
|
||||
|
||||
private int getBoosters()
|
||||
@@ -191,7 +191,7 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi
|
||||
return this.isPowered() && ( CHANNEL_FLAG == ( this.getClientFlags() & CHANNEL_FLAG ) );
|
||||
}
|
||||
|
||||
return this.getGridProxy().isActive();
|
||||
return this.getProxy().isActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -199,7 +199,7 @@ public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoi
|
||||
{
|
||||
try
|
||||
{
|
||||
return this.getGridProxy().getGrid();
|
||||
return this.getProxy().getGrid();
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
|
||||
@@ -68,9 +68,9 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
|
||||
public TileQuantumBridge()
|
||||
{
|
||||
this.getGridProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
this.getGridProxy().setFlags( GridFlags.DENSE_CAPACITY );
|
||||
this.getGridProxy().setIdlePowerUsage( 22 );
|
||||
this.getProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
this.getProxy().setFlags( GridFlags.DENSE_CAPACITY );
|
||||
this.getProxy().setIdlePowerUsage( 22 );
|
||||
this.internalInventory.setMaxStackSize( 1 );
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
out |= this.hasSingularity;
|
||||
}
|
||||
|
||||
if( this.getGridProxy().isActive() && this.constructed != -1 )
|
||||
if( this.getProxy().isActive() && this.constructed != -1 )
|
||||
{
|
||||
out |= this.powered;
|
||||
}
|
||||
@@ -177,7 +177,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
{
|
||||
final ItemStack linkStack = maybeLinkStack.get();
|
||||
|
||||
this.getGridProxy().setVisualRepresentation( linkStack );
|
||||
this.getProxy().setVisualRepresentation( linkStack );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
|
||||
if( affectWorld )
|
||||
{
|
||||
this.getGridProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
this.getProxy().setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,11 +235,11 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
|
||||
if( this.isCorner() || this.isCenter() )
|
||||
{
|
||||
this.getGridProxy().setValidSides( this.getConnections() );
|
||||
this.getProxy().setValidSides( this.getConnections() );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.getGridProxy().setValidSides( EnumSet.allOf( ForgeDirection.class ) );
|
||||
this.getProxy().setValidSides( EnumSet.allOf( ForgeDirection.class ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -288,7 +288,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
|
||||
|
||||
try
|
||||
{
|
||||
return this.getGridProxy().getEnergy().isNetworkPowered();
|
||||
return this.getProxy().getEnergy().isNetworkPowered();
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
|
||||
@@ -58,7 +58,7 @@ public class TileSpatialIOPort extends AENetworkInvTile implements IWorldCallabl
|
||||
|
||||
public TileSpatialIOPort()
|
||||
{
|
||||
this.getGridProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
}
|
||||
|
||||
@TileEvent( TileEventType.WORLD_NBT_WRITE )
|
||||
@@ -127,8 +127,8 @@ public class TileSpatialIOPort extends AENetworkInvTile implements IWorldCallabl
|
||||
final ItemStack cell = this.getStackInSlot( 0 );
|
||||
if( this.isSpatialCell( cell ) && this.getStackInSlot( 1 ) == null )
|
||||
{
|
||||
final IGrid gi = this.getGridProxy().getGrid();
|
||||
final IEnergyGrid energy = this.getGridProxy().getEnergy();
|
||||
final IGrid gi = this.getProxy().getGrid();
|
||||
final IEnergyGrid energy = this.getProxy().getEnergy();
|
||||
|
||||
final ISpatialStorageCell sc = (ISpatialStorageCell) cell.getItem();
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
public TileDrive()
|
||||
{
|
||||
this.mySrc = new MachineSource( this );
|
||||
this.getGridProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
}
|
||||
|
||||
@TileEvent( TileEventType.NETWORK_WRITE )
|
||||
@@ -93,7 +93,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
this.state &= 0x24924924; // just keep the blinks...
|
||||
}
|
||||
|
||||
if( this.getGridProxy().isActive() )
|
||||
if( this.getProxy().isActive() )
|
||||
{
|
||||
this.state |= 0x80000000;
|
||||
}
|
||||
@@ -160,7 +160,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
return ( this.state & 0x80000000 ) == 0x80000000;
|
||||
}
|
||||
|
||||
return this.getGridProxy().isActive();
|
||||
return this.getProxy().isActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -205,7 +205,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
|
||||
private void recalculateDisplay()
|
||||
{
|
||||
final boolean currentActive = this.getGridProxy().isActive();
|
||||
final boolean currentActive = this.getProxy().isActive();
|
||||
if( currentActive )
|
||||
{
|
||||
this.state |= 0x80000000;
|
||||
@@ -220,7 +220,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
this.wasActive = currentActive;
|
||||
try
|
||||
{
|
||||
this.getGridProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
this.getProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
@@ -281,9 +281,9 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
|
||||
try
|
||||
{
|
||||
this.getGridProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
this.getProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
|
||||
final IStorageGrid gs = this.getGridProxy().getStorage();
|
||||
final IStorageGrid gs = this.getProxy().getStorage();
|
||||
Platform.postChanges( gs, removed, added, this.mySrc );
|
||||
}
|
||||
catch( final GridAccessException ignored )
|
||||
@@ -349,7 +349,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
}
|
||||
}
|
||||
|
||||
this.getGridProxy().setIdlePowerUsage( power );
|
||||
this.getProxy().setIdlePowerUsage( power );
|
||||
|
||||
this.isCached = true;
|
||||
}
|
||||
@@ -365,7 +365,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
@Override
|
||||
public List<IMEInventoryHandler> getCellArray( final StorageChannel channel )
|
||||
{
|
||||
if( this.getGridProxy().isActive() )
|
||||
if( this.getProxy().isActive() )
|
||||
{
|
||||
this.updateState();
|
||||
return (List) ( channel == StorageChannel.ITEMS ? this.items : this.fluids );
|
||||
@@ -390,7 +390,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
|
||||
|
||||
try
|
||||
{
|
||||
this.getGridProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
this.getProxy().getGrid().postEvent( new MENetworkCellArrayUpdate() );
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
{
|
||||
|
||||
@@ -106,7 +106,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
||||
@Reflected
|
||||
public TileIOPort()
|
||||
{
|
||||
this.getGridProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
|
||||
this.manager = new ConfigManager( this );
|
||||
this.manager.registerSetting( Settings.REDSTONE_CONTROLLED, RedstoneMode.IGNORE );
|
||||
this.manager.registerSetting( Settings.FULLNESS_MODE, FullnessMode.EMPTY );
|
||||
@@ -158,11 +158,11 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
||||
{
|
||||
if( this.hasWork() )
|
||||
{
|
||||
this.getGridProxy().getTick().wakeDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().wakeDevice( this.getProxy().getNode() );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.getGridProxy().getTick().sleepDevice( this.getGridProxy().getNode() );
|
||||
this.getProxy().getTick().sleepDevice( this.getProxy().getNode() );
|
||||
}
|
||||
}
|
||||
catch( final GridAccessException e )
|
||||
@@ -313,7 +313,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
||||
@Override
|
||||
public TickRateModulation tickingRequest( final IGridNode node, final int ticksSinceLastCall )
|
||||
{
|
||||
if( !this.getGridProxy().isActive() )
|
||||
if( !this.getProxy().isActive() )
|
||||
{
|
||||
return TickRateModulation.IDLE;
|
||||
}
|
||||
@@ -335,9 +335,9 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
||||
|
||||
try
|
||||
{
|
||||
final IMEInventory<IAEItemStack> itemNet = this.getGridProxy().getStorage().getItemInventory();
|
||||
final IMEInventory<IAEFluidStack> fluidNet = this.getGridProxy().getStorage().getFluidInventory();
|
||||
final IEnergySource energy = this.getGridProxy().getEnergy();
|
||||
final IMEInventory<IAEItemStack> itemNet = this.getProxy().getStorage().getItemInventory();
|
||||
final IMEInventory<IAEFluidStack> fluidNet = this.getProxy().getStorage().getFluidInventory();
|
||||
final IEnergySource energy = this.getProxy().getEnergy();
|
||||
for( int x = 0; x < 6; x++ )
|
||||
{
|
||||
final ItemStack is = this.cells.getStackInSlot( x );
|
||||
|
||||
@@ -113,7 +113,7 @@ public class ClassInstantiation<T>
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public final class ConfigManager implements IConfigManager
|
||||
}
|
||||
catch( final IllegalArgumentException e )
|
||||
{
|
||||
AELog.error( e );
|
||||
AELog.debug( e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -576,8 +576,8 @@ public class Platform
|
||||
}
|
||||
catch( final Throwable z )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.error( z );
|
||||
AELog.debug( t );
|
||||
AELog.debug( z );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -589,7 +589,7 @@ public class Platform
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
|
||||
return new ArrayList<NBTBase>();
|
||||
@@ -2010,7 +2010,7 @@ public class Platform
|
||||
}
|
||||
catch( final Throwable t )
|
||||
{
|
||||
AELog.error( t );
|
||||
AELog.debug( t );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
//Blocks
|
||||
tile.appliedenergistics2.BlockCableBus.name=AE2-Kabel und/oder Bus
|
||||
tile.appliedenergistics2.BlockCellWorkbench.name=Speicherzellenwerkbank
|
||||
tile.appliedenergistics2.BlockCharger.name=Ladegerät
|
||||
@@ -50,12 +51,36 @@ tile.appliedenergistics2.BlockCraftingAccelerator.name=Fertigungs-Prozessoreinhe
|
||||
tile.appliedenergistics2.BlockCraftingUnit.name=Fertigungseinheit
|
||||
tile.appliedenergistics2.BlockMolecularAssembler.name=Molekularassembler
|
||||
|
||||
// Stairs
|
||||
tile.appliedenergistics2.ChiseledQuartzStairBlock.name=Gemeißelte Certusquartztreppe
|
||||
tile.appliedenergistics2.FluixStairBlock.name=Fluixtreppe
|
||||
tile.appliedenergistics2.QuartzPillarStairBlock.name=Certusquartzsäulentreppe
|
||||
tile.appliedenergistics2.QuartzStairBlock.name=Certusquartztreppe
|
||||
tile.appliedenergistics2.SkyStoneBlockStairBlock.name=Himmelssteinblocktreppe
|
||||
tile.appliedenergistics2.SkyStoneBrickStairBlock.name=Himmelssteinziegeltreppe
|
||||
tile.appliedenergistics2.SkyStoneSmallBrickStairBlock.name=Himmelssteinkleinziegeltreppe
|
||||
tile.appliedenergistics2.SkyStoneStairBlock.name=Himmelssteintreppe
|
||||
|
||||
// Slabs
|
||||
tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=Gemeißelte Certusquartzstufe
|
||||
tile.appliedenergistics2.FluixSlabBlock.name=Fluixstufe
|
||||
tile.appliedenergistics2.QuartzPillarSlabBlock.name=Certusquartzsäulenstufe
|
||||
tile.appliedenergistics2.QuartzSlabBlock.name=Certusquartzstufe
|
||||
tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=Himmelssteinblockstufe
|
||||
tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=Himmelssteinziegelstufe
|
||||
tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=Himmelssteinkleinziegelstufe
|
||||
tile.appliedenergistics2.SkyStoneSlabBlock.name=Himmelssteinstufe
|
||||
|
||||
// Chat Messages
|
||||
chat.appliedenergistics2.ChestCannotReadStorageCell=ME-Truhe kann die Speicherzelle nicht einlesen.
|
||||
chat.appliedenergistics2.SettingCleared=Einstellung gelöscht.
|
||||
chat.appliedenergistics2.OutOfRange=Drahtloser Zugangspunkt außer Reichweite.
|
||||
chat.appliedenergistics2.InvalidMachine=Ungültige Maschine.
|
||||
chat.appliedenergistics2.LoadedSettings=Einstellungen erfolgreich geladen.
|
||||
chat.appliedenergistics2.DeviceNotPowered=Gerät hat zu wenig Energie
|
||||
chat.appliedenergistics2.DeviceNotWirelessTerminal=Gerät ist keine Drahtloskonsole.
|
||||
chat.appliedenergistics2.DeviceNotLinked=Gerät ist nicht verbunden.
|
||||
chat.appliedenergistics2.StationCanNotBeLocated=Station kann nicht lokalisiert werden.
|
||||
chat.appliedenergistics2.MachineNotPowered=Maschine bekommt keine Energie.
|
||||
chat.appliedenergistics2.CommunicationError=Fehler beim Kommunizieren mit dem Netzwerk.
|
||||
chat.appliedenergistics2.SavedSettings=Einstellungen erfolgreich gespeichert.
|
||||
@@ -63,9 +88,11 @@ chat.appliedenergistics2.AmmoDepleted=Munition verbraucht.
|
||||
chat.appliedenergistics2.isNowLocked=Monitor ist nun gesperrt.
|
||||
chat.appliedenergistics2.isNowUnlocked=Monitor ist nun entsperrt.
|
||||
|
||||
// Creative Tabs
|
||||
itemGroup.appliedenergistics2=Applied Energistics 2
|
||||
itemGroup.appliedenergistics2.facades=Applied Energistics 2 - Fassaden
|
||||
|
||||
// GUI
|
||||
gui.appliedenergistics2.CraftingTerminal=Fertigungskonsole
|
||||
gui.appliedenergistics2.METunnel=ME
|
||||
gui.appliedenergistics2.ItemTunnel=Item
|
||||
@@ -74,6 +101,8 @@ gui.appliedenergistics2.RedstoneTunnel=Redstone
|
||||
gui.appliedenergistics2.EUTunnel=EU
|
||||
gui.appliedenergistics2.RFTunnel=RF
|
||||
gui.appliedenergistics2.LightTunnel=Licht
|
||||
gui.appliedenergistics2.OCTunnel=OpenComputers
|
||||
gui.appliedenergistics2.PressureTunnel=Druck
|
||||
|
||||
gui.appliedenergistics2.security.extract.name=Extrahieren
|
||||
gui.appliedenergistics2.security.inject.name=Deponieren
|
||||
@@ -148,6 +177,9 @@ gui.appliedenergistics2.Crafts=Fertigt
|
||||
gui.appliedenergistics2.And=und
|
||||
gui.appliedenergistics2.Creates=Kreiert
|
||||
gui.appliedenergistics2.With=mit
|
||||
gui.appliedenergistics2.Substitute=Nutze Substitution:
|
||||
gui.appliedenergistics2.Yes=Ja
|
||||
gui.appliedenergistics2.No=Nein
|
||||
gui.appliedenergistics2.InWorldCrafting=AE2 In-Welt-Fertigung
|
||||
gui.appliedenergistics2.inWorldFluix=Wirf 1 Geladenes Certusquarzstück + 1 Netherquarz + Redstone-Staub nebeneinander in eine Pfütze und warte einen Moment.
|
||||
gui.appliedenergistics2.inWorldPurificationCertus=Wirf einen Certusquarzkeim, gemacht aus Certusquarzstaub und Sand, in eine Pfütze Wasser; um den Prozess zu beschleunigen, füge Kristallwachstumsbeschleuniger hinzu.
|
||||
@@ -195,11 +227,16 @@ gui.appliedenergistics2.Excluded=Ausschließlich
|
||||
gui.appliedenergistics2.Partitioned=Partitioniert
|
||||
gui.appliedenergistics2.Precise=Präzise
|
||||
gui.appliedenergistics2.Fuzzy=Ungenau
|
||||
gui.appliedenergistics2.SmallFontCraft=Craft
|
||||
gui.appliedenergistics2.LargeFontCraft=+
|
||||
gui.appliedenergistics2.Nothing=Nichts
|
||||
|
||||
// GUI Tooltips
|
||||
gui.tooltips.appliedenergistics2.Stash=Items lagern
|
||||
gui.tooltips.appliedenergistics2.StashDesc=Items aus dem Fertigungsgitter in Netzwerkspeicher zurücksenden.
|
||||
gui.tooltips.appliedenergistics2.Substitutions=Ore-Dict-Ersetzung
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDesc=Ersetzungsoptionen für Eingangskomponenten ändern
|
||||
gui.tooltips.appliedenergistics2.Substitutions=Ore-Dict-Substitution
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDescEnabled=Erlaube Substitution der Eingangskomponenten.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDescDisabled=Verbiete Substitution der Eingangskomponenten.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOn=Ersetzung aktiviert
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOff=Ersetzung deaktiviert
|
||||
gui.tooltips.appliedenergistics2.Encode=Schablone kodieren
|
||||
@@ -277,13 +314,24 @@ gui.tooltips.appliedenergistics2.EmitWhenCrafting=Stoße Redstone-Signal aus, w
|
||||
gui.tooltips.appliedenergistics2.ReportInaccessibleItems=Melde unerreichbare Items
|
||||
gui.tooltips.appliedenergistics2.ReportInaccessibleItemsYes=Ja: Items, die nicht extrahiert werden können, werden sichtbar.
|
||||
gui.tooltips.appliedenergistics2.ReportInaccessibleItemsNo=Nein: Nur extrahierbare Items werden sichtbar.
|
||||
gui.tooltips.appliedenergistics2.BlockPlacement=Blockplatzierung
|
||||
gui.tooltips.appliedenergistics2.BlockPlacementYes=Block wird als Block plaziert.
|
||||
gui.tooltips.appliedenergistics2.BlockPlacementNo=Block wird als Item plaziert.
|
||||
gui.tooltips.appliedenergistics2.SchedulingMode=Planungsmodus
|
||||
gui.tooltips.appliedenergistics2.SchedulingModeDefault=Exportiere das erste Item bis das Netzwerk leer ist, probiere dann das nächste Item.
|
||||
gui.tooltips.appliedenergistics2.SchedulingModeRoundRobin=Exportiere im Round-Robin-Modus.
|
||||
gui.tooltips.appliedenergistics2.SchedulingModeRandom=Exportiere im Zufallsmodus.
|
||||
gui.tooltips.appliedenergistics2.ItemsStored=Items gespeichert: %s
|
||||
gui.tooltips.appliedenergistics2.ItemsRequestable=Anfragbare Items: %s
|
||||
|
||||
// Units
|
||||
gui.appliedenergistics2.units.appliedenergstics=AE
|
||||
gui.appliedenergistics2.units.ic2=Energy Units
|
||||
gui.appliedenergistics2.units.mekanism=Joules
|
||||
gui.appliedenergistics2.units.rotarycraft=Watt
|
||||
gui.appliedenergistics2.units.thermalexpansion=Redstone Flux
|
||||
|
||||
// Colors
|
||||
gui.appliedenergistics2.White=Weiß
|
||||
gui.appliedenergistics2.Orange=Orange
|
||||
gui.appliedenergistics2.Magenta=Magenta
|
||||
@@ -302,6 +350,8 @@ gui.appliedenergistics2.Red=Rot
|
||||
gui.appliedenergistics2.Black=Schwarz
|
||||
gui.appliedenergistics2.Fluix=Fluix
|
||||
|
||||
// Waila
|
||||
waila.appliedenergistics2.Crafting=Fertigung
|
||||
waila.appliedenergistics2.DeviceOnline=Gerät Online
|
||||
waila.appliedenergistics2.DeviceOffline=Gerät Offline
|
||||
waila.appliedenergistics2.DeviceMissingChannel=Gerät ohne Kanal
|
||||
@@ -311,6 +361,7 @@ waila.appliedenergistics2.Showing=Zeigt
|
||||
waila.appliedenergistics2.Contains=Enthält
|
||||
waila.appliedenergistics2.Channels=%1$d von %2$d Kanälen
|
||||
|
||||
// Items
|
||||
item.appliedenergistics2.ItemBasicStorageCell.1k.name=1k-ME-Speicherzelle
|
||||
item.appliedenergistics2.ItemBasicStorageCell.4k.name=4k-ME-Speicherzelle
|
||||
item.appliedenergistics2.ItemBasicStorageCell.16k.name=16k-ME-Speicherzelle
|
||||
@@ -334,9 +385,9 @@ item.appliedenergistics2.ItemMaterial.CardFuzzy.name=Ungenauigkeitskarte
|
||||
item.appliedenergistics2.ItemMaterial.CardInverter.name=Umkehrungskarte
|
||||
item.appliedenergistics2.ItemMaterial.CardRedstone.name=Redstone-Karte
|
||||
item.appliedenergistics2.ItemMaterial.CardSpeed.name=Beschleunigungskarte
|
||||
item.appliedenergistics2.ItemMaterial.Cell2SpatialPart.name=2³ Spatial Component
|
||||
item.appliedenergistics2.ItemMaterial.Cell16SpatialPart.name=16³ Spatial Component
|
||||
item.appliedenergistics2.ItemMaterial.Cell128SpatialPart.name=128³ Spatial Component
|
||||
item.appliedenergistics2.ItemMaterial.Cell2SpatialPart.name=2³ Raumkomponente
|
||||
item.appliedenergistics2.ItemMaterial.Cell16SpatialPart.name=16³ Raumkomponente
|
||||
item.appliedenergistics2.ItemMaterial.Cell128SpatialPart.name=128³ Raumkomponente
|
||||
item.appliedenergistics2.ItemMaterial.Cell1kPart.name=1k-ME-Speicherkomponente
|
||||
item.appliedenergistics2.ItemMaterial.Cell4kPart.name=4k-ME-Speicherkomponente
|
||||
item.appliedenergistics2.ItemMaterial.Cell16kPart.name=16k-ME-Speicherkomponente
|
||||
@@ -381,6 +432,7 @@ item.appliedenergistics2.ItemMaterial.SkyDust.name=Himmelssteinstaub
|
||||
item.appliedenergistics2.ItemMaterial.CardCrafting.name=Fertigungskarte
|
||||
|
||||
item.appliedenergistics2.ItemPart.AnnihilationPlane.name=ME-Annihilationsfeld
|
||||
item.appliedenergistics2.ItemPart.IdentityAnnihilationPlane.name=ME-Identitätsannihilationsfelds
|
||||
item.appliedenergistics2.ItemPart.CableAnchor.name=Kabelanker
|
||||
item.appliedenergistics2.ItemPart.CableCovered.name=Verdecktes ME-Kabel
|
||||
item.appliedenergistics2.ItemPart.CableGlass.name=ME-Glaskabel
|
||||
@@ -406,6 +458,7 @@ item.appliedenergistics2.ItemPart.InvertedToggleBus.name=Invertierter schaltbare
|
||||
item.appliedenergistics2.ItemPart.ToggleBus.name=Schaltbarer ME-Bus
|
||||
item.appliedenergistics2.ItemPart.CraftingMonitor.name=ME-Fertigungsmonitor
|
||||
item.appliedenergistics2.ItemPart.InterfaceTerminal.name=ME-Schnittstellenkonsole
|
||||
item.appliedenergistics2.ItemPart.InvalidType.name=Deaktiviertes Item
|
||||
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.128Cubed.name=128³-Raumspeicherzelle
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.16Cubed.name=16³-Raumspeicherzelle
|
||||
@@ -441,9 +494,67 @@ item.appliedenergistics2.ToolBiometricCard.name=Biometriekarte
|
||||
item.appliedenergistics2.ToolDebugCard.name=Dev.Debug-Karte
|
||||
item.appliedenergistics2.ToolReplicatorCard.name=Dev.Replikator-Karte
|
||||
|
||||
// Commands
|
||||
commands.ae2.usage=Befehle verfügbar in Applied Energistics 2 - Verwende '/ae2 list' für eine Liste und '/ae2 help _____' für Hilfe zu einem Befehl.
|
||||
commands.ae2.permissions=Du hast nicht die erforderlichen Berechtigungen, um diesen Befehl auszuführen.
|
||||
commands.ae2.ChunkLogger=Schalted das Berichten von Chunk-Loading und Chunk-Unloading im Server-log um. ( OP )
|
||||
commands.ae2.ChunkLoggerOn=Chunk Logging ist nun aktiviert
|
||||
commands.ae2.ChunkLoggerOff=Chunk Logging is nun deaktiviert
|
||||
commands.ae2.ChunkLoggerOn=Chunk Logging ist aktiviert
|
||||
commands.ae2.ChunkLoggerOff=Chunk Logging ist deaktiviert
|
||||
commands.ae2.Supporters=Zeigt eine Liste aller AE2-Unterstützer
|
||||
|
||||
// Achievements
|
||||
achievement.ae2.Compass=Meteoritenjäger
|
||||
achievement.ae2.Compass.desc=Fertige einen Meteoritenkompass
|
||||
achievement.ae2.Presses=Unbekannte Technologie
|
||||
achievement.ae2.Presses.desc=Finde eine Prozessorenpresse
|
||||
achievement.ae2.SpatialIO=Raumkoordinaten
|
||||
achievement.ae2.SpatialIO.desc=Fertige einen IO-Raumport
|
||||
achievement.ae2.SpatialIOExplorer=To boldly go
|
||||
achievement.ae2.SpatialIOExplorer.desc=Werde in einer Raumspeicherzelle gespeichert
|
||||
achievement.ae2.StorageCell=Besser als Truhen
|
||||
achievement.ae2.StorageCell.desc=Fertige eine Speicherzelle
|
||||
achievement.ae2.IOPort=Fertigungszellenshuffle
|
||||
achievement.ae2.IOPort.desc=Fertige einen ME-IO-Port
|
||||
achievement.ae2.CraftingTerminal=Eine (viel) größere Bank
|
||||
achievement.ae2.CraftingTerminal.desc=Fertige eine Fertigungskonsole
|
||||
achievement.ae2.PatternTerminal=Crafting Maestro
|
||||
achievement.ae2.PatternTerminal.desc=Fertige eine Schablonenkonsole
|
||||
achievement.ae2.ChargedQuartz=Schockierend
|
||||
achievement.ae2.ChargedQuartz.desc=Finde geladenen Certusquartz
|
||||
achievement.ae2.Fluix=Unnatürlich
|
||||
achievement.ae2.Fluix.desc=Stelle Fluixkristalle her
|
||||
achievement.ae2.Charger=Fluixproduktion
|
||||
achievement.ae2.Charger.desc=Fertige ein Ladegerät
|
||||
achievement.ae2.CrystalGrowthAccelerator=Beschleuniger ist eine Untertreibung
|
||||
achievement.ae2.CrystalGrowthAccelerator.desc=Fertige einen Kristallwachstumsbeschleuniger
|
||||
achievement.ae2.GlassCable=Fluix-Energie-Verbingung
|
||||
achievement.ae2.GlassCable.desc=Fertige ME-Glaskabel
|
||||
achievement.ae2.Networking1=Netzwerklehrling
|
||||
achievement.ae2.Networking1.desc=Erreiche 8 Kanäle mit Geräten in einem Netzwerk
|
||||
achievement.ae2.Controller=Netzwerkzentrale
|
||||
achievement.ae2.Controller.desc=Fertige einen ME-Controller
|
||||
achievement.ae2.Networking2=Netzwerkingeneur
|
||||
achievement.ae2.Networking2.desc=Erreiche 128 Kanäle mit Geräten in einem Netzwerk
|
||||
achievement.ae2.Networking3=Netzwerkadministrator
|
||||
achievement.ae2.Networking3.desc=Erreiche 2048 Kanäle mit Geräten in einem Netzwerk
|
||||
achievement.ae2.P2P=Punkt-zu-Punkt-Verbindung
|
||||
achievement.ae2.P2P.desc=Fertige einen P2P-Tunnel
|
||||
achievement.ae2.Recursive=Rekursives Netzwerken
|
||||
achievement.ae2.Recursive.desc=Platziere eine ME-Schnittstelle auf einen Speicherbus
|
||||
achievement.ae2.CraftingCPU=NextGen-Fertigung
|
||||
achievement.ae2.CraftingCPU.desc=Fertige eine Fertigungs-CPU
|
||||
achievement.ae2.Facade=Netzwerkästhetik
|
||||
achievement.ae2.Facade.desc=Fertige eine Kabelfassade
|
||||
achievement.ae2.NetworkTool=Netzwerkdiagnose
|
||||
achievement.ae2.NetworkTool.desc=Fertige eine Netzwerksonde
|
||||
achievement.ae2.PortableCell=Speichernomade
|
||||
achievement.ae2.PortableCell.desc=Fertige eine Tragbare Zelle
|
||||
achievement.ae2.StorageBus=Uneingeschränktes Potential
|
||||
achievement.ae2.StorageBus.desc=Fertige einen Speicherbus
|
||||
achievement.ae2.QNB=Quantum Tunneling
|
||||
achievement.ae2.QNB.desc=Fertige einen Quantenlink
|
||||
|
||||
// Stats
|
||||
stat.ae2.ItemsInserted=Items zu ME Speicher hinzugefügt
|
||||
stat.ae2.ItemsExtracted=Items aus ME Speicher entfernt
|
||||
stat.ae2.TurnedCranks=Runden gekurbelt
|
||||
|
||||
@@ -177,7 +177,10 @@ gui.appliedenergistics2.Crafts=Fabrications
|
||||
gui.appliedenergistics2.And=et
|
||||
gui.appliedenergistics2.Creates=Crée
|
||||
gui.appliedenergistics2.With=avec
|
||||
gui.appliedenergistics2.InWorldCrafting=AE2 dans le monde
|
||||
gui.appliedenergistics2.Substitute=Utilisation de remplacements :
|
||||
gui.appliedenergistics2.Yes=Oui
|
||||
gui.appliedenergistics2.No=Non
|
||||
gui.appliedenergistics2.InWorldCrafting=Fabrications AE2 dans le monde
|
||||
gui.appliedenergistics2.inWorldFluix=Jetez 1 Quartz Certus chargé + 1 Quartz du Nether + poudre de Redstone dans une flaque tous ensemble et attendez un moment pour recevoir 2 Cristaux de Fluix.
|
||||
gui.appliedenergistics2.inWorldPurificationCertus=Jetez une graine de Quartz Certus faite a partir de la poudre de Quartz Certus et de sable dans une flaque d'eau. Pour accélerer le processus, ajoutez des accélérateurs de croissance de cristal.
|
||||
gui.appliedenergistics2.inWorldPurificationNether=Jetez une graine de Quartz du Nether faite a partir de la poudre de Quartz du Nether et de sable dans une flaque d'eau. Pour accélerer le processus, ajoutez des accélérateurs de croissance de cristal.
|
||||
@@ -185,8 +188,9 @@ gui.appliedenergistics2.inWorldPurificationFluix=Jetez une graine de Fluix faite
|
||||
gui.appliedenergistics2.inWorldSingularity=Pour la créer, jetez 1 Singularité et 1 poudre d'Ender puis provoquez une explosion à proximité des éléments.
|
||||
gui.appliedenergistics2.ChargedQuartz=Un Quartz Certus chargé est obtenu en insérant un cristal de Quartz Certus dans le chargeur, puis en l'alimentant.
|
||||
gui.appliedenergistics2.ChargedQuartzFind=Le Quartz Certus chargé peut-être trouvé dans le monde assez rarement. Il parait identique au Quartz Certus normal sauf qu'il clignote.
|
||||
gui.appliedenergistics2.OfSecondOutput=%1$d%% Chance pour une sortie secondaire.
|
||||
gui.appliedenergistics2.NoSecondOutput=Pas de sortie secondaire
|
||||
gui.appliedenergistics2.OfSecondOutput=%1$d%% Chance pour une sortie secondaire.
|
||||
gui.appliedenergistics2.MultipleOutputs=%1$d%% une secondaire, %2$d%% une sortie tertiaire.
|
||||
gui.appliedenergistics2.SelectAmount=Sélectionnez la quantité
|
||||
gui.appliedenergistics2.CopyMode=Mode copie
|
||||
gui.appliedenergistics2.CopyModeDesc=Contrôle si le contenu du panneau de configuration est vidé quand vous retirez la cellule.
|
||||
@@ -233,7 +237,8 @@ gui.appliedenergistics2.Nothing=Rien
|
||||
gui.tooltips.appliedenergistics2.Stash=Stocke des objets
|
||||
gui.tooltips.appliedenergistics2.StashDesc=Renvoie les objets de la grille de fabrication dans le réseau.
|
||||
gui.tooltips.appliedenergistics2.Substitutions=Remplacements du Ore-Dictionnary
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDesc=Editez les options de remplacement pour les composants en entrée.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDescEnabled=Autorise le remplacement des composants en entrée.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDescDisabled=Empêche le remplacement des composants en entrée.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOn=Remplacements activés
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOff=Remplacements désactivés
|
||||
gui.tooltips.appliedenergistics2.Encode=Encoder un modèle
|
||||
|
||||
@@ -80,7 +80,7 @@ chat.appliedenergistics2.InvalidMachine=Érvénytelen gép.
|
||||
chat.appliedenergistics2.LoadedSettings=Beállítások sikeresen beolvasva.
|
||||
chat.appliedenergistics2.DeviceNotPowered=A készülékenergia szintje alacsony.
|
||||
chat.appliedenergistics2.DeviceNotWirelessTerminal=A készülék nem egy Vezetéknélküli Terminál.
|
||||
chat.appliedenergistics2.DeviceNotLinked=Az eszköz nem összekötve.
|
||||
chat.appliedenergistics2.DeviceNotLinked=Az eszköz nincs összekötve.
|
||||
chat.appliedenergistics2.SavedSettings=Beállítások sikeresen elmentve.
|
||||
chat.appliedenergistics2.MachineNotPowered=A gép nem kap energiát.
|
||||
chat.appliedenergistics2.CommunicationError=Hiba a hálózattal való kommunikáció közben.
|
||||
@@ -139,7 +139,7 @@ gui.appliedenergistics2.PortableCell=Szállítható Cella
|
||||
gui.appliedenergistics2.Security=Biztonsági Szabályzat
|
||||
gui.appliedenergistics2.CellWorkbench=Cella Munkaasztal
|
||||
gui.appliedenergistics2.QuantumLinkChamber=Kvantum összekötő kamra
|
||||
gui.appliedenergistics2.IOPort=ME Be/Ki Port
|
||||
gui.appliedenergistics2.IOPort=ME IO Port
|
||||
gui.appliedenergistics2.Chest=ME Láda
|
||||
gui.appliedenergistics2.Condenser=Anyag Sűrítő
|
||||
gui.appliedenergistics2.Config=Konfiguráció
|
||||
@@ -149,7 +149,7 @@ gui.appliedenergistics2.GrindStone=Daráló
|
||||
gui.appliedenergistics2.ImportBus=ME Import Busz
|
||||
gui.appliedenergistics2.Interface=ME Interfész
|
||||
gui.appliedenergistics2.LevelEmitter=ME Szint Kibocsátó
|
||||
gui.appliedenergistics2.Of=-ból
|
||||
gui.appliedenergistics2.Of=-ból/-ből
|
||||
gui.appliedenergistics2.Patterns=Minták
|
||||
gui.appliedenergistics2.SpatialIOPort=Tér-IO Port
|
||||
gui.appliedenergistics2.StoredEnergy=Tárolt Energia
|
||||
@@ -176,8 +176,8 @@ gui.appliedenergistics2.MolecularAssembler=Molekuláris Összeállító
|
||||
gui.appliedenergistics2.ProcessingPattern=Feldolgozó Minta
|
||||
gui.appliedenergistics2.Crafts=Barkácsol
|
||||
gui.appliedenergistics2.And=és
|
||||
gui.appliedenergistics2.Creates=Készít
|
||||
gui.appliedenergistics2.With=-val/-vel
|
||||
gui.appliedenergistics2.Creates=Amít készít
|
||||
gui.appliedenergistics2.With=Az alábbiakkal
|
||||
gui.appliedenergistics2.Substitute=Pótlékokat használ:
|
||||
gui.appliedenergistics2.Yes=Igen
|
||||
gui.appliedenergistics2.No=Nem
|
||||
@@ -201,7 +201,7 @@ gui.appliedenergistics2.Empty=Üres
|
||||
gui.appliedenergistics2.Stored=Tárolva
|
||||
gui.appliedenergistics2.Cancel=Mégse
|
||||
gui.appliedenergistics2.ETAFormat=HH:mm:ss
|
||||
gui.appliedenergistics2.Crafting=Barkácsolás
|
||||
gui.appliedenergistics2.Crafting=Barkácsolás alatt
|
||||
gui.appliedenergistics2.Scheduled=Ütemezett
|
||||
gui.appliedenergistics2.CraftingStatus=Barkácsolási Státusz
|
||||
gui.appliedenergistics2.FromStorage=Rendelkezésre áll
|
||||
@@ -229,7 +229,7 @@ gui.appliedenergistics2.Included=Tartalmazott
|
||||
gui.appliedenergistics2.Excluded=Kihagyott
|
||||
gui.appliedenergistics2.Partitioned=Particionált
|
||||
gui.appliedenergistics2.Precise=Precíz
|
||||
gui.appliedenergistics2.Fuzzy=Homályos
|
||||
gui.appliedenergistics2.Fuzzy=Megkülönböztető
|
||||
gui.appliedenergistics2.SmallFontCraft=Barkács
|
||||
gui.appliedenergistics2.LargeFontCraft=+
|
||||
gui.appliedenergistics2.Nothing=Semmi
|
||||
@@ -244,25 +244,25 @@ gui.tooltips.appliedenergistics2.SubstitutionsOn=Pótlékok engedélyezve.
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOff=Pótlékok tiltva.
|
||||
gui.tooltips.appliedenergistics2.Encode=Minta kódolása
|
||||
gui.tooltips.appliedenergistics2.EncodeDescription=A betáplált minta jelenlegi Kódolt Mintára, vagy elérhető Üres Mintára írása.
|
||||
gui.tooltips.appliedenergistics2.FuzzyMode=Homályos összehasonlítás
|
||||
gui.tooltips.appliedenergistics2.FuzzyMode=Megkülönböztető összehasonlítás
|
||||
gui.tooltips.appliedenergistics2.FZPercent_25=25% sérülésnél való elválasztás
|
||||
gui.tooltips.appliedenergistics2.FZPercent_50=50% sérülésnél való elválasztás
|
||||
gui.tooltips.appliedenergistics2.FZPercent_75=75% sérülésnél való elválasztás
|
||||
gui.tooltips.appliedenergistics2.FZPercent_99=99% sérülésnél való elválasztás
|
||||
gui.tooltips.appliedenergistics2.SortOrder=Rendezési sorrend
|
||||
gui.tooltips.appliedenergistics2.SortBy=Rendezés ... szerint
|
||||
gui.tooltips.appliedenergistics2.SortOrder=Rendezési irány
|
||||
gui.tooltips.appliedenergistics2.SortBy=Rendezés
|
||||
gui.tooltips.appliedenergistics2.FZIgnoreAll=Akármelyikkel egyező
|
||||
gui.tooltips.appliedenergistics2.TransferDirection=Átviteli irány
|
||||
gui.tooltips.appliedenergistics2.TransferToNetwork=Az adat hálózat felé való átvitele
|
||||
gui.tooltips.appliedenergistics2.TransferToStorageCell=Az adat Taroló Cella felé való átvitele
|
||||
gui.tooltips.appliedenergistics2.ToggleSortDirection=Rendezési irány kapcsolása
|
||||
gui.tooltips.appliedenergistics2.ToggleSortDirection=Rendezés fel/le váltogatása
|
||||
gui.tooltips.appliedenergistics2.StoredItems=Tárolt tárgyak
|
||||
gui.tooltips.appliedenergistics2.StoredCraftable=Tárolt / Barkácsolható
|
||||
gui.tooltips.appliedenergistics2.View=Megtekintés
|
||||
gui.tooltips.appliedenergistics2.StoredCraftable=Tárolt / Barkácsolható tárgyak
|
||||
gui.tooltips.appliedenergistics2.View=Nézett:
|
||||
gui.tooltips.appliedenergistics2.RedstoneMode=Vöröskő Mód
|
||||
gui.tooltips.appliedenergistics2.OperationMode=Művelet Mód
|
||||
gui.tooltips.appliedenergistics2.NumberOfItems=Tárgyak száma
|
||||
gui.tooltips.appliedenergistics2.ItemName=Tárgy neve
|
||||
gui.tooltips.appliedenergistics2.NumberOfItems=Tárgyak száma szerint
|
||||
gui.tooltips.appliedenergistics2.ItemName=Tárgy neve szerint
|
||||
gui.tooltips.appliedenergistics2.PowerUnits=Energia egységek
|
||||
gui.tooltips.appliedenergistics2.IOMode=Bemenet/Kimenet Mód
|
||||
gui.tooltips.appliedenergistics2.CondenserOutput=ME Sűrítő - Kimenet
|
||||
@@ -277,7 +277,7 @@ gui.tooltips.appliedenergistics2.Singularity=Szingularitássá sűrítés \n%s d
|
||||
gui.tooltips.appliedenergistics2.Read=Csak eltávolítás
|
||||
gui.tooltips.appliedenergistics2.Write=Csak behelyezés
|
||||
gui.tooltips.appliedenergistics2.ReadWrite=Két irányú
|
||||
gui.tooltips.appliedenergistics2.AlwaysActive=MIndig aktív
|
||||
gui.tooltips.appliedenergistics2.AlwaysActive=Mindig aktív
|
||||
gui.tooltips.appliedenergistics2.ActiveWithoutSignal=Jel nélkül aktív
|
||||
gui.tooltips.appliedenergistics2.ActiveWithSignal=Jellel aktív
|
||||
gui.tooltips.appliedenergistics2.ActiveOnPulse=Pulzusonként aktív
|
||||
@@ -291,9 +291,9 @@ gui.tooltips.appliedenergistics2.SearchMode=Keresési rublika mód
|
||||
gui.tooltips.appliedenergistics2.PartitionStorageHint=A jelenleg tárolt tárgyak szerint konfigurálja a particiót.
|
||||
gui.tooltips.appliedenergistics2.ClearSettings=Beállítások konfigurálása/törlése
|
||||
gui.tooltips.appliedenergistics2.Craftable=Barkácsolható
|
||||
gui.tooltips.appliedenergistics2.MoveWhenEmpty=Mozgassa a kimenetfelé mikor üres.
|
||||
gui.tooltips.appliedenergistics2.MoveWhenWorkIsDone=Mozgassa a kimenetfelé mikor a feladat kész van.
|
||||
gui.tooltips.appliedenergistics2.MoveWhenFull=Mozgassa a kimenetfelé mikor teli van.
|
||||
gui.tooltips.appliedenergistics2.MoveWhenEmpty=Helyezze a kimenetfelé mikor üres.
|
||||
gui.tooltips.appliedenergistics2.MoveWhenWorkIsDone=Helyezze a kimenetfelé mikor a feladat kész van.
|
||||
gui.tooltips.appliedenergistics2.MoveWhenFull=Helyezze a kimenetfelé mikor megtelt.
|
||||
gui.tooltips.appliedenergistics2.Disabled=Tiltott
|
||||
gui.tooltips.appliedenergistics2.Enable=Engedélyezett
|
||||
gui.tooltips.appliedenergistics2.Blocking=Ne helyezzen barkácsoló tárgyakat a tárolóba ha az tartalmaz tárgyakat.
|
||||
@@ -304,8 +304,8 @@ gui.tooltips.appliedenergistics2.CraftEither=Használjon tárolt tárgyakat, vag
|
||||
gui.tooltips.appliedenergistics2.LevelType=Szint Típus
|
||||
gui.tooltips.appliedenergistics2.LevelType_Energy=Energia
|
||||
gui.tooltips.appliedenergistics2.LevelType_Item=Tárgy
|
||||
gui.tooltips.appliedenergistics2.InventoryTweaks=Inventory Tweaks
|
||||
gui.tooltips.appliedenergistics2.Mod=Mod
|
||||
gui.tooltips.appliedenergistics2.InventoryTweaks=Inventory Tweaks szerint
|
||||
gui.tooltips.appliedenergistics2.Mod=Mod szerint
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle=Terminál Stílus
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle_Full=Teljes képernyős Terminál
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle_Tall=Magas Középreigazított Terminál
|
||||
@@ -360,8 +360,8 @@ waila.appliedenergistics2.DeviceOffline=Eszköz Offline
|
||||
waila.appliedenergistics2.DeviceMissingChannel=Hiányzó Csatorna
|
||||
waila.appliedenergistics2.Locked=Zárolva
|
||||
waila.appliedenergistics2.Unlocked=Feloldva
|
||||
waila.appliedenergistics2.Showing=Mutatni
|
||||
waila.appliedenergistics2.Contains=Tartalmaz
|
||||
waila.appliedenergistics2.Showing=Mutatott tárgy
|
||||
waila.appliedenergistics2.Contains=Energiaszint
|
||||
waila.appliedenergistics2.Channels=%2$d Csatornából %1$d használatban
|
||||
|
||||
// Items
|
||||
@@ -369,7 +369,7 @@ item.appliedenergistics2.ItemBasicStorageCell.1k.name=1k ME Tároló Cella
|
||||
item.appliedenergistics2.ItemBasicStorageCell.4k.name=4k ME Tároló Cella
|
||||
item.appliedenergistics2.ItemBasicStorageCell.16k.name=16k ME Tároló Cella
|
||||
item.appliedenergistics2.ItemBasicStorageCell.64k.name=64k Tároló Cella
|
||||
item.appliedenergistics2.ItemCreativeStorageCell.name=Kreatív ME Tároló Cella
|
||||
item.appliedenergistics2.ItemCreativeStorageCell.name=Kreatív ME Tároló Cella
|
||||
item.appliedenergistics2.ItemEncodedPattern.name=Kódolt Minta
|
||||
item.appliedenergistics2.ItemViewCell.name=Nézet Cella
|
||||
item.appliedenergistics2.ItemFacade.name=Kábel Látszat
|
||||
@@ -384,7 +384,7 @@ item.appliedenergistics2.ItemMaterial.BasicCard.name=Egyszerű Kártya
|
||||
item.appliedenergistics2.ItemMaterial.BlankPattern.name=Üres Minta
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessor.name=Kalkulációs Processzor
|
||||
item.appliedenergistics2.ItemMaterial.CardCapacity.name=Kapacitás Kártya
|
||||
item.appliedenergistics2.ItemMaterial.CardFuzzy.name=Fuzzy Kártya
|
||||
item.appliedenergistics2.ItemMaterial.CardFuzzy.name=Megkülönböztető Kártya
|
||||
item.appliedenergistics2.ItemMaterial.CardInverter.name=Inverter Kártya
|
||||
item.appliedenergistics2.ItemMaterial.CardRedstone.name=Vöröskő Kártya
|
||||
item.appliedenergistics2.ItemMaterial.CardSpeed.name=Gyorsító Kártya
|
||||
@@ -422,9 +422,9 @@ item.appliedenergistics2.ItemMaterial.Singularity.name=Szingularitás
|
||||
item.appliedenergistics2.ItemMaterial.Wireless.name=Vezetéknélküli Fogadó
|
||||
item.appliedenergistics2.ItemMaterial.WirelessBooster.name=Vezetéknélküli Erősítő
|
||||
item.appliedenergistics2.ItemMaterial.WoodenGear.name=Fa fogaskerék
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessorPress.name=Vésett Műszaki Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessorPress.name=Vésett Kalkulációs Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorPress.name=Vésett Logikai Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessorPress.name=Műszaki Processzor Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessorPress.name=Kalkulációs Processzor Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorPress.name=Logikai Processzor Nyomat
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessorPrint.name=Nyomtatott Műszaki Áramkör
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessorPrint.name=Nyomtatott Kalkulációs Áramkör
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorPrint.name=Nyomtatott Logikai Áramkör
|
||||
|
||||
@@ -0,0 +1,476 @@
|
||||
#ja_JP By Tier
|
||||
tile.appliedenergistics2.BlockCableBus.name=AE2ケーブル または バス
|
||||
tile.appliedenergistics2.BlockCellWorkbench.name=セル作業台
|
||||
tile.appliedenergistics2.BlockCharger.name=チャージ機
|
||||
tile.appliedenergistics2.BlockChest.name=MEチェスト
|
||||
tile.appliedenergistics2.BlockCondenser.name=マターコンプレッサ
|
||||
tile.appliedenergistics2.BlockController.name=MEコントローラ
|
||||
tile.appliedenergistics2.BlockCrank.name=木のクランク
|
||||
tile.appliedenergistics2.BlockCreativeEnergyCell.name=クリエイティブ用エナジーセル
|
||||
tile.appliedenergistics2.BlockDenseEnergyCell.name=高密度エネルギーセル
|
||||
tile.appliedenergistics2.BlockEnergyCell.name=エネルギーセル
|
||||
tile.appliedenergistics2.BlockDrive.name=MEドライブ
|
||||
tile.appliedenergistics2.BlockEnergyAcceptor.name=エネルギー受容体
|
||||
tile.appliedenergistics2.BlockGrinder.name=手動粉砕機
|
||||
tile.appliedenergistics2.BlockMatrixFrame.name=配列フレーム
|
||||
tile.appliedenergistics2.BlockIOPort.name=ME入出力ポート
|
||||
tile.appliedenergistics2.BlockInscriber.name=刻印機
|
||||
tile.appliedenergistics2.BlockInterface.name=MEインターフェース
|
||||
tile.appliedenergistics2.BlockNetworkEmitter.name=MEネットワークエミッター
|
||||
tile.appliedenergistics2.BlockQuantumLinkChamber.name=ME量子リンクチャンバー
|
||||
tile.appliedenergistics2.BlockQuantumRing.name=ME量子フィールドリンク
|
||||
tile.appliedenergistics2.BlockFluix.name=フルーシュブロック
|
||||
tile.appliedenergistics2.BlockQuartz.name=ケルタスクォーツブロック
|
||||
tile.appliedenergistics2.BlockQuartzChiseled.name=模様入りケルタスクォーツブロック
|
||||
tile.appliedenergistics2.BlockQuartzGlass.name=クォーツガラス
|
||||
tile.appliedenergistics2.BlockQuartzLamp.name=発光クォーツガラス
|
||||
tile.appliedenergistics2.BlockQuartzPillar.name=柱状ケルタスクォーツブロック
|
||||
tile.appliedenergistics2.BlockQuartzTorch.name=クオーツライト
|
||||
tile.appliedenergistics2.BlockLightDetector.name=レッドシグナルクオーツライト
|
||||
tile.appliedenergistics2.BlockSpatialIOPort.name=空間IOポート
|
||||
tile.appliedenergistics2.BlockSpatialPylon.name=空間送信鉄塔
|
||||
tile.appliedenergistics2.BlockTinyTNT.name=極小TNT
|
||||
tile.appliedenergistics2.BlockVibrationChamber.name=振動チャンバー
|
||||
tile.appliedenergistics2.BlockWireless.name=ME無線アクセスポイント
|
||||
tile.appliedenergistics2.OreQuartz.name=ケルタスクォーツ鉱石
|
||||
tile.appliedenergistics2.OreQuartzCharged.name=チャージケルタスクォーツ鉱石
|
||||
tile.appliedenergistics2.BlockSecurity.name=MEセキュリティターミナル
|
||||
tile.appliedenergistics2.BlockQuartzGrowthAccelerator.name=結晶成長加速機
|
||||
tile.appliedenergistics2.BlockSkyStone.name=スカイストーン
|
||||
tile.appliedenergistics2.BlockSkyStone.Block.name=スカイストーンブロック
|
||||
tile.appliedenergistics2.BlockSkyStone.Brick.name=スカイストーンレンガ
|
||||
tile.appliedenergistics2.BlockSkyStone.SmallBrick.name=スカイストーン小レンガ
|
||||
tile.appliedenergistics2.BlockSkyChest.name=スカイストーンチェスト
|
||||
tile.appliedenergistics2.BlockSkyChest.Block.name=スカイストーンブロックチェスト
|
||||
tile.appliedenergistics2.BlockSkyCompass.name=隕石探知コンパス
|
||||
tile.appliedenergistics2.BlockMolecularAssembler.name=ME分子組立機
|
||||
tile.appliedenergistics2.BlockCraftingMonitor.name=MEクラフティングモニター
|
||||
tile.appliedenergistics2.BlockCraftingStorage.name=1k クラフティングストレージ
|
||||
tile.appliedenergistics2.BlockCraftingStorage4k.name=4k クラフティングストレージ
|
||||
tile.appliedenergistics2.BlockCraftingStorage16k.name=16k クラフティングストレージ
|
||||
tile.appliedenergistics2.BlockCraftingStorage64k.name=64k クラフティングストレージ
|
||||
tile.appliedenergistics2.BlockCraftingAccelerator.name=MEクラフティングCPU
|
||||
tile.appliedenergistics2.BlockCraftingUnit.name=ME分子分子組立室
|
||||
|
||||
chat.appliedenergistics2.ChestCannotReadStorageCell=MEチェストがストレージセルを読み取れませんでした
|
||||
chat.appliedenergistics2.OutOfRange=無線範囲外です
|
||||
chat.appliedenergistics2.InvalidMachine=無効な機械です
|
||||
chat.appliedenergistics2.LoadedSettings=正常に設定を読み込みました
|
||||
chat.appliedenergistics2.DeviceNotPowered=充電してください
|
||||
chat.appliedenergistics2.MachineNotPowered=機械にエネルギーがありません
|
||||
chat.appliedenergistics2.CommunicationError=ネットワークとの通信エラーが発生しました
|
||||
chat.appliedenergistics2.SavedSettings=正常に設定を保存しました
|
||||
chat.appliedenergistics2.AmmoDepleted=弾薬を使い切りました
|
||||
chat.appliedenergistics2.isNowLocked=モニターはロックされています
|
||||
chat.appliedenergistics2.isNowUnlocked=モニターはロックされていません
|
||||
|
||||
itemGroup.appliedenergistics2=Applied Energistics 2
|
||||
itemGroup.appliedenergistics2.facades=Applied Energistics 2 - 偽装板
|
||||
|
||||
gui.appliedenergistics2.Terminal=MEターミナル
|
||||
gui.appliedenergistics2.CraftingTerminal=MEクラフトターミナル
|
||||
gui.appliedenergistics2.METunnel=ME
|
||||
gui.appliedenergistics2.ItemTunnel=アイテム
|
||||
gui.appliedenergistics2.FluidTunnel=液体
|
||||
gui.appliedenergistics2.RedstoneTunnel=レッドストーン
|
||||
gui.appliedenergistics2.MJTunnel=MJ[BuildCraft](マインクラフトジュール)
|
||||
gui.appliedenergistics2.EUTunnel=EU[IndustrialCraft2](エネルギーユニット)
|
||||
gui.appliedenergistics2.RFTunnel=RF[ThermalExpantion](レッドストーンフラックス)
|
||||
|
||||
gui.appliedenergistics2.security.extract.name=引き出す
|
||||
gui.appliedenergistics2.security.inject.name=入れる
|
||||
gui.appliedenergistics2.security.craft.name=クラフト
|
||||
gui.appliedenergistics2.security.build.name=組み立てる
|
||||
gui.appliedenergistics2.security.security.name=セキュリティ
|
||||
|
||||
gui.appliedenergistics2.security.extract.tip=ユーザーはストレージからアイテムを引き出すことが許可されています
|
||||
gui.appliedenergistics2.security.inject.tip=ユーザーはストレージに新しいアイテムを入れることが許可されています
|
||||
gui.appliedenergistics2.security.craft.tip=ユーザーは新しいクラフトを開始することができます
|
||||
gui.appliedenergistics2.security.build.tip=ユーザはネットワークの物理構造を変更し、設定変更を行うことができます
|
||||
gui.appliedenergistics2.security.security.tip=ユーザーはアクセスして、ネットワークのセキュリティターミナルを変更できます
|
||||
|
||||
gui.appliedenergistics2.inWorldCraftingPresses=金型は世界中の中で見つけることができる隕石の中心部に存在し、それらは(全4種)隕石探知コンパスを使用して探すことができます。また刻印機を使い、各種金型をセットして鉄ブロックをセットすると複製することが出来ます。
|
||||
|
||||
|
||||
gui.appliedenergistics2.Efficiency=効率
|
||||
gui.appliedenergistics2.RequiredPower=必要電力
|
||||
gui.appliedenergistics2.StoredPower=貯蔵電力
|
||||
gui.appliedenergistics2.MaxPower=最大電力
|
||||
gui.appliedenergistics2.QuartzCuttingKnife=クォーツナイフ
|
||||
gui.appliedenergistics2.Inscriber=刻印機
|
||||
gui.appliedenergistics2.Wireless=ME無線アクセスポイント
|
||||
gui.appliedenergistics2.WirelessTerminal=ME無線アクセスターミナル
|
||||
gui.appliedenergistics2.NoPermissions=アクセス権が選択されていません
|
||||
gui.appliedenergistics2.SecurityCardEditor=生体認証カードエディタ
|
||||
gui.appliedenergistics2.Encoded=エンコード済
|
||||
gui.appliedenergistics2.Priority=優先度
|
||||
gui.appliedenergistics2.StorageBus=MEストレージバス
|
||||
gui.appliedenergistics2.EnergyDrain=受動排出
|
||||
gui.appliedenergistics2.Installed=インストール済
|
||||
gui.appliedenergistics2.NetworkTool=ネットワークツール
|
||||
gui.appliedenergistics2.PowerUsageRate=エネルギー使用量
|
||||
gui.appliedenergistics2.PowerInputRate=エネルギー入力量
|
||||
gui.appliedenergistics2.PortableCell=ポータブルセル
|
||||
gui.appliedenergistics2.Security=MEセキュリティ
|
||||
gui.appliedenergistics2.CellWorkbench=セル作業台
|
||||
gui.appliedenergistics2.QuantumLinkChamber=量子リンクチャンバー
|
||||
gui.appliedenergistics2.IOPort=ME IOポート
|
||||
gui.appliedenergistics2.Chest=MEチェスト
|
||||
gui.appliedenergistics2.Condenser=マターコンデンサ
|
||||
gui.appliedenergistics2.Config=設定
|
||||
gui.appliedenergistics2.Drive=MEドライブ
|
||||
gui.appliedenergistics2.ExportBus=ME出力バス
|
||||
gui.appliedenergistics2.GrindStone=グラインドストーン
|
||||
gui.appliedenergistics2.ImportBus=ME入力バス
|
||||
gui.appliedenergistics2.Interface=MEインターフェース
|
||||
gui.appliedenergistics2.LevelEmitter=MEレベルエミッター
|
||||
gui.appliedenergistics2.Of=/
|
||||
gui.appliedenergistics2.Patterns=パターン
|
||||
gui.appliedenergistics2.SpatialIOPort=空間IOポート
|
||||
gui.appliedenergistics2.StoredEnergy=貯蔵エネルギー
|
||||
gui.appliedenergistics2.StoredItems=貯蔵アイテム
|
||||
gui.appliedenergistics2.Terminal=MEターミナル
|
||||
gui.appliedenergistics2.FormationPlane=結像面
|
||||
gui.appliedenergistics2.VibrationChamber=振動チャンバー
|
||||
gui.appliedenergistics2.NetworkDetails=ネットワークの詳細
|
||||
gui.appliedenergistics2.StorageCells=MEストレージセル
|
||||
gui.appliedenergistics2.IOBuses=ME入力/出力バス
|
||||
gui.appliedenergistics2.BytesUsed=バイト使用済み
|
||||
gui.appliedenergistics2.Types=タイプ
|
||||
gui.appliedenergistics2.Blank=空
|
||||
gui.appliedenergistics2.Unlinked=リンクされてません
|
||||
gui.appliedenergistics2.Linked=リンクされました
|
||||
gui.appliedenergistics2.StoredSize=格納サイズ
|
||||
gui.appliedenergistics2.SkyChest=スカイストーンチェスト
|
||||
gui.appliedenergistics2.PatternTerminal=MEパターンターミナル
|
||||
gui.appliedenergistics2.CraftingPattern=クラフトパターン
|
||||
gui.appliedenergistics2.MolecularAssembler=分子組立室
|
||||
gui.appliedenergistics2.ProcessingPattern=実行パターン
|
||||
gui.appliedenergistics2.Crafts=クラフト
|
||||
gui.appliedenergistics2.And=と
|
||||
gui.appliedenergistics2.Creates=作成
|
||||
gui.appliedenergistics2.With=で
|
||||
gui.appliedenergistics2.InWorldCrafting=AE2 世界でクラフト
|
||||
gui.appliedenergistics2.inWorldFluix=水たまりに1チャージケルタスクォーツ + 1ネザークォーツ + レッドストーンを落とし、しばらく待ってください
|
||||
gui.appliedenergistics2.inWorldPurification=水源にクォーツの粉と砂からクラフトしたクォーツの種を入れてください。処理を速くするには結晶成長加速機に隣接して水源を設置し、そこにクラフトした種を入れてください
|
||||
gui.appliedenergistics2.inWorldSingularity=作る為には一個のシンギュラリティとエンダーパールの粉を投げ、爆発に巻き込んでください
|
||||
gui.appliedenergistics2.ChargedQuartz=チャージケルタスクォーツは普通のケルタスクォーツをチャージ機にセットし、電力を供給することで作製されます
|
||||
gui.appliedenergistics2.ChargedQuartzFind=チャージケルタスクォーツは輝くことを除いて通常のケルタスクォーツに非常に似ています。見分け方は、青い靄です
|
||||
gui.appliedenergistics2.OfSecondOutput=%%の確率で副産物
|
||||
gui.appliedenergistics2.NoSecondOutput=副産物なし
|
||||
|
||||
gui.tooltips.appliedenergistics2.Substitutions=Ore-辞書の置換
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsDesc=入力構成要素の置換編集オプション
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOn=置換は有効です
|
||||
gui.tooltips.appliedenergistics2.SubstitutionsOff=置換は無効です
|
||||
gui.tooltips.appliedenergistics2.Encode=MEパターンエンコーダ
|
||||
gui.tooltips.appliedenergistics2.EncodeDescription=現在エンコードされているパターン、または使用できるブランクパターンに入力されたパターンを書き込みます
|
||||
gui.tooltips.appliedenergistics2.FuzzyMode=ファジー比較
|
||||
gui.tooltips.appliedenergistics2.FZPercent_25=25%%の分離損失
|
||||
gui.tooltips.appliedenergistics2.FZPercent_50=50%%の分離損失
|
||||
gui.tooltips.appliedenergistics2.FZPercent_75=75%%の分離損失
|
||||
gui.tooltips.appliedenergistics2.FZPercent_99=99%%の分離損失
|
||||
gui.tooltips.appliedenergistics2.SortOrder=昇順/降順
|
||||
gui.tooltips.appliedenergistics2.SortBy=並び替え方法
|
||||
gui.tooltips.appliedenergistics2.FZIgnoreAll=すべてマッチする
|
||||
gui.tooltips.appliedenergistics2.TransferDirection=転送方向
|
||||
gui.tooltips.appliedenergistics2.TransferToNetwork=ネットワークへ
|
||||
gui.tooltips.appliedenergistics2.TransferToStorageCell=MEストレージへ
|
||||
gui.tooltips.appliedenergistics2.ToggleSortDirection=昇順/降順の切替
|
||||
gui.tooltips.appliedenergistics2.StoredItems=格納アイテム
|
||||
gui.tooltips.appliedenergistics2.StoredCraftable=格納アイテム/クラフト可能アイテム
|
||||
gui.tooltips.appliedenergistics2.View=表示アイテム
|
||||
gui.tooltips.appliedenergistics2.RedstoneMode=レッドストーン制御
|
||||
gui.tooltips.appliedenergistics2.OperationMode=動作モード
|
||||
gui.tooltips.appliedenergistics2.NumberOfItems=アイテム数
|
||||
gui.tooltips.appliedenergistics2.ItemName=アイテム名称
|
||||
gui.tooltips.appliedenergistics2.PowerUnits=パワーユニット
|
||||
gui.tooltips.appliedenergistics2.IOMode=入出力モード
|
||||
gui.tooltips.appliedenergistics2.CondenserOutput=MEコンデンサ - 出力
|
||||
gui.tooltips.appliedenergistics2.PartitionStorage=パーテーションストレージ
|
||||
gui.tooltips.appliedenergistics2.Clear=クリア
|
||||
gui.tooltips.appliedenergistics2.TrashController=Shift/Spaceで有効
|
||||
gui.tooltips.appliedenergistics2.InterfaceBlockingMode=ブロッキングモード
|
||||
gui.tooltips.appliedenergistics2.InterfaceCraftingMode=クラフティングモード
|
||||
gui.tooltips.appliedenergistics2.Trash=アイテムを破棄する
|
||||
gui.tooltips.appliedenergistics2.MatterBalls=\n%s個のアイテムごとにマターボールに変換する
|
||||
gui.tooltips.appliedenergistics2.Singularity=\n%s個のアイテムごとにシンジュラリティに変換する
|
||||
gui.tooltips.appliedenergistics2.Read=出力のみ
|
||||
gui.tooltips.appliedenergistics2.Write=入力のみ
|
||||
gui.tooltips.appliedenergistics2.ReadWrite=入出力両方可能
|
||||
gui.tooltips.appliedenergistics2.AlwaysActive=常時処理
|
||||
gui.tooltips.appliedenergistics2.ActiveWithoutSignal=RS信号なし
|
||||
gui.tooltips.appliedenergistics2.ActiveWithSignal=RS信号あり
|
||||
gui.tooltips.appliedenergistics2.ActiveOnPulse=RSパルス
|
||||
gui.tooltips.appliedenergistics2.EmitLevelsBelow=設定値以下で出力
|
||||
gui.tooltips.appliedenergistics2.EmitLevelAbove=設定値以上で出力
|
||||
gui.tooltips.appliedenergistics2.SearchMode_Auto=オートサーチ
|
||||
gui.tooltips.appliedenergistics2.SearchMode_Standard=通常サーチ
|
||||
gui.tooltips.appliedenergistics2.SearchMode_NEIAuto=NEI連携オートサーチ
|
||||
gui.tooltips.appliedenergistics2.SearchMode_NEIStandard=NEI連携通常サーチ
|
||||
gui.tooltips.appliedenergistics2.SearchMode=ボックスサーチモード
|
||||
gui.tooltips.appliedenergistics2.PartitionStorageHint=現在の構成パーテーション
|
||||
gui.tooltips.appliedenergistics2.ClearSettings=コンフィグ/設定をクリア
|
||||
gui.tooltips.appliedenergistics2.Craftable=クラフト可能
|
||||
gui.tooltips.appliedenergistics2.MoveWhenEmpty=空になった時に移動
|
||||
gui.tooltips.appliedenergistics2.MoveWhenWorkIsDone=作業終了時に移動
|
||||
gui.tooltips.appliedenergistics2.MoveWhenFull=満杯になった時に移動
|
||||
gui.tooltips.appliedenergistics2.Disabled=無効
|
||||
gui.tooltips.appliedenergistics2.Enable=有効
|
||||
gui.tooltips.appliedenergistics2.Blocking=もしインベントリにアイテムがあるならクラフトしないでください
|
||||
gui.tooltips.appliedenergistics2.NonBlocking=目的のインベントリの内容を無視する
|
||||
gui.tooltips.appliedenergistics2.Craft=エクスポート中にアイテムをクラフトする
|
||||
gui.tooltips.appliedenergistics2.DontCraft=エクスポート中にあるアイテムだけでクラフトする
|
||||
gui.tooltips.appliedenergistics2.LevelType=レベルタイプ
|
||||
gui.tooltips.appliedenergistics2.LevelType_Energy=エネルギー
|
||||
gui.tooltips.appliedenergistics2.LevelType_Item=アイテム
|
||||
gui.tooltips.appliedenergistics2.InventoryTweaks=Inventory Tweaks
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle=ターミナルスタイル
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle_Full=フルスクリーンターミナル
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle_Tall=高中央ターミナル
|
||||
gui.tooltips.appliedenergistics2.TerminalStyle_Small=小中央ターミナル
|
||||
gui.appliedenergistics2.InterfaceTerminal=MEインターフェースターミナル
|
||||
|
||||
gui.appliedenergistics2.units.appliedenergstics=AE
|
||||
gui.appliedenergistics2.units.buildcraft=MJ[BuildCraft](マインクラフトジュール)
|
||||
gui.appliedenergistics2.units.ic2=EU[IndustrialCraft2](エネルギーユニット)
|
||||
gui.appliedenergistics2.units.universalelectricity=KJ[UniversalElectricity](キロジュール)
|
||||
gui.appliedenergistics2.units.rotarycraft=W[RotaryCraft](ワット)
|
||||
gui.appliedenergistics2.units.thermalexpansion=RF[ThermalExpantion](レッドストーンフラックス)
|
||||
|
||||
gui.appliedenergistics2.White=白色
|
||||
gui.appliedenergistics2.Orange=橙色
|
||||
gui.appliedenergistics2.Magenta=赤紫色
|
||||
gui.appliedenergistics2.LightBlue=空色
|
||||
gui.appliedenergistics2.Yellow=黄色
|
||||
gui.appliedenergistics2.Lime=黄緑色
|
||||
gui.appliedenergistics2.Pink=桃色
|
||||
gui.appliedenergistics2.Gray=灰色
|
||||
gui.appliedenergistics2.LightGray=薄灰色
|
||||
gui.appliedenergistics2.Cyan=水色
|
||||
gui.appliedenergistics2.Purple=紫色
|
||||
gui.appliedenergistics2.Blue=青色
|
||||
gui.appliedenergistics2.Brown=茶色
|
||||
gui.appliedenergistics2.Green=緑色
|
||||
gui.appliedenergistics2.Red=赤色
|
||||
gui.appliedenergistics2.Black=黒色
|
||||
gui.appliedenergistics2.Fluix=フルーシュ
|
||||
gui.appliedenergistics2.MolecularAssembler=ME分子組立機
|
||||
item.appliedenergistics2.ItemPart.CraftingMonitor.name=ME クラフティングモニター
|
||||
|
||||
waila.appliedenergistics2.DeviceOnline=装置はオンラインです
|
||||
waila.appliedenergistics2.DeviceOffline=装置はオフラインです
|
||||
waila.appliedenergistics2.DeviceMissingChannel=装置でチャンネルが見つかりません
|
||||
waila.appliedenergistics2.Locked=ロックされています
|
||||
waila.appliedenergistics2.Unlocked=ロックされてません
|
||||
waila.appliedenergistics2.Showing=表示中
|
||||
waila.appliedenergistics2.Contains=格納
|
||||
|
||||
item.appliedenergistics2.ItemBasicStorageCell.1k.name=1k MEストレージセル
|
||||
item.appliedenergistics2.ItemBasicStorageCell.4k.name=4k MEストレージセル
|
||||
item.appliedenergistics2.ItemBasicStorageCell.16k.name=16k MEストレージセル
|
||||
item.appliedenergistics2.ItemBasicStorageCell.64k.name=64k MEストレージセル
|
||||
item.appliedenergistics2.ItemCreativeStorageCell.name=クリエイティブ用MEストレージセル
|
||||
item.appliedenergistics2.ItemEncodedPattern.name=エンコード済みパターン
|
||||
item.appliedenergistics2.ItemViewCell.name=セルを表示
|
||||
item.appliedenergistics2.ItemFacade.name=ケーブル偽装板
|
||||
|
||||
item.appliedenergistics2.ItemCrystalSeed.Certus.name=ケルタスクォーツの種
|
||||
item.appliedenergistics2.ItemCrystalSeed.Nether.name=ネザークォーツの種
|
||||
item.appliedenergistics2.ItemCrystalSeed.Fluix.name=フルーシュの種
|
||||
item.appliedenergistics2.ItemMaterial.AdvCard.name=高度カード
|
||||
item.appliedenergistics2.ItemMaterial.AnnihilationCore.name=消滅コア
|
||||
item.appliedenergistics2.ItemMaterial.BasicCard.name=基本カード
|
||||
item.appliedenergistics2.ItemMaterial.BlankPattern.name=ブランクパターン
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessor.name=発展プロセッサ
|
||||
item.appliedenergistics2.ItemMaterial.CardCapacity.name=容量カード
|
||||
item.appliedenergistics2.ItemMaterial.CardFuzzy.name=ファジーカード
|
||||
item.appliedenergistics2.ItemMaterial.CardInverter.name=反転カード
|
||||
item.appliedenergistics2.ItemMaterial.CardRedstone.name=レッドストーンカード
|
||||
item.appliedenergistics2.ItemMaterial.CardSpeed.name=加速カード
|
||||
item.appliedenergistics2.ItemMaterial.Cell2SpatialPart.name=2立方空間ストレージ
|
||||
item.appliedenergistics2.ItemMaterial.Cell16SpatialPart.name=16立方空間ストレージ
|
||||
item.appliedenergistics2.ItemMaterial.Cell128SpatialPart.name=128立方空間ストレージ
|
||||
item.appliedenergistics2.ItemMaterial.Cell1kPart.name=1k MEストレージセル
|
||||
item.appliedenergistics2.ItemMaterial.Cell4kPart.name=4k MEストレージセル
|
||||
item.appliedenergistics2.ItemMaterial.Cell16kPart.name=16k MEストレージセル
|
||||
item.appliedenergistics2.ItemMaterial.Cell64kPart.name=64k MEストレージセル
|
||||
item.appliedenergistics2.ItemMaterial.CertusQuartzCrystal.name=ケルタスクォーツ
|
||||
item.appliedenergistics2.ItemMaterial.CertusQuartzCrystalCharged.name=チャージケルタスクォーツ
|
||||
item.appliedenergistics2.ItemMaterial.CertusQuartzDust.name=ケルタスクォーツの粉
|
||||
item.appliedenergistics2.ItemMaterial.EmptyStorageCell.name=MEストレージセル筐体
|
||||
item.appliedenergistics2.ItemMaterial.EnderDust.name=エンダーパールの粉
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessor.name=上級プロセッサ
|
||||
item.appliedenergistics2.ItemMaterial.Flour.name=小麦粉
|
||||
item.appliedenergistics2.ItemMaterial.FluixCrystal.name=フルーシュクリスタル
|
||||
item.appliedenergistics2.ItemMaterial.FluixDust.name=フルーシュの粉
|
||||
item.appliedenergistics2.ItemMaterial.FluixPearl.name=フルーシュパール
|
||||
item.appliedenergistics2.ItemMaterial.FormationCore.name=形成コア
|
||||
item.appliedenergistics2.ItemMaterial.GoldDust.name=金の粉
|
||||
item.appliedenergistics2.ItemMaterial.IronDust.name=鉄の粉
|
||||
item.appliedenergistics2.ItemMaterial.IronNugget.name=鉄のナゲット
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessor.name=基本プロセッサ
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorAsm.name=未完成の基本プロセッサ
|
||||
item.appliedenergistics2.ItemMaterial.MatterBall.name=マターボール
|
||||
item.appliedenergistics2.ItemMaterial.NetherQuartzDust.name=ネザークォーツの粉
|
||||
item.appliedenergistics2.ItemMaterial.PurifiedCertusQuartzCrystal.name=純粋なケルタスクォーツ
|
||||
item.appliedenergistics2.ItemMaterial.PurifiedFluixCrystal.name=純粋なフルーシュクリスタル
|
||||
item.appliedenergistics2.ItemMaterial.PurifiedNetherQuartzCrystal.name=純粋なネザークォーツ
|
||||
item.appliedenergistics2.ItemMaterial.QESingularity.name=量子もつれシンギュラリティ
|
||||
item.appliedenergistics2.ItemMaterial.Silicon.name=シリコン
|
||||
item.appliedenergistics2.ItemMaterial.Singularity.name=シンギュラリティ
|
||||
item.appliedenergistics2.ItemMaterial.Wireless.name=無線受信機
|
||||
item.appliedenergistics2.ItemMaterial.WirelessBooster.name=無線ブースター
|
||||
item.appliedenergistics2.ItemMaterial.WoodenGear.name=木の歯車
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessorPress.name=上級回路の金型
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessorPress.name=発展回路の金型
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorPress.name=基本回路の金型
|
||||
item.appliedenergistics2.ItemMaterial.SiliconPress.name=シリコンの金型
|
||||
item.appliedenergistics2.ItemMaterial.EngProcessorPrint.name=上級回路
|
||||
item.appliedenergistics2.ItemMaterial.CalcProcessorPrint.name=発展回路
|
||||
item.appliedenergistics2.ItemMaterial.LogicProcessorPrint.name=基本回路
|
||||
item.appliedenergistics2.ItemMaterial.SiliconPrint.name=シリコン基板
|
||||
item.appliedenergistics2.ItemMaterial.NamePress.name=名称銘記プレス
|
||||
item.appliedenergistics2.ItemMaterial.SkyDust.name=スカイストーンの粉
|
||||
item.appliedenergistics2.ToolColorApplicator.name=MEケーブル染色機
|
||||
|
||||
item.appliedenergistics2.ItemPart.AnnihilationPlane.name=消滅プレート
|
||||
item.appliedenergistics2.ItemPart.IdentityAnnihilationPlane.name=正体プレート
|
||||
item.appliedenergistics2.ItemPart.CableAnchor.name=ケーブルアンカー
|
||||
item.appliedenergistics2.ItemPart.CableCovered.name=MEカバーケーブル
|
||||
item.appliedenergistics2.ItemPart.CableGlass.name=MEガラスケーブル
|
||||
item.appliedenergistics2.ItemPart.CableSmart.name=MEスマートケーブル
|
||||
item.appliedenergistics2.ItemPart.CableDense.name=ME高密度ケーブル
|
||||
item.appliedenergistics2.ItemPart.StorageMonitor.name=MEストレージモニター
|
||||
item.appliedenergistics2.ItemPart.ConversionMonitor.name=ME変換モニター
|
||||
item.appliedenergistics2.ItemPart.CraftingTerminal.name=MEクラフトターミナル
|
||||
item.appliedenergistics2.ItemPart.SemiDarkMonitor.name=照光パネル
|
||||
item.appliedenergistics2.ItemPart.Monitor.name=強照光パネル
|
||||
item.appliedenergistics2.ItemPart.DarkMonitor.name=弱照光パネル
|
||||
item.appliedenergistics2.ItemPart.ExportBus.name=ME出力バス
|
||||
item.appliedenergistics2.ItemPart.FormationPlane.name=ME結像プレート
|
||||
item.appliedenergistics2.ItemPart.ImportBus.name=ME入力バス
|
||||
item.appliedenergistics2.ItemPart.Interface.name=MEインターフェース
|
||||
item.appliedenergistics2.ItemPart.LevelEmitter.name=MEレベルエミッタ
|
||||
item.appliedenergistics2.ItemPart.P2PTunnel.name=P2Pトンネル
|
||||
item.appliedenergistics2.ItemPart.PatternTerminal.name=MEパターンターミナル
|
||||
item.appliedenergistics2.ItemPart.QuartzFiber.name=クォーツ繊維
|
||||
item.appliedenergistics2.ItemPart.StorageBus.name=MEストレージバス
|
||||
item.appliedenergistics2.ItemPart.Terminal.name=MEターミナル
|
||||
item.appliedenergistics2.ItemPart.InvertedToggleBus.name=ME反転切替バス
|
||||
item.appliedenergistics2.ItemPart.ToggleBus.name=ME切替バス
|
||||
item.appliedenergistics2.ItemPart.CraftingMonitor.name=MEクラフトモニター
|
||||
item.appliedenergistics2.ItemPart.InterfaceTerminal.name=MEインターフェースターミナル
|
||||
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.128Cubed.name=128立方空間ストレージセル
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.16Cubed.name=16立方空間ストレージセル
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.2Cubed.name=2立方空間ストレージセル
|
||||
|
||||
item.appliedenergistics2.ToolCertusQuartzAxe.name=ケルタスクォーツの 斧
|
||||
item.appliedenergistics2.ToolCertusQuartzCuttingKnife.name=ケルタスクォーツのナイフ
|
||||
item.appliedenergistics2.ToolCertusQuartzHoe.name=ケルタスクォーツのクワ
|
||||
item.appliedenergistics2.ToolCertusQuartzPickaxe.name=ケルタスクォーツのツルハシ
|
||||
item.appliedenergistics2.ToolCertusQuartzSpade.name=ケルタスクォーツのシャベル
|
||||
item.appliedenergistics2.ToolCertusQuartzSword.name=ケルタスクォーツの剣
|
||||
item.appliedenergistics2.ToolCertusQuartzWrench.name=ケルタスクォーツのレンチ
|
||||
|
||||
item.appliedenergistics2.ToolNetherQuartzAxe.name=ネザークォーツの 斧
|
||||
item.appliedenergistics2.ToolNetherQuartzCuttingKnife.name=ネザークォーツのナイフ
|
||||
item.appliedenergistics2.ToolNetherQuartzHoe.name=ネザークォーツのクワ
|
||||
item.appliedenergistics2.ToolNetherQuartzPickaxe.name=ネザークォーツのツルハシ
|
||||
item.appliedenergistics2.ToolNetherQuartzSpade.name=ネザークォーツのシャベル
|
||||
item.appliedenergistics2.ToolNetherQuartzSword.name=ネザークォーツの剣
|
||||
item.appliedenergistics2.ToolNetherQuartzWrench.name=ネザークォーツのレンチ
|
||||
|
||||
item.appliedenergistics2.ToolPortableCell.name=ポータブルセル
|
||||
item.appliedenergistics2.ToolNetworkTool.name=ネットワークツール
|
||||
item.appliedenergistics2.ToolChargedStaff.name=チャージ済みの杖
|
||||
item.appliedenergistics2.ToolEntropyManipulator.name=エントロピー操縦機
|
||||
item.appliedenergistics2.ToolMassCannon.name=マターキャノン
|
||||
item.appliedenergistics2.ToolMemoryCard.name=メモリーカード
|
||||
item.appliedenergistics2.ToolWirelessTerminal.name=無線アクセスターミナル
|
||||
item.appliedenergistics2.ToolBiometricCard.name=生体認証カード
|
||||
|
||||
item.appliedenergistics2.ToolDebugCard.name=開発用.デバッグ用カード
|
||||
item.appliedenergistics2.ToolReplicatorCard.name=開発用.反復子カード
|
||||
|
||||
commands.ae2.usage=Applied Energistics 2のコマンド - コマンドのヘルプ一覧については /ae2 list および /ae2 help を使用します
|
||||
commands.ae2.permissions=このコマンドを実行するための十分な権限を持っていません
|
||||
commands.ae2.ChunkLogger=チャンクのロードとアンロードをサーバーログに切り替えます(OP)
|
||||
commands.ae2.ChunkLoggerOn=チャンクログがオンになりました
|
||||
commands.ae2.ChunkLoggerOff=チャンクログがオフになりました
|
||||
commands.ae2.Supporters=AE2のサポーター一覧を表示します
|
||||
|
||||
// Achievements
|
||||
achievement.ae2.Compass=隕石ハンター
|
||||
achievement.ae2.Compass.desc=隕石探知コンパスを作る
|
||||
achievement.ae2.Presses=未知のテクノロジー
|
||||
achievement.ae2.Presses.desc=プロセッサの金型を見つける
|
||||
achievement.ae2.SpatialIO=空間の調整
|
||||
achievement.ae2.SpatialIO.desc=空間入出力ポートを作る
|
||||
achievement.ae2.SpatialIOExplorer=大胆に移動するには
|
||||
achievement.ae2.SpatialIOExplorer.desc=空間ストレージに格納する
|
||||
achievement.ae2.StorageCell=チェストより優れたもの
|
||||
achievement.ae2.StorageCell.desc=ストレージを作る
|
||||
achievement.ae2.IOPort=ストレージがごちゃ混ぜ
|
||||
achievement.ae2.IOPort.desc=入出力ポートを作る
|
||||
achievement.ae2.CraftingTerminal=(非常に)大きなテーブル
|
||||
achievement.ae2.CraftingTerminal.desc=クラフトターミナルを作る
|
||||
achievement.ae2.PatternTerminal=クラフトの巨匠
|
||||
achievement.ae2.PatternTerminal.desc=パターンターミナルを作る
|
||||
achievement.ae2.ChargedQuartz=開いた口が塞がらない
|
||||
achievement.ae2.ChargedQuartz.desc=チャージドクォーツを見つける
|
||||
achievement.ae2.Fluix=人工的
|
||||
achievement.ae2.Fluix.desc=フルーシュクリスタルを作成する
|
||||
achievement.ae2.Charger=フルーシュの生産
|
||||
achievement.ae2.Charger.desc=チャージャーを作る
|
||||
achievement.ae2.CrystalGrowthAccelerator=アクセラレータは控えめな表情だ
|
||||
achievement.ae2.CrystalGrowthAccelerator.desc=結晶成長アクセラレータを作る
|
||||
achievement.ae2.GlassCable=フルーシュエネルギーの接続
|
||||
achievement.ae2.GlassCable.desc=MEケーブルを作る
|
||||
achievement.ae2.Networking1=ネットワーク初心者
|
||||
achievement.ae2.Networking1.desc=ネットワーク上の装置のチャンネルが8個に到達する
|
||||
achievement.ae2.Controller=ネットワークの配電盤
|
||||
achievement.ae2.Controller.desc=コントローラを作る
|
||||
achievement.ae2.Networking2=ネットワークエンジニア
|
||||
achievement.ae2.Networking2.desc=ネットワーク上の装置のチャンネルが128個に到達する
|
||||
achievement.ae2.Networking3=ネットワーク管理者
|
||||
achievement.ae2.Networking3.desc=ネットワーク上の装置のチャンネルが2048個に到達する
|
||||
achievement.ae2.P2P=ネットワークを示すポイント
|
||||
achievement.ae2.P2P.desc=P2Pトンネルを作る
|
||||
achievement.ae2.Recursive=再帰的なネットワーク
|
||||
achievement.ae2.Recursive.desc=ストレージバスのインターフェイスを設置する
|
||||
achievement.ae2.CraftingCPU=次世代型クラフティング
|
||||
achievement.ae2.CraftingCPU.desc=クラフトユニットを作る
|
||||
achievement.ae2.Facade=美的なネットワーク
|
||||
achievement.ae2.Facade.desc=外装パネルを作る
|
||||
achievement.ae2.NetworkTool=ネットワーク診断
|
||||
achievement.ae2.NetworkTool.desc=ネットワークツールを作る
|
||||
achievement.ae2.PortableCell=ストレージの放浪者
|
||||
achievement.ae2.PortableCell.desc=ポータブルストレージを作る
|
||||
achievement.ae2.StorageBus=無限の可能性
|
||||
achievement.ae2.StorageBus.desc=ストレージバスを作る
|
||||
achievement.ae2.QNB=量子トンネル現象
|
||||
achievement.ae2.QNB.desc=量子リンクを作る
|
||||
|
||||
stat.ae2.ItemsInserted=MEストレージにアイテムを追加した回数
|
||||
stat.ae2.ItemsExtracted=MEストレージからアイテムを取り出した回数
|
||||
stat.ae2.TurnedCranks=クランクを回した回数
|
||||
|
||||
tile.appliedenergistics2.ChiseledQuartzSlabBlock.name=様入りケルタスクォーツのハーフブロック
|
||||
tile.appliedenergistics2.FluixSlabBlock.name=フルーシュのハーフブロック
|
||||
tile.appliedenergistics2.QuartzPillarSlabBlock.name=柱状ケルタスクォーツのハーフブロック
|
||||
tile.appliedenergistics2.QuartzSlabBlock.name=ケルタスクオーツのハーフブロック
|
||||
tile.appliedenergistics2.SkyStoneBlockSlabBlock.name=スカイストーンブロックのハーフブロック
|
||||
tile.appliedenergistics2.SkyStoneBrickSlabBlock.name=スカイストーンレンガのハーフブロック
|
||||
tile.appliedenergistics2.SkyStoneSmallBrickSlabBlock.name=小さなスカイストーンレンガのハーフブロック
|
||||
tile.appliedenergistics2.SkyStoneSlabBlock.name=スカイストーンのハーフブロック
|
||||
|
||||
tile.appliedenergistics2.ChiseledQuartzStairBlock.name=模様入りケルタスクォーツの階段
|
||||
tile.appliedenergistics2.FluixStairBlock.name=フルーシュの階段
|
||||
tile.appliedenergistics2.QuartzPillarStairBlock.name=柱状ケルタスクォーツの階段
|
||||
tile.appliedenergistics2.QuartzStairBlock.name=ケルタスクオーツの階段
|
||||
tile.appliedenergistics2.SkyStoneBlockStairBlock.name=スカイストーンブロックの階段
|
||||
tile.appliedenergistics2.SkyStoneBrickStairBlock.name=スカイストーンレンガの階段
|
||||
tile.appliedenergistics2.SkyStoneSmallBrickStairBlock.name=小さなスカイストーンレンガの階段
|
||||
tile.appliedenergistics2.SkyStoneStairBlock.name=スカイストーンの階段
|
||||
@@ -189,8 +189,8 @@ gui.appliedenergistics2.inWorldSingularity=将1个奇点和一个末影珍珠粉
|
||||
gui.appliedenergistics2.ChargedQuartz=将未充能赛特斯石英插入充能器充能后,可以得到充能赛特斯石英.
|
||||
gui.appliedenergistics2.ChargedQuartzFind=充能赛特斯石英也可以在世界中以普通赛特斯石英一半的几率找到,它的外观类似普通赛特斯石英,除了它会冒出闪电.
|
||||
gui.appliedenergistics2.NoSecondOutput=无副产物.
|
||||
gui.appliedenergistics2.OfSecondOutput=获得副产物概率%1$s%.
|
||||
gui.appliedenergistics2.MultipleOutputs=第一副产概率%1$s%,第二副产概率%2$s%.
|
||||
gui.appliedenergistics2.OfSecondOutput=获得副产物概率%1$d%%.
|
||||
gui.appliedenergistics2.MultipleOutputs=第一副产概率%1$d%%,第二副产概率%2$d%%.
|
||||
gui.appliedenergistics2.SelectAmount=选择数量
|
||||
gui.appliedenergistics2.CopyMode=复制模式
|
||||
gui.appliedenergistics2.CopyModeDesc=控制当取出存储元件时,是否清空配置格.
|
||||
@@ -460,6 +460,7 @@ item.appliedenergistics2.ItemPart.InvertedToggleBus.name=ME反相触发总线
|
||||
item.appliedenergistics2.ItemPart.ToggleBus.name=ME触发总线
|
||||
item.appliedenergistics2.ItemPart.CraftingMonitor.name=ME合成监控器
|
||||
item.appliedenergistics2.ItemPart.InterfaceTerminal.name=ME接口终端
|
||||
item.appliedenergistics2.ItemPart.InvalidType.name=已禁用
|
||||
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.128Cubed.name=128³-空间存储元件
|
||||
item.appliedenergistics2.ItemSpatialStorageCell.16Cubed.name=16³-空间存储元件
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
shaped=
|
||||
mc:gold_ingot mc:iron_ingot _,
|
||||
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
|
||||
mc:gold_ingot mc:iron_ingot _
|
||||
oredictionary:ingotGold oredictionary:ingotIron _,
|
||||
oredictionary:dustRedstone ae2:ItemMaterial.CalcProcessor oredictionary:ingotIron,
|
||||
oredictionary:ingotGold oredictionary:ingotIron _
|
||||
-> 2 ae2:ItemMaterial.BasicCard
|
||||
|
||||
shaped=
|
||||
oredictionary:gemDiamond mc:iron_ingot _,
|
||||
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
|
||||
oredictionary:gemDiamond mc:iron_ingot _
|
||||
oredictionary:gemDiamond oredictionary:ingotIron _,
|
||||
oredictionary:dustRedstone ae2:ItemMaterial.CalcProcessor oredictionary:ingotIron,
|
||||
oredictionary:gemDiamond oredictionary:ingotIron _
|
||||
-> 2 ae2:ItemMaterial.AdvCard
|
||||
|
||||
shapeless=
|
||||
@@ -31,5 +31,5 @@ shapeless=
|
||||
-> ae2:ItemMaterial.CardSpeed
|
||||
|
||||
shapeless=
|
||||
ae2:ItemMaterial.BasicCard mc:crafting_table
|
||||
ae2:ItemMaterial.BasicCard oredictionary:craftingTableWood
|
||||
-> ae2:ItemMaterial.CardCrafting
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
inscribe=
|
||||
mc:gold_ingot ae2:ItemMaterial.LogicProcessorPress
|
||||
oredictionary:ingotGold ae2:ItemMaterial.LogicProcessorPress
|
||||
-> ae2:ItemMaterial.LogicProcessorPrint
|
||||
|
||||
inscribe=
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
inscribe=
|
||||
mc:iron_block ae2:ItemMaterial.LogicProcessorPress
|
||||
oredictionary:blockIron ae2:ItemMaterial.LogicProcessorPress
|
||||
-> ae2:ItemMaterial.LogicProcessorPress
|
||||
|
||||
inscribe=
|
||||
mc:iron_block ae2:ItemMaterial.CalcProcessorPress
|
||||
oredictionary:blockIron ae2:ItemMaterial.CalcProcessorPress
|
||||
-> ae2:ItemMaterial.CalcProcessorPress
|
||||
|
||||
inscribe=
|
||||
mc:iron_block ae2:ItemMaterial.EngProcessorPress
|
||||
oredictionary:blockIron ae2:ItemMaterial.EngProcessorPress
|
||||
-> ae2:ItemMaterial.EngProcessorPress
|
||||
|
||||
inscribe=
|
||||
mc:iron_block ae2:ItemMaterial.SiliconPress
|
||||
oredictionary:blockIron ae2:ItemMaterial.SiliconPress
|
||||
-> ae2:ItemMaterial.SiliconPress
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
press=
|
||||
mc:redstone ae2:ItemMaterial.LogicProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
oredictionary:dustRedstone ae2:ItemMaterial.LogicProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
-> ae2:ItemMaterial.LogicProcessor
|
||||
|
||||
press=
|
||||
mc:redstone ae2:ItemMaterial.CalcProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
oredictionary:dustRedstone ae2:ItemMaterial.CalcProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
-> ae2:ItemMaterial.CalcProcessor
|
||||
|
||||
press=
|
||||
mc:redstone ae2:ItemMaterial.EngProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
oredictionary:dustRedstone ae2:ItemMaterial.EngProcessorPrint ae2:ItemMaterial.SiliconPrint
|
||||
-> ae2:ItemMaterial.EngProcessor
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
shaped=
|
||||
_ mc:iron_ingot _,
|
||||
mc:iron_ingot ae2:ItemMaterial.CertusQuartzCrystalCharged mc:iron_ingot,
|
||||
_ mc:iron_ingot _
|
||||
_ oredictionary:ingotIron _,
|
||||
oredictionary:ingotIron ae2:ItemMaterial.CertusQuartzCrystalCharged oredictionary:ingotIron,
|
||||
_ oredictionary:ingotIron _
|
||||
-> ae2:BlockSkyCompass
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
shapeless= mc:sand oredictionary:dustNetherQuartz -> 2 ae2:ItemCrystalSeed.Nether
|
||||
shapeless= mc:sand oredictionary:dustCertusQuartz -> 2 ae2:ItemCrystalSeed.Certus
|
||||
shapeless= mc:sand oredictionary:dustFluix -> 2 ae2:ItemCrystalSeed.Fluix
|
||||
shapeless= oredictionary:sand oredictionary:dustNetherQuartz -> 2 ae2:ItemCrystalSeed.Nether
|
||||
shapeless= oredictionary:sand oredictionary:dustCertusQuartz -> 2 ae2:ItemCrystalSeed.Certus
|
||||
shapeless= oredictionary:sand oredictionary:dustFluix -> 2 ae2:ItemCrystalSeed.Fluix
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
shaped=
|
||||
glass glass glass,
|
||||
netherCrystal netherCrystal netherCrystal,
|
||||
mc:wooden_slab:* mc:wooden_slab:* mc:wooden_slab:*
|
||||
oredictionary:slabWood oredictionary:slabWood oredictionary:slabWood
|
||||
-> mc:daylight_detector
|
||||
|
||||
shaped=
|
||||
@@ -17,5 +17,5 @@ shaped=
|
||||
-> mc:iron_ingot
|
||||
|
||||
shapeless=
|
||||
mc:iron_ingot
|
||||
oredictionary:ingotIron
|
||||
-> 9 ae2:ItemMaterial.IronNugget
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
shaped=
|
||||
wool ae2:ItemMaterial.CalcProcessor wool,
|
||||
mc:iron_ingot mc:chest mc:iron_ingot,
|
||||
mc:iron_ingot mc:iron_ingot mc:iron_ingot
|
||||
oredictionary:ingotIron oredictionary:chestWood oredictionary:ingotIron,
|
||||
oredictionary:ingotIron oredictionary:ingotIron oredictionary:ingotIron
|
||||
-> ae2:BlockCellWorkbench
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user