Compare commits
20 Commits
rv5-1.12
...
rv2.stable.4
| Author | SHA1 | Date | |
|---|---|---|---|
| 200e56a509 | |||
| 9540bbce49 | |||
| c6d932da04 | |||
| 6e7100361c | |||
| ca50ee0762 | |||
| f00d5c297f | |||
| b13f5ced01 | |||
| 1c0f1ea243 | |||
| b612ff47a3 | |||
| e8a68cc531 | |||
| d9f362270b | |||
| 37aef15a02 | |||
| 2d8728f0e1 | |||
| 3498a0902b | |||
| bb4b6719fe | |||
| 34f78a7ce4 | |||
| 064acc21ee | |||
| deeb67f07d | |||
| 2eeaa80b59 | |||
| 7cb485aa48 |
+2
-2
@@ -1,5 +1,5 @@
|
||||
aeversion=rv2
|
||||
aechannel=beta
|
||||
aechannel=stable
|
||||
aebuild=0
|
||||
aegroup=appeng
|
||||
aebasename=appliedenergistics2
|
||||
@@ -39,7 +39,7 @@ bc_version=6.4.6
|
||||
# Self Compiled APIs #
|
||||
#########################################################
|
||||
mekansim_version=8.0.1.198
|
||||
rotarycraft_version=V5c
|
||||
rotarycraft_version=V6e
|
||||
|
||||
|
||||
#########################################################
|
||||
|
||||
@@ -22,6 +22,7 @@ package appeng.client.gui.implementations;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
@@ -218,6 +219,8 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
|
||||
@Override
|
||||
public void initGui()
|
||||
{
|
||||
Keyboard.enableRepeatEvents( true );
|
||||
|
||||
this.maxRows = this.getMaxRows();
|
||||
this.perRow = AEConfig.instance.getConfigManager().getSetting( Settings.TERMINAL_STYLE ) != TerminalStyle.FULL ? 9 : 9 + ( ( this.width - this.standardSize ) / 18 );
|
||||
|
||||
@@ -383,6 +386,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
|
||||
public void onGuiClosed()
|
||||
{
|
||||
super.onGuiClosed();
|
||||
Keyboard.enableRepeatEvents( false );
|
||||
memoryText = this.searchField.getText();
|
||||
}
|
||||
|
||||
|
||||
@@ -65,8 +65,6 @@ public class ContainerInscriber extends ContainerUpgradeable implements IProgres
|
||||
this.addSlotToContainer( this.middle = new SlotRestrictedInput( SlotRestrictedInput.PlacableItemType.INSCRIBER_INPUT, this.ti, 2, 63, 39, this.invPlayer ) );
|
||||
|
||||
this.addSlotToContainer( new SlotOutput( this.ti, 3, 113, 40, -1 ) );
|
||||
|
||||
this.bindPlayerInventory( ip, 0, this.getHeight() - /* height of player inventory */82 );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,6 +20,11 @@ package appeng.core.features;
|
||||
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
@@ -27,10 +32,6 @@ import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ObjectArrays;
|
||||
|
||||
import appeng.api.definitions.IBlockDefinition;
|
||||
import appeng.block.AEBaseBlock;
|
||||
|
||||
@@ -92,13 +93,16 @@ public class BlockDefinition extends ItemDefinition implements IBlockDefinition
|
||||
/**
|
||||
* Create an {@link ItemBlock} from a {@link Block} to register it later as {@link Item}
|
||||
*
|
||||
* @param block
|
||||
* @return
|
||||
* @param block to be constructed from
|
||||
*
|
||||
* @return item from block
|
||||
*/
|
||||
@Nonnull
|
||||
private static Item constructItemFromBlock( Block block )
|
||||
{
|
||||
final Class<? extends ItemBlock> itemclass = getItemBlockConstructor( block );
|
||||
return constructItemBlock( block, itemclass );
|
||||
final Class<? extends ItemBlock> itemClass = getItemBlockConstructor( block );
|
||||
|
||||
return constructItemBlock( block, itemClass );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,6 +114,7 @@ public class BlockDefinition extends ItemDefinition implements IBlockDefinition
|
||||
* @param block the block used to determine the used constructor.
|
||||
* @return a {@link Class} extending ItemBlock
|
||||
*/
|
||||
@Nonnull
|
||||
private static Class<? extends ItemBlock> getItemBlockConstructor( Block block )
|
||||
{
|
||||
if ( block instanceof AEBaseBlock )
|
||||
@@ -124,32 +129,39 @@ public class BlockDefinition extends ItemDefinition implements IBlockDefinition
|
||||
/**
|
||||
* Actually construct an instance of {@link Item} with the block and earlier determined constructor.
|
||||
*
|
||||
* Shamelessly stolen from the forge magic.
|
||||
*
|
||||
* TODO: throw an exception instead of returning null? As this could cause issue later on.
|
||||
*
|
||||
* @param block the block to create the {@link ItemBlock} from
|
||||
* @param itemclass the class used to construct it.
|
||||
* @param itemClass the class used to construct it.
|
||||
* @return an {@link Item} for the block. Actually always a sub type of {@link ItemBlock}
|
||||
*/
|
||||
private static Item constructItemBlock( Block block, Class<? extends ItemBlock> itemclass )
|
||||
@Nonnull
|
||||
private static Item constructItemBlock( Block block, Class<? extends ItemBlock> itemClass )
|
||||
{
|
||||
assert block != null;
|
||||
assert itemClass != null;
|
||||
|
||||
try
|
||||
{
|
||||
Object[] itemCtorArgs = new Object[] {};
|
||||
Class<?>[] ctorArgClasses = new Class<?>[itemCtorArgs.length + 1];
|
||||
ctorArgClasses[0] = Block.class;
|
||||
for ( int idx = 1; idx < ctorArgClasses.length; idx++ )
|
||||
{
|
||||
ctorArgClasses[idx] = itemCtorArgs[idx - 1].getClass();
|
||||
}
|
||||
final Constructor<? extends ItemBlock> itemConstructor = itemClass.getConstructor( Block.class );
|
||||
|
||||
Constructor<? extends ItemBlock> itemCtor = itemclass.getConstructor( ctorArgClasses );
|
||||
return itemCtor.newInstance( ObjectArrays.concat( block, itemCtorArgs ) );
|
||||
return itemConstructor.newInstance( block );
|
||||
}
|
||||
catch ( Throwable t )
|
||||
catch( InstantiationException e )
|
||||
{
|
||||
return null;
|
||||
e.printStackTrace();
|
||||
}
|
||||
catch( IllegalAccessException e )
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
catch( InvocationTargetException e )
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
catch( NoSuchMethodException e )
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
throw new IllegalStateException( "Tried to construct an ItemBlock from Block " + block.getUnlocalizedName() + " and Class<Item>" + itemClass );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,23 +19,26 @@
|
||||
package appeng.core.features;
|
||||
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import appeng.api.definitions.IItemDefinition;
|
||||
import appeng.util.Platform;
|
||||
|
||||
|
||||
public class ItemDefinition implements IItemDefinition
|
||||
{
|
||||
@Nonnull
|
||||
private final Item item;
|
||||
private final boolean enabled;
|
||||
|
||||
public ItemDefinition( Item item, ActivityState state )
|
||||
public ItemDefinition( @Nonnull Item item, @Nonnull ActivityState state )
|
||||
{
|
||||
Preconditions.checkNotNull( item );
|
||||
Preconditions.checkNotNull( state );
|
||||
|
||||
@@ -85,7 +85,10 @@ public final class WrappedDamageItemDefinition implements ITileDefinition
|
||||
return false;
|
||||
}
|
||||
|
||||
return this.definition.isSameAs( comparableStack ) && comparableStack.getItemDamage() == this.damage;
|
||||
final boolean sameItem = this.definition.isSameAs( new ItemStack( comparableStack.getItem() ) );
|
||||
final boolean sameDamage = comparableStack.getItemDamage() == this.damage;
|
||||
|
||||
return sameItem && sameDamage;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Applied Energistics 2.
|
||||
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
|
||||
* Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved.
|
||||
*
|
||||
* Applied Energistics 2 is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
@@ -34,7 +34,10 @@ import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
import buildcraft.BuildCraftEnergy;
|
||||
import buildcraft.BuildCraftTransport;
|
||||
import buildcraft.api.blueprints.BuilderAPI;
|
||||
import buildcraft.api.blueprints.IBuilderContext;
|
||||
import buildcraft.api.blueprints.ISchematicRegistry;
|
||||
import buildcraft.api.blueprints.SchematicBlock;
|
||||
import buildcraft.api.blueprints.SchematicTile;
|
||||
import buildcraft.api.facades.IFacadeItem;
|
||||
import buildcraft.api.tools.IToolWrench;
|
||||
import buildcraft.api.transport.IInjectable;
|
||||
@@ -68,9 +71,21 @@ public final class BC extends BaseModule implements IBC
|
||||
|
||||
public BC()
|
||||
{
|
||||
this.testClassExistence( IPipeConnection.class );
|
||||
this.testClassExistence( ItemFacade.class );
|
||||
this.testClassExistence( BuildCraftEnergy.class );
|
||||
this.testClassExistence( BuildCraftTransport.class );
|
||||
this.testClassExistence( BuilderAPI.class );
|
||||
this.testClassExistence( IBuilderContext.class );
|
||||
this.testClassExistence( ISchematicRegistry.class );
|
||||
this.testClassExistence( IFacadeItem.class );
|
||||
this.testClassExistence( IToolWrench.class );
|
||||
this.testClassExistence( IInjectable.class );
|
||||
this.testClassExistence( IPipeConnection.class );
|
||||
this.testClassExistence( IPipeTile.class );
|
||||
this.testClassExistence( ItemFacade.class );
|
||||
this.testClassExistence( PipeIconProvider.class );
|
||||
this.testClassExistence( SchematicTile.class );
|
||||
this.testClassExistence( SchematicBlock.class );
|
||||
this.testClassExistence( IPipeTile.PipeType.class );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,7 +28,8 @@ public class RotaryCraft extends BaseModule
|
||||
|
||||
public RotaryCraft()
|
||||
{
|
||||
this.testClassExistence( Reika.RotaryCraft.API.Power.ShaftPowerReceiver.class );
|
||||
this.testClassExistence( Reika.RotaryCraft.API.Power.AdvancedShaftPowerReceiver.class );
|
||||
this.testClassExistence( Reika.RotaryCraft.API.Interfaces.Transducerable.class );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -38,6 +38,7 @@ public class Waila extends BaseModule
|
||||
{
|
||||
final IWailaDataProvider partHost = new PartWailaDataProvider();
|
||||
|
||||
registrar.registerStackProvider( partHost, AEBaseTile.class );
|
||||
registrar.registerBodyProvider( partHost, AEBaseTile.class );
|
||||
registrar.registerNBTProvider( partHost, AEBaseTile.class );
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ import appeng.api.parts.IPart;
|
||||
import appeng.integration.modules.waila.part.ChannelWailaDataProvider;
|
||||
import appeng.integration.modules.waila.part.IPartWailaDataProvider;
|
||||
import appeng.integration.modules.waila.part.PartAccessor;
|
||||
import appeng.integration.modules.waila.part.PartStackWailaDataProvider;
|
||||
import appeng.integration.modules.waila.part.PowerStateWailaDataProvider;
|
||||
import appeng.integration.modules.waila.part.StorageMonitorWailaDataProvider;
|
||||
import appeng.integration.modules.waila.part.Tracer;
|
||||
@@ -75,13 +76,32 @@ public final class PartWailaDataProvider implements IWailaDataProvider
|
||||
final IPartWailaDataProvider channel = new ChannelWailaDataProvider();
|
||||
final IPartWailaDataProvider storageMonitor = new StorageMonitorWailaDataProvider();
|
||||
final IPartWailaDataProvider powerState = new PowerStateWailaDataProvider();
|
||||
final IPartWailaDataProvider partStack = new PartStackWailaDataProvider();
|
||||
|
||||
this.providers = Lists.newArrayList( channel, storageMonitor, powerState );
|
||||
this.providers = Lists.newArrayList( channel, storageMonitor, powerState, partStack );
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getWailaStack( IWailaDataAccessor accessor, IWailaConfigHandler config )
|
||||
{
|
||||
final TileEntity te = accessor.getTileEntity();
|
||||
final MovingObjectPosition mop = accessor.getPosition();
|
||||
|
||||
final Optional<IPart> maybePart = this.accessor.getMaybePart( te, mop );
|
||||
|
||||
if( maybePart.isPresent() )
|
||||
{
|
||||
final IPart part = maybePart.get();
|
||||
|
||||
ItemStack wailaStack = null;
|
||||
|
||||
for( IPartWailaDataProvider provider : this.providers )
|
||||
{
|
||||
wailaStack = provider.getWailaStack( part, config, wailaStack );
|
||||
}
|
||||
return wailaStack;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ package appeng.integration.modules.waila.part;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
@@ -41,6 +42,12 @@ import appeng.api.parts.IPart;
|
||||
*/
|
||||
public abstract class BasePartWailaDataProvider implements IPartWailaDataProvider
|
||||
{
|
||||
@Override
|
||||
public ItemStack getWailaStack( IPart part, IWailaConfigHandler config, ItemStack partStack )
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getWailaHead( IPart part, List<String> currentToolTip, IWailaDataAccessor accessor, IWailaConfigHandler config )
|
||||
{
|
||||
|
||||
@@ -22,6 +22,7 @@ package appeng.integration.modules.waila.part;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
@@ -41,6 +42,8 @@ import appeng.api.parts.IPart;
|
||||
*/
|
||||
public interface IPartWailaDataProvider
|
||||
{
|
||||
ItemStack getWailaStack( IPart part, IWailaConfigHandler config, ItemStack partStack );
|
||||
|
||||
List<String> getWailaHead( IPart part, List<String> currentToolTip, IWailaDataAccessor accessor, IWailaConfigHandler config );
|
||||
|
||||
List<String> getWailaBody( IPart part, List<String> currentToolTip, IWailaDataAccessor accessor, IWailaConfigHandler config );
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* This file is part of Applied Energistics 2.
|
||||
* Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved.
|
||||
*
|
||||
* Applied Energistics 2 is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Applied Energistics 2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
||||
*/
|
||||
|
||||
package appeng.integration.modules.waila.part;
|
||||
|
||||
import appeng.api.parts.IPart;
|
||||
import appeng.api.parts.PartItemStack;
|
||||
import mcp.mobius.waila.api.IWailaConfigHandler;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Part ItemStack provider for WAILA
|
||||
*
|
||||
* @author TheJulianJES
|
||||
* @version rv2
|
||||
* @since rv2
|
||||
*/
|
||||
public class PartStackWailaDataProvider extends BasePartWailaDataProvider {
|
||||
|
||||
@Override
|
||||
public ItemStack getWailaStack( IPart part, IWailaConfigHandler config, ItemStack partStack )
|
||||
{
|
||||
partStack = part.getItemStack( PartItemStack.Pick );
|
||||
return partStack;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -29,6 +29,7 @@ import net.minecraft.world.World;
|
||||
|
||||
import gnu.trove.map.TObjectLongMap;
|
||||
import gnu.trove.map.hash.TObjectLongHashMap;
|
||||
import mcp.mobius.waila.api.ITaggedList;
|
||||
import mcp.mobius.waila.api.IWailaConfigHandler;
|
||||
import mcp.mobius.waila.api.IWailaDataAccessor;
|
||||
|
||||
@@ -76,6 +77,9 @@ public final class PowerStorageWailaDataProvider extends BaseWailaDataProvider
|
||||
@Override
|
||||
public List<String> getWailaBody( ItemStack itemStack, List<String> currentToolTip, IWailaDataAccessor accessor, IWailaConfigHandler config )
|
||||
{
|
||||
//Removes RF tooltip on WAILA 1.5.9+
|
||||
((ITaggedList<String, String>) currentToolTip).removeEntries("RFEnergyStorage");
|
||||
|
||||
final TileEntity te = accessor.getTileEntity();
|
||||
if( te instanceof IAEPowerStorage )
|
||||
{
|
||||
|
||||
@@ -92,7 +92,7 @@ public final class DisassembleRecipe implements IRecipe
|
||||
{
|
||||
// needs a single input in the recipe
|
||||
itemCount++;
|
||||
if ( itemCount > 1 )
|
||||
if( itemCount > 1 )
|
||||
{
|
||||
return MISMATCHED_STACK;
|
||||
}
|
||||
|
||||
@@ -86,7 +86,11 @@ public final class VersionParser
|
||||
{
|
||||
assert PATTERN_VALID_REVISION.matcher( rawRevision ).matches();
|
||||
|
||||
final int revision = new Scanner( rawRevision ).useDelimiter( PATTERN_REVISION ).nextInt();
|
||||
final Scanner scanner = new Scanner( rawRevision );
|
||||
|
||||
final int revision = scanner.useDelimiter( PATTERN_REVISION ).nextInt();
|
||||
|
||||
scanner.close();
|
||||
|
||||
return revision;
|
||||
}
|
||||
@@ -124,7 +128,11 @@ public final class VersionParser
|
||||
{
|
||||
assert PATTERN_NATURAL.matcher( rawBuild ).matches();
|
||||
|
||||
final int build = new Scanner( rawBuild ).useDelimiter( PATTERN_BUILD ).nextInt();
|
||||
final Scanner scanner = new Scanner( rawBuild );
|
||||
|
||||
final int build = scanner.useDelimiter( PATTERN_BUILD ).nextInt();
|
||||
|
||||
scanner.close();
|
||||
|
||||
return build;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ package appeng.services.version.github;
|
||||
/**
|
||||
* Template class for Gson to write values from the Json Object into an actual class
|
||||
*/
|
||||
@SuppressWarnings( "ALL" )
|
||||
@SuppressWarnings( "all" )
|
||||
public class Release
|
||||
{
|
||||
/**
|
||||
|
||||
@@ -19,20 +19,25 @@
|
||||
package appeng.tile.powersink;
|
||||
|
||||
|
||||
import appeng.transformer.annotations.Integration;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import Reika.RotaryCraft.API.Power.ShaftPowerReceiver;
|
||||
import Reika.RotaryCraft.API.Interfaces.Transducerable;
|
||||
import Reika.RotaryCraft.API.Power.AdvancedShaftPowerReceiver;
|
||||
|
||||
import appeng.api.config.PowerUnits;
|
||||
import appeng.tile.TileEvent;
|
||||
import appeng.tile.events.TileEventType;
|
||||
import appeng.transformer.annotations.Integration.Interface;
|
||||
import appeng.transformer.annotations.Integration.InterfaceList;
|
||||
import appeng.transformer.annotations.Integration.Method;
|
||||
import appeng.util.Platform;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Interface( iname = "RotaryCraft", iface = "Reika.RotaryCraft.API.Power.ShaftPowerReceiver" )
|
||||
public abstract class RotaryCraft extends IC2 implements ShaftPowerReceiver
|
||||
@InterfaceList( value = { @Interface( iname = "RotaryCraft", iface = "Reika.RotaryCraft.API.Power.AdvancedShaftPowerReceiver" ), @Interface( iname = "RotaryCraft", iface = "Reika.RotaryCraft.API.Interfaces.Transducerable") } )
|
||||
public abstract class RotaryCraft extends IC2 implements AdvancedShaftPowerReceiver, Transducerable
|
||||
{
|
||||
|
||||
private int omega = 0;
|
||||
@@ -40,16 +45,32 @@ public abstract class RotaryCraft extends IC2 implements ShaftPowerReceiver
|
||||
private long power = 0;
|
||||
private int alpha = 0;
|
||||
|
||||
private long currentPower = 0;
|
||||
|
||||
@TileEvent( TileEventType.TICK )
|
||||
@Method( iname = "RotaryCraft" )
|
||||
public void Tick_RotaryCraft()
|
||||
{
|
||||
if( this.worldObj != null && !this.worldObj.isRemote && this.power > 0 )
|
||||
if( this.worldObj != null && !this.worldObj.isRemote && this.currentPower > 0 )
|
||||
{
|
||||
this.injectExternalPower( PowerUnits.WA, this.power );
|
||||
this.injectExternalPower( PowerUnits.WA, this.currentPower );
|
||||
this.currentPower = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean addPower( int torque, int omega, long power, ForgeDirection side )
|
||||
{
|
||||
this.omega = omega;
|
||||
this.torque = torque;
|
||||
this.power = power;
|
||||
|
||||
this.currentPower += power;
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getOmega()
|
||||
{
|
||||
@@ -86,37 +107,6 @@ public abstract class RotaryCraft extends IC2 implements ShaftPowerReceiver
|
||||
this.alpha = io;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setPower( long p )
|
||||
{
|
||||
if( Platform.isClient() )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this.power = p;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void noInputMachine()
|
||||
{
|
||||
this.power = 0;
|
||||
this.torque = 0;
|
||||
this.omega = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setTorque( int t )
|
||||
{
|
||||
this.torque = t;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setOmega( int o )
|
||||
{
|
||||
this.omega = o;
|
||||
}
|
||||
|
||||
public final boolean canReadFromBlock( int x, int y, int z )
|
||||
{
|
||||
ForgeDirection side = ForgeDirection.UNKNOWN;
|
||||
@@ -164,6 +154,33 @@ public abstract class RotaryCraft extends IC2 implements ShaftPowerReceiver
|
||||
@Override
|
||||
public final int getMinTorque( int available )
|
||||
{
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final ArrayList<String> getMessages( World world, int x, int y, int z, int side )
|
||||
{
|
||||
String out;
|
||||
if( power >= 1000000000 )
|
||||
{
|
||||
out = String.format( "Receiving %.3f GW @ %d rad/s.", power / 1000000000.0D, omega );
|
||||
}
|
||||
else if( power >= 1000000 )
|
||||
{
|
||||
out = String.format( "Receiving %.3f MW @ %d rad/s.", power / 1000000.0D, omega );
|
||||
}
|
||||
else if( power >= 1000 )
|
||||
{
|
||||
out = String.format( "Receiving %.3f kW @ %d rad/s.", power / 1000.0D, omega );
|
||||
}
|
||||
else
|
||||
{
|
||||
out = String.format( "Receiving %d W @ %d rad/s.", power, omega );
|
||||
}
|
||||
|
||||
|
||||
ArrayList<String> messages = new ArrayList<String>( 1 );
|
||||
messages.add( out );
|
||||
return messages;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1863,15 +1863,15 @@ public class Platform
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean isSameItemType( ItemStack ol, ItemStack op )
|
||||
public static boolean isSameItemType( ItemStack that, ItemStack other )
|
||||
{
|
||||
if( ol != null && op != null && ol.getItem() == op.getItem() )
|
||||
if( that != null && other != null && that.getItem() == other.getItem() )
|
||||
{
|
||||
if( ol.isItemStackDamageable() )
|
||||
if( that.isItemStackDamageable() )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return ol.getItemDamage() == ol.getItemDamage();
|
||||
return that.getItemDamage() == other.getItemDamage();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
tile.appliedenergistics2.BlockCableBus.name=AE2-Kabel und/oder Bus
|
||||
tile.appliedenergistics2.BlockCellWorkbench.name=Zellenwerkbank
|
||||
tile.appliedenergistics2.BlockCellWorkbench.name=Speicherzellenwerkbank
|
||||
tile.appliedenergistics2.BlockCharger.name=Ladegerät
|
||||
tile.appliedenergistics2.BlockChest.name=ME-Truhe
|
||||
tile.appliedenergistics2.BlockCondenser.name=Materiekondensator
|
||||
@@ -17,7 +17,7 @@ tile.appliedenergistics2.BlockInscriber.name=Gravurmaschine
|
||||
tile.appliedenergistics2.BlockInterface.name=ME-Schnittstelle
|
||||
tile.appliedenergistics2.BlockQuantumLinkChamber.name=ME-Quantentunnelkammer
|
||||
tile.appliedenergistics2.BlockQuantumRing.name=ME-Quantentunnelring
|
||||
tile.appliedenergistics2.BlockFluix.name=Fluix-Block
|
||||
tile.appliedenergistics2.BlockFluix.name=Fluixblock
|
||||
tile.appliedenergistics2.BlockQuartz.name=Certusquarzblock
|
||||
tile.appliedenergistics2.BlockQuartzChiseled.name=Gemeißelter Certusquarzblock
|
||||
tile.appliedenergistics2.BlockQuartzGlass.name=Quarzglas
|
||||
@@ -50,7 +50,7 @@ tile.appliedenergistics2.BlockCraftingAccelerator.name=Fertigungs-Prozessoreinhe
|
||||
tile.appliedenergistics2.BlockCraftingUnit.name=Fertigungseinheit
|
||||
tile.appliedenergistics2.BlockMolecularAssembler.name=Molekularassembler
|
||||
|
||||
chat.appliedenergistics2.ChestCannotReadStorageCell=ME-Truhe kann Speicherzelle nicht einlesen.
|
||||
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.
|
||||
@@ -148,11 +148,11 @@ gui.appliedenergistics2.Crafts=Fertigt
|
||||
gui.appliedenergistics2.And=und
|
||||
gui.appliedenergistics2.Creates=Kreiert
|
||||
gui.appliedenergistics2.With=mit
|
||||
gui.appliedenergistics2.InWorldCrafting=AE2 In-World-Fertigung
|
||||
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.
|
||||
gui.appliedenergistics2.inWorldPurificationNether=Wirf einen Netherquarzkeim, gemacht aus Netherquarzstaub und Sand, in eine Pfütze Wasser; um den Prozess zu beschleunigen, füge Kristallwachstumsbeschleuniger hinzu.
|
||||
gui.appliedenergistics2.inWorldPurificationFluix=Wirf einen Fluix-Keim, gemacht aus Fluix-Staub und Sand, in eine Pfütze Wasser; um den Prozess zu beschleunigen, füge Kristallwachstumsbeschleuniger hinzu.
|
||||
gui.appliedenergistics2.inWorldPurificationFluix=Wirf einen Fluixkeim, gemacht aus Fluixstaub und Sand, in eine Pfütze Wasser; um den Prozess zu beschleunigen, füge Kristallwachstumsbeschleuniger hinzu.
|
||||
gui.appliedenergistics2.inWorldSingularity=Wirf zum Erschaffen 1 Singularität und 1 Enderstaub zusammen und erzeuge in Reichweite der Items eine Explosion.
|
||||
gui.appliedenergistics2.ChargedQuartz=Geladener Certusquarz entsteht durch Einfügen eines Ungeladenen Certusquarzkristalls in ein Ladegerät, das Energie erhält.
|
||||
gui.appliedenergistics2.ChargedQuartzFind=Geladener Certusquarz kann relativ selten in der Welt gefunden werden, er sieht aus wie gewöhnlicher Certusquarz, aber er funkelt.
|
||||
@@ -309,7 +309,7 @@ waila.appliedenergistics2.Locked=Gesperrt
|
||||
waila.appliedenergistics2.Unlocked=Entsperrt
|
||||
waila.appliedenergistics2.Showing=Zeigt
|
||||
waila.appliedenergistics2.Contains=Enthält
|
||||
waila.appliedenergistics2.Channels=%1$d of %2$d Kanäle
|
||||
waila.appliedenergistics2.Channels=%1$d von %2$d Kanälen
|
||||
|
||||
item.appliedenergistics2.ItemBasicStorageCell.1k.name=1k-ME-Speicherzelle
|
||||
item.appliedenergistics2.ItemBasicStorageCell.4k.name=4k-ME-Speicherzelle
|
||||
@@ -322,7 +322,7 @@ item.appliedenergistics2.ItemFacade.name=Kabelfassade
|
||||
|
||||
item.appliedenergistics2.ItemCrystalSeed.Certus.name=Certusquarzkeim
|
||||
item.appliedenergistics2.ItemCrystalSeed.Nether.name=Netherquarzkeim
|
||||
item.appliedenergistics2.ItemCrystalSeed.Fluix.name=Fluix-Keim
|
||||
item.appliedenergistics2.ItemCrystalSeed.Fluix.name=Fluixkeim
|
||||
item.appliedenergistics2.ItemMaterial.InvalidType.name=Dieses Item ist deaktiviert.
|
||||
item.appliedenergistics2.ItemMaterial.AdvCard.name=Fortgeschrittene Karte
|
||||
item.appliedenergistics2.ItemMaterial.AnnihilationCore.name=Annihilationskern
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
//Blocos
|
||||
tile.appliedenergistics2.BlockCableBus.name=Cabos e/ou Barramentos do AE2
|
||||
tile.appliedenergistics2.BlockCellWorkbench.name=Bancada de Células
|
||||
tile.appliedenergistics2.BlockCharger.name=Carregador
|
||||
@@ -19,7 +20,7 @@ tile.appliedenergistics2.BlockQuantumLinkChamber.name=Câmara de Ligação Quân
|
||||
tile.appliedenergistics2.BlockQuantumRing.name=Anel Quântico ME
|
||||
tile.appliedenergistics2.BlockFluix.name=Bloco de Fluix
|
||||
tile.appliedenergistics2.BlockQuartz.name=Bloco de Quartzo Certus
|
||||
tile.appliedenergistics2.BlockQuartzChiseled.name=Bloco de Quartzo Certus Cinzelado
|
||||
tile.appliedenergistics2.BlockQuartzChiseled.name=Bloco de Quartzo Certus Talhado
|
||||
tile.appliedenergistics2.BlockQuartzGlass.name=Vidro de Quartzo
|
||||
tile.appliedenergistics2.BlockQuartzLamp.name=Vidro Vibrante de Quartzo
|
||||
tile.appliedenergistics2.BlockQuartzPillar.name=Pilar de Quartzo Certus
|
||||
@@ -50,8 +51,8 @@ tile.appliedenergistics2.BlockCraftingAccelerator.name=Unidade de Co-Processamen
|
||||
tile.appliedenergistics2.BlockCraftingUnit.name=Unidade de Fabricação
|
||||
tile.appliedenergistics2.BlockMolecularAssembler.name=Montador Molecular
|
||||
|
||||
// Stairs
|
||||
tile.appliedenergistics2.ChiseledQuartzStairBlock.name=Escadas de Quartzo Certus Cinzelado
|
||||
// Escadas
|
||||
tile.appliedenergistics2.ChiseledQuartzStairBlock.name=Escadas de Quartzo Certus Talhadas
|
||||
tile.appliedenergistics2.FluixStairBlock.name=Escadas de Fluix
|
||||
tile.appliedenergistics2.QuartzPillarStairBlock.name=Escadas de Pilar de Quartzo Certus
|
||||
tile.appliedenergistics2.QuartzStairBlock.name=Escadas de Quartzo Certus
|
||||
@@ -472,7 +473,7 @@ achievement.ae2.IOPort=Embaralhamento de Células de Armazenamentos
|
||||
achievement.ae2.IOPort.desc=Faça uma Porta de ES
|
||||
achievement.ae2.CraftingTerminal=Uma Bancada (Muito) Maior
|
||||
achievement.ae2.CraftingTerminal.desc=Faça um Terminal de Fabricação
|
||||
achievement.ae2.PatternTerminal=Maestro de Fabricação
|
||||
achievement.ae2.PatternTerminal=Maestro da Fabricação
|
||||
achievement.ae2.PatternTerminal.desc=Faça um Terminal de Padrões
|
||||
achievement.ae2.ChargedQuartz=Chocante
|
||||
achievement.ae2.ChargedQuartz.desc=Ache Quartzo Carregado
|
||||
@@ -502,7 +503,7 @@ achievement.ae2.Facade=Estética de Rede
|
||||
achievement.ae2.Facade.desc=Faça uma Fachada de Cabo
|
||||
achievement.ae2.NetworkTool=Diagnóstico de Rede
|
||||
achievement.ae2.NetworkTool.desc=Faça uma Ferramenta de Rede
|
||||
achievement.ae2.PortableCell=Armazenamento Portátil
|
||||
achievement.ae2.PortableCell=Armazenamento Nômade
|
||||
achievement.ae2.PortableCell.desc=Faça uma Célula Portátil
|
||||
achievement.ae2.StorageBus=Potencial Sem Limites
|
||||
achievement.ae2.StorageBus.desc=Faça um Barramento de Armazenamento
|
||||
|
||||
@@ -66,3 +66,4 @@ import=dyes_dense.recipe
|
||||
import=paint_balls.recipe
|
||||
import=crafting.recipe
|
||||
import=vanilla_enhance.recipe
|
||||
import=stairs.recipe
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
shaped=
|
||||
ae2:BlockQuartzChiseled _ _,
|
||||
ae2:BlockQuartzChiseled ae2:BlockQuartzChiseled _,
|
||||
ae2:BlockQuartzChiseled ae2:BlockQuartzChiseled ae2:BlockQuartzChiseled
|
||||
-> 4 ae2:ChiseledQuartzStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockFluix _ _,
|
||||
ae2:BlockFluix ae2:BlockFluix _,
|
||||
ae2:BlockFluix ae2:BlockFluix ae2:BlockFluix
|
||||
-> 4 ae2:FluixStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockQuartzPillar _ _,
|
||||
ae2:BlockQuartzPillar ae2:BlockQuartzPillar _,
|
||||
ae2:BlockQuartzPillar ae2:BlockQuartzPillar ae2:BlockQuartzPillar
|
||||
-> 4 ae2:QuartzPillarStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockQuartz _ _,
|
||||
ae2:BlockQuartz ae2:BlockQuartz _,
|
||||
ae2:BlockQuartz ae2:BlockQuartz ae2:BlockQuartz
|
||||
-> 4 ae2:QuartzStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockSkyStone _ _,
|
||||
ae2:BlockSkyStone ae2:BlockSkyStone _,
|
||||
ae2:BlockSkyStone ae2:BlockSkyStone ae2:BlockSkyStone
|
||||
-> 4 ae2:SkyStoneStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockSkyStone:1 _ _,
|
||||
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 _,
|
||||
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 ae2:BlockSkyStone:1
|
||||
-> 4 ae2:SkyStoneBlockStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockSkyStone:2 _ _,
|
||||
ae2:BlockSkyStone:2 ae2:BlockSkyStone:2 _,
|
||||
ae2:BlockSkyStone:2 ae2:BlockSkyStone:2 ae2:BlockSkyStone:2
|
||||
-> 4 ae2:SkyStoneBrickStairBlock
|
||||
|
||||
shaped=
|
||||
ae2:BlockSkyStone:3 _ _,
|
||||
ae2:BlockSkyStone:3 ae2:BlockSkyStone:3 _,
|
||||
ae2:BlockSkyStone:3 ae2:BlockSkyStone:3 ae2:BlockSkyStone:3
|
||||
-> 4 ae2:SkyStoneSmallBrickStairBlock
|
||||
Reference in New Issue
Block a user