large crafting storage block (#236)
No files matched your search
@@ -173,6 +173,14 @@ public interface IBlocks {
|
||||
|
||||
ITileDefinition craftingStorage64k();
|
||||
|
||||
ITileDefinition craftingStorage256k();
|
||||
|
||||
ITileDefinition craftingStorage1024k();
|
||||
|
||||
ITileDefinition craftingStorage4096k();
|
||||
|
||||
ITileDefinition craftingStorage16384k();
|
||||
|
||||
ITileDefinition craftingMonitor();
|
||||
|
||||
ITileDefinition molecularAssembler();
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package appeng.block.crafting;
|
||||
|
||||
import appeng.client.texture.ExtraBlockTextures;
|
||||
import appeng.tile.crafting.TileCraftingStorageTile;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
public class BlockAdvancedCraftingStorage extends BlockCraftingStorage {
|
||||
|
||||
public BlockAdvancedCraftingStorage() {
|
||||
this.setTileEntity(TileCraftingStorageTile.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(final int direction, final int metadata) {
|
||||
switch (metadata & (~4)) {
|
||||
default:
|
||||
return super.getIcon(0, -1);
|
||||
case 0:
|
||||
return ExtraBlockTextures.BlockCraftingStorage256k.getIcon();
|
||||
case 1:
|
||||
return ExtraBlockTextures.BlockCraftingStorage1024k.getIcon();
|
||||
case 2:
|
||||
return ExtraBlockTextures.BlockCraftingStorage4096k.getIcon();
|
||||
case 3:
|
||||
return ExtraBlockTextures.BlockCraftingStorage16384k.getIcon();
|
||||
|
||||
case FLAG_FORMED:
|
||||
return ExtraBlockTextures.BlockCraftingStorage256kFit.getIcon();
|
||||
case 1 | FLAG_FORMED:
|
||||
return ExtraBlockTextures.BlockCraftingStorage1024kFit.getIcon();
|
||||
case 2 | FLAG_FORMED:
|
||||
return ExtraBlockTextures.BlockCraftingStorage4096kFit.getIcon();
|
||||
case 3 | FLAG_FORMED:
|
||||
return ExtraBlockTextures.BlockCraftingStorage16384kFit.getIcon();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(final ItemStack is) {
|
||||
switch (is.getItemDamage()) {
|
||||
case 0:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage256k";
|
||||
case 1:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage1024k";
|
||||
case 2:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage4096k";
|
||||
case 3:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage16384k";
|
||||
default:
|
||||
return this.getItemUnlocalizedName(is);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -74,18 +74,15 @@ public class BlockCraftingStorage extends BlockCraftingUnit {
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(final ItemStack is) {
|
||||
if (is.getItemDamage() == 1) {
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage4k";
|
||||
switch (is.getItemDamage()) {
|
||||
case 1:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage4k";
|
||||
case 2:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage16k";
|
||||
case 3:
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage64k";
|
||||
default:
|
||||
return this.getItemUnlocalizedName(is);
|
||||
}
|
||||
|
||||
if (is.getItemDamage() == 2) {
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage16k";
|
||||
}
|
||||
|
||||
if (is.getItemDamage() == 3) {
|
||||
return "tile.appliedenergistics2.BlockCraftingStorage64k";
|
||||
}
|
||||
|
||||
return this.getItemUnlocalizedName(is);
|
||||
}
|
||||
}
|
||||
@@ -53,7 +53,7 @@ public class BlockCraftingUnit extends AEBaseTileBlock {
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected RenderBlockCraftingCPU<? extends BlockCraftingUnit, ? extends TileCraftingTile> getRenderer() {
|
||||
return new RenderBlockCraftingCPU<BlockCraftingUnit, TileCraftingTile>();
|
||||
return new RenderBlockCraftingCPU<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -138,7 +138,6 @@ public class BlockCraftingUnit extends AEBaseTileBlock {
|
||||
} else if (is.getItemDamage() == 3) {
|
||||
return "tile.appliedenergistics2.BlockCraftingAccelerator16x";
|
||||
}
|
||||
|
||||
return this.getItemUnlocalizedName(is);
|
||||
}
|
||||
|
||||
|
||||
@@ -116,6 +116,10 @@ public enum ExtraBlockTextures {
|
||||
BlockCraftingStorage4k("BlockCraftingStorage4k"),
|
||||
BlockCraftingStorage16k("BlockCraftingStorage16k"),
|
||||
BlockCraftingStorage64k("BlockCraftingStorage64k"),
|
||||
BlockCraftingStorage256k("BlockCraftingStorage256k"),
|
||||
BlockCraftingStorage1024k("BlockCraftingStorage1024k"),
|
||||
BlockCraftingStorage4096k("BlockCraftingStorage4096k"),
|
||||
BlockCraftingStorage16384k("BlockCraftingStorage16384k"),
|
||||
|
||||
BlockCraftingAcceleratorFit("BlockCraftingAcceleratorFit"),
|
||||
BlockCraftingAccelerator4xFit("BlockCraftingAccelerator4xFit"),
|
||||
@@ -129,6 +133,10 @@ public enum ExtraBlockTextures {
|
||||
BlockCraftingStorage4kFit("BlockCraftingStorage4kFit"),
|
||||
BlockCraftingStorage16kFit("BlockCraftingStorage16kFit"),
|
||||
BlockCraftingStorage64kFit("BlockCraftingStorage64kFit"),
|
||||
BlockCraftingStorage256kFit("BlockCraftingStorage256kFit"),
|
||||
BlockCraftingStorage1024kFit("BlockCraftingStorage1024kFit"),
|
||||
BlockCraftingStorage4096kFit("BlockCraftingStorage4096kFit"),
|
||||
BlockCraftingStorage16384kFit("BlockCraftingStorage16384kFit"),
|
||||
|
||||
BlockCraftingUnitRing("BlockCraftingUnitRing"),
|
||||
BlockCraftingUnitRingLongRotated("BlockCraftingUnitRingLongRotated"),
|
||||
|
||||
@@ -23,10 +23,7 @@ import appeng.api.definitions.IBlocks;
|
||||
import appeng.api.definitions.ITileDefinition;
|
||||
import appeng.api.util.IOrientableBlock;
|
||||
import appeng.block.AEBaseSlabBlock;
|
||||
import appeng.block.crafting.BlockCraftingMonitor;
|
||||
import appeng.block.crafting.BlockCraftingStorage;
|
||||
import appeng.block.crafting.BlockCraftingUnit;
|
||||
import appeng.block.crafting.BlockMolecularAssembler;
|
||||
import appeng.block.crafting.*;
|
||||
import appeng.block.grindstone.BlockCrank;
|
||||
import appeng.block.grindstone.BlockGrinder;
|
||||
import appeng.block.misc.*;
|
||||
@@ -102,6 +99,10 @@ public final class ApiBlocks implements IBlocks {
|
||||
private final ITileDefinition craftingStorage4k;
|
||||
private final ITileDefinition craftingStorage16k;
|
||||
private final ITileDefinition craftingStorage64k;
|
||||
private final ITileDefinition craftingStorage256k;
|
||||
private final ITileDefinition craftingStorage1024k;
|
||||
private final ITileDefinition craftingStorage4096k;
|
||||
private final ITileDefinition craftingStorage16384k;
|
||||
private final ITileDefinition craftingMonitor;
|
||||
private final ITileDefinition molecularAssembler;
|
||||
private final ITileDefinition lightDetector;
|
||||
@@ -188,6 +189,10 @@ public final class ApiBlocks implements IBlocks {
|
||||
this.craftingStorage4k = new WrappedDamageItemDefinition(this.craftingStorage1k, 1);
|
||||
this.craftingStorage16k = new WrappedDamageItemDefinition(this.craftingStorage1k, 2);
|
||||
this.craftingStorage64k = new WrappedDamageItemDefinition(this.craftingStorage1k, 3);
|
||||
this.craftingStorage256k = constructor.registerTileDefinition(new BlockAdvancedCraftingStorage());
|
||||
this.craftingStorage1024k = new WrappedDamageItemDefinition(this.craftingStorage256k, 1);
|
||||
this.craftingStorage4096k = new WrappedDamageItemDefinition(this.craftingStorage256k, 2);
|
||||
this.craftingStorage16384k = new WrappedDamageItemDefinition(this.craftingStorage256k, 3);
|
||||
this.craftingMonitor = constructor.registerTileDefinition(new BlockCraftingMonitor());
|
||||
this.molecularAssembler = constructor.registerTileDefinition(new BlockMolecularAssembler());
|
||||
this.lightDetector = constructor.registerTileDefinition(lightDetector);
|
||||
@@ -540,6 +545,26 @@ public final class ApiBlocks implements IBlocks {
|
||||
return this.craftingStorage64k;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITileDefinition craftingStorage256k() {
|
||||
return this.craftingStorage256k;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITileDefinition craftingStorage1024k() {
|
||||
return this.craftingStorage1024k;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITileDefinition craftingStorage4096k() {
|
||||
return this.craftingStorage4096k;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITileDefinition craftingStorage16384k() {
|
||||
return this.craftingStorage16384k;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITileDefinition craftingMonitor() {
|
||||
return this.craftingMonitor;
|
||||
|
||||
@@ -48,7 +48,7 @@ public final class DisassembleRecipe implements IRecipe {
|
||||
final IMaterials mats = definitions.materials();
|
||||
|
||||
this.cellMappings = new HashMap<>(8);
|
||||
this.nonCellMappings = new HashMap<>(5);
|
||||
this.nonCellMappings = new HashMap<>(9);
|
||||
|
||||
this.cellMappings.put(items.cell1k(), mats.cell1kPart());
|
||||
this.cellMappings.put(items.cell4k(), mats.cell4kPart());
|
||||
@@ -64,6 +64,10 @@ public final class DisassembleRecipe implements IRecipe {
|
||||
this.nonCellMappings.put(blocks.craftingStorage4k(), mats.cell4kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage16k(), mats.cell16kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage64k(), mats.cell64kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage256k(), mats.cell256kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage1024k(), mats.cell1024kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage4096k(), mats.cell4096kPart());
|
||||
this.nonCellMappings.put(blocks.craftingStorage16384k(), mats.cell16384kPart());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,6 +20,8 @@ package appeng.tile.crafting;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IBlocks;
|
||||
import appeng.block.crafting.BlockAdvancedCraftingStorage;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class TileCraftingStorageTile extends TileCraftingTile {
|
||||
@@ -49,6 +51,30 @@ public class TileCraftingStorageTile extends TileCraftingTile {
|
||||
return stack;
|
||||
}
|
||||
break;
|
||||
case 256:
|
||||
for (final ItemStack stack :
|
||||
blocks.craftingStorage256k().maybeStack(1).asSet()) {
|
||||
return stack;
|
||||
}
|
||||
break;
|
||||
case 1024:
|
||||
for (final ItemStack stack :
|
||||
blocks.craftingStorage1024k().maybeStack(1).asSet()) {
|
||||
return stack;
|
||||
}
|
||||
break;
|
||||
case 4096:
|
||||
for (final ItemStack stack :
|
||||
blocks.craftingStorage4096k().maybeStack(1).asSet()) {
|
||||
return stack;
|
||||
}
|
||||
break;
|
||||
case 16384:
|
||||
for (final ItemStack stack :
|
||||
blocks.craftingStorage16384k().maybeStack(1).asSet()) {
|
||||
return stack;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return super.getItemFromTile(obj);
|
||||
@@ -69,17 +95,19 @@ public class TileCraftingStorageTile extends TileCraftingTile {
|
||||
if (this.worldObj == null || this.notLoaded()) {
|
||||
return 0;
|
||||
}
|
||||
Block block = this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord);
|
||||
int blockMultiplier = block instanceof BlockAdvancedCraftingStorage ? 256 : 1;
|
||||
|
||||
switch (this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord) & 3) {
|
||||
default:
|
||||
case 0:
|
||||
return 1024;
|
||||
return KILO_SCALAR * blockMultiplier;
|
||||
case 1:
|
||||
return 4 * 1024;
|
||||
return 4 * KILO_SCALAR * blockMultiplier;
|
||||
case 2:
|
||||
return 16 * 1024;
|
||||
return 16 * KILO_SCALAR * blockMultiplier;
|
||||
case 3:
|
||||
return 64 * 1024;
|
||||
return 64 * KILO_SCALAR * blockMultiplier;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,10 @@ tile.appliedenergistics2.BlockCraftingStorage.name=1k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage4k.name=4k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage16k.name=16k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage64k.name=64k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage256k.name=256k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage1024k.name=1024k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage4096k.name=4096k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingStorage16384k.name=16384k Crafting Storage
|
||||
tile.appliedenergistics2.BlockCraftingAccelerator.name=Crafting Co-Processing Unit
|
||||
tile.appliedenergistics2.BlockCraftingAccelerator4x.name=Quad Core Co-Processing Unit
|
||||
tile.appliedenergistics2.BlockCraftingAccelerator16x.name=16 Core Co-Processing Unit
|
||||
|
||||
@@ -49,3 +49,23 @@ shapeless=
|
||||
ae2:BlockCraftingUnit:0
|
||||
ae2:ItemMaterial.Cell64kPart
|
||||
-> ae2:BlockCraftingStorage:3
|
||||
|
||||
shapeless=
|
||||
ae2:BlockCraftingUnit:0
|
||||
ae2:ItemMaterial.Cell256kPart
|
||||
-> ae2:BlockAdvancedCraftingStorage:0
|
||||
|
||||
shapeless=
|
||||
ae2:BlockCraftingUnit:0
|
||||
ae2:ItemMaterial.Cell1024kPart
|
||||
-> ae2:BlockAdvancedCraftingStorage:1
|
||||
|
||||
shapeless=
|
||||
ae2:BlockCraftingUnit:0
|
||||
ae2:ItemMaterial.Cell4096kPart
|
||||
-> ae2:BlockAdvancedCraftingStorage:2
|
||||
|
||||
shapeless=
|
||||
ae2:BlockCraftingUnit:0
|
||||
ae2:ItemMaterial.Cell16384kPart
|
||||
-> ae2:BlockAdvancedCraftingStorage:3
|
||||
|
After Width: | Height: | Size: 364 B |
|
After Width: | Height: | Size: 313 B |
|
After Width: | Height: | Size: 394 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 312 B |
|
After Width: | Height: | Size: 341 B |
|
After Width: | Height: | Size: 293 B |