Compare commits
10 Commits
rv4-1.10
...
rv2.stable.2
| Author | SHA1 | Date | |
|---|---|---|---|
| d9f362270b | |||
| 37aef15a02 | |||
| 2d8728f0e1 | |||
| 3498a0902b | |||
| bb4b6719fe | |||
| 34f78a7ce4 | |||
| 064acc21ee | |||
| deeb67f07d | |||
| 2eeaa80b59 | |||
| 7cb485aa48 |
@@ -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 );
|
||||
|
||||
@@ -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
|
||||
{
|
||||
/**
|
||||
|
||||
@@ -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