Compare commits

...

10 Commits

Author SHA1 Message Date
yueh 5dfca5eb93 Merge pull request #1776 from yueh/feature-1283
Closes #1283: Add custom Callable to prevent memory leaks
2015-08-22 23:22:17 +02:00
yueh 26daaf2232 Merge pull request #1805 from yueh/feature-recipes-refactoring
Reorganizes the recipes in a more reasonable way.
2015-08-22 23:21:14 +02:00
yueh c2022a7208 Reorganizes the recipes in a more reasonable way.
The recipes are now structured into multipe subfolder and split into more
distinct files, so the names are more appropriate and are better at
hinting which items the actually contain.

It also extends the RecipeResourceCopier to now handle the folder
recursively and extract all subdirectories and their files.

"import=" is currently requiring a relative path to the root directory
of the recipes. This would require a larger rewrite/refactoring, thus it
is kept for now until a potentially later changer.

This reverts splitting the oredict entries into their own directory and
moves them back into the recipes folder, as it currently is causing a
couple of issues like not being able to resolve the aliases or is not
working indev. But to keep it seperate it is now its own recipe file.

Fixes #1791
Reverts #1635
2015-08-21 12:23:20 +02:00
yueh 74c2e1fab9 Merge pull request #1823 from yueh/fix-1810
Fixes #1810: Removes a CompassReader once the world is unloaded.
2015-08-20 23:05:58 +02:00
yueh 0de7a2d83a Closes #1283: Add custom Callable to prevent memory leaks 2015-08-20 21:04:06 +02:00
yueh 517a832ac1 Fixes #1810: Removes a CompassReader once the world is unloaded.
This should no longer keep a reference to a World around and potentially
keep them loaded.
Also added a finalize() to CompassRegion to ensure the file is closed on a
GC.

Some cleanup regarding member order, final, etc
2015-08-20 19:04:33 +02:00
yueh 1ecc811559 Merge pull request #1813 from yueh/fix-1481
Fixes #1481: Not using the right itemcount in a few cases
2015-08-16 15:39:33 +02:00
yueh 7dd283cf9f Fixes 1481: Not using the right itemcount in a few cases 2015-08-16 15:32:58 +02:00
yueh a12ef1e534 Merge pull request #1807 from yueh/fix-1806
Wrong culling direction when rendering inscriber
2015-08-15 21:25:29 +02:00
yueh a567dcc026 Wrong culling direction when rendering inscriber
Fixes #1806
2015-08-15 19:48:12 +02:00
118 changed files with 1868 additions and 1824 deletions
+1 -2
View File
@@ -98,9 +98,8 @@ sourceSets {
resources {
srcDir "src/main/resources/"
include "assets/appliedenergistics2/recipes/*.recipe",
include "assets/appliedenergistics2/recipes/**/*.recipe",
"assets/appliedenergistics2/recipes/README.html",
"assets/appliedenergistics2/oredict/*.oredict",
"assets/appliedenergistics2/lang/*.lang",
"assets/appliedenergistics2/textures/blocks/*",
"assets/appliedenergistics2/textures/guis/*",
@@ -159,6 +159,7 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL12.GL_RESCALE_NORMAL );
GL11.glCullFace( GL11.GL_FRONT );
Minecraft mc = Minecraft.getMinecraft();
mc.renderEngine.bindTexture( TextureMap.locationBlocksTexture );
@@ -224,6 +225,9 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
tess.draw();
GL11.glCullFace( GL11.GL_BACK );
GL11.glEnable( GL11.GL_LIGHTING );
GL11.glEnable( GL12.GL_RESCALE_NORMAL );
GL11.glPopMatrix();
int items = 0;
+2 -6
View File
@@ -22,6 +22,7 @@ package appeng.core;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import javax.annotation.Nonnull;
import com.google.common.base.Preconditions;
@@ -29,7 +30,6 @@ import com.google.common.base.Preconditions;
import org.apache.commons.io.FileUtils;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.IRecipeLoader;
import appeng.recipes.loader.ConfigLoader;
import appeng.recipes.loader.JarLoader;
import appeng.recipes.loader.RecipeResourceCopier;
@@ -69,11 +69,7 @@ public class RecipeLoader implements Runnable
final File readmeGenDest = new File( generatedRecipesDir, "README.html" );
final File readmeUserDest = new File( userRecipesDir, "README.html" );
final IRecipeLoader oreDictLoader = new JarLoader( "/assets/appliedenergistics2/oredict/" );
this.handler.parseRecipes( oreDictLoader, "vanilla.oredict" );
this.handler.parseRecipes( oreDictLoader, "ae2.oredict" );
// generates generated and user recipes dir
// generates generated and user recipes dir
// will clean the generated every time to keep it up to date
// copies over the recipes in the jar over to the generated folder
// copies over the readmes
+14 -11
View File
@@ -25,7 +25,6 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
import java.util.WeakHashMap;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import com.google.common.base.Stopwatch;
@@ -55,6 +54,7 @@ import appeng.entity.EntityFloatingItem;
import appeng.me.Grid;
import appeng.me.NetworkList;
import appeng.tile.AEBaseTile;
import appeng.util.IWorldCallable;
import appeng.util.Platform;
@@ -62,9 +62,9 @@ public class TickHandler
{
public static final TickHandler INSTANCE = new TickHandler();
final Queue<Callable> serverQueue = new LinkedList<Callable>();
final Queue<IWorldCallable<?>> serverQueue = new LinkedList<IWorldCallable<?>>();
final Multimap<World, CraftingJob> craftingJobs = LinkedListMultimap.create();
private final WeakHashMap<World, Queue<Callable>> callQueue = new WeakHashMap<World, Queue<Callable>>();
private final WeakHashMap<World, Queue<IWorldCallable<?>>> callQueue = new WeakHashMap<World, Queue<IWorldCallable<?>>>();
private final HandlerRep server = new HandlerRep();
private final HandlerRep client = new HandlerRep();
private final HashMap<Integer, PlayerColor> cliPlayerColors = new HashMap<Integer, PlayerColor>();
@@ -80,7 +80,7 @@ public class TickHandler
return this.cliPlayerColors;
}
public void addCallable( World w, Callable c )
public void addCallable( World w, IWorldCallable<?> c )
{
if( w == null )
{
@@ -88,11 +88,12 @@ public class TickHandler
}
else
{
Queue<Callable> queue = this.callQueue.get( w );
Queue<IWorldCallable<?>> queue = this.callQueue.get( w );
if( queue == null )
{
this.callQueue.put( w, queue = new LinkedList<Callable>() );
queue = new LinkedList<IWorldCallable<?>>();
this.callQueue.put( w, queue );
}
queue.add( c );
@@ -239,13 +240,15 @@ public class TickHandler
}
// cross world queue.
this.processQueue( this.serverQueue );
this.processQueue( this.serverQueue, null );
}
// world synced queue(s)
if( ev.type == Type.WORLD && ev.phase == Phase.START )
{
this.processQueue( this.callQueue.get( ( (WorldTickEvent) ev ).world ) );
final World world = ( (WorldTickEvent) ev ).world;
final Queue<IWorldCallable<?>> queue = this.callQueue.get( world );
this.processQueue( queue, world );
}
}
@@ -263,7 +266,7 @@ public class TickHandler
}
}
private void processQueue( Queue<Callable> queue )
private void processQueue( Queue<IWorldCallable<?>> queue, World world )
{
if( queue == null )
{
@@ -272,12 +275,12 @@ public class TickHandler
Stopwatch sw = Stopwatch.createStarted();
Callable c = null;
IWorldCallable<?> c = null;
while( ( c = queue.poll() ) != null )
{
try
{
c.call();
c.call( world );
if( sw.elapsed( TimeUnit.MILLISECONDS ) > 50 )
{
+3 -3
View File
@@ -25,7 +25,6 @@ import java.util.Deque;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.Callable;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@@ -52,6 +51,7 @@ import appeng.api.util.IReadOnlyCollection;
import appeng.core.worlddata.WorldData;
import appeng.hooks.TickHandler;
import appeng.me.pathfinding.IPathItem;
import appeng.util.IWorldCallable;
import appeng.util.ReadOnlyCollection;
@@ -669,7 +669,7 @@ public class GridNode implements IGridNode, IPathItem
return this.lastUsedChannels;
}
private static class MachineSecurityBreak implements Callable<Void>
private static class MachineSecurityBreak implements IWorldCallable<Void>
{
private final GridNode node;
@@ -679,7 +679,7 @@ public class GridNode implements IGridNode, IPathItem
}
@Override
public Void call() throws Exception
public Void call(World world) throws Exception
{
this.node.getMachine().securityBreak();
+5 -3
View File
@@ -20,13 +20,15 @@ package appeng.me.cache.helpers;
import java.util.HashMap;
import java.util.concurrent.Callable;
import net.minecraft.world.World;
import appeng.api.networking.IGridNode;
import appeng.parts.p2p.PartP2PTunnelME;
import appeng.util.IWorldCallable;
public class Connections implements Callable
public class Connections implements IWorldCallable<Void>
{
public final HashMap<IGridNode, TunnelConnection> connections = new HashMap<IGridNode, TunnelConnection>();
@@ -40,7 +42,7 @@ public class Connections implements Callable
}
@Override
public Object call() throws Exception
public Void call( World world ) throws Exception
{
this.me.updateConnections( this );
@@ -395,6 +395,7 @@ public class CellInventory implements ICellInventory
* if ( tagType instanceof NBTTagShort ) ((NBTTagShort) tagType).data = storedItems = (short) cellItems.size();
* else
*/
this.storedItems = (short) this.cellItems.size();
if( this.cellItems.isEmpty() )
{
this.tagCompound.removeTag( ITEM_TYPE_TAG );
@@ -403,11 +404,11 @@ public class CellInventory implements ICellInventory
{
this.tagCompound.setShort( ITEM_TYPE_TAG, this.storedItems );
}
this.storedItems = (short) this.cellItems.size();
/*
* if ( tagCount instanceof NBTTagInt ) ((NBTTagInt) tagCount).data = storedItemCount = itemCount; else
*/
this.storedItemCount = itemCount;
if( itemCount == 0 )
{
this.tagCompound.removeTag( ITEM_COUNT_TAG );
@@ -416,7 +417,6 @@ public class CellInventory implements ICellInventory
{
this.tagCompound.setInteger( ITEM_COUNT_TAG, itemCount );
}
this.storedItemCount = itemCount;
// clean any old crusty stuff...
for( ; x < oldStoredItems && x < this.maxItemTypes; x++ )
@@ -20,7 +20,6 @@ package appeng.parts.automation;
import java.util.List;
import java.util.concurrent.Callable;
import com.google.common.collect.Lists;
@@ -34,6 +33,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.util.ForgeDirection;
@@ -65,11 +65,12 @@ import appeng.hooks.TickHandler;
import appeng.me.GridAccessException;
import appeng.parts.PartBasicState;
import appeng.server.ServerHelper;
import appeng.util.IWorldCallable;
import appeng.util.Platform;
import appeng.util.item.AEItemStack;
public class PartAnnihilationPlane extends PartBasicState implements IGridTickable, Callable<TickRateModulation>
public class PartAnnihilationPlane extends PartBasicState implements IGridTickable, IWorldCallable<TickRateModulation>
{
private final static IIcon SIDE_ICON = CableBusTextures.PartPlaneSides.getIcon();
private final static IIcon BACK_ICON = CableBusTextures.PartTransitionPlaneBack.getIcon();
@@ -86,7 +87,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab
}
@Override
public TickRateModulation call() throws Exception
public TickRateModulation call(World world) throws Exception
{
this.breaking = false;
return this.breakBlock( true );
@@ -19,13 +19,12 @@
package appeng.parts.p2p;
import java.util.concurrent.Callable;
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;
@@ -52,6 +51,7 @@ 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 = "OpenComputers" ), @Interface( iface = "li.cil.oc.api.network.SidedEnvironment", iname = "OpenComputers" ) } )
@@ -60,7 +60,7 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
@Nullable
private final Node node;
private final Callable<Void> updateCallback;
private final IWorldCallable<Void> updateCallback;
public PartP2POpenComputers( ItemStack is )
{
@@ -239,11 +239,11 @@ public final class PartP2POpenComputers extends PartP2PTunnel<PartP2POpenCompute
return side == this.side;
}
private final class UpdateCallback implements Callable<Void>
private final class UpdateCallback implements IWorldCallable<Void>
{
@Nullable
@Override
public Void call() throws Exception
public Void call( World world ) throws Exception
{
PartP2POpenComputers.this.updateConnections();
@@ -88,22 +88,60 @@ public class RecipeResourceCopier
Preconditions.checkNotNull( destination );
Preconditions.checkArgument( destination.isDirectory() );
final String[] listing = this.getResourceListing( this.getClass(), this.root );
this.copyTo( destination, this.root );
}
/**
* @see {RecipeResourceCopier#copyTo(File)}
*
* @param destination destination folder to which the recipes are copied to
* @param directory the folder to copy.
*
* @throws URISyntaxException {@see #getResourceListing}
* @throws IOException {@see #getResourceListing} and if copying the detected resource to file is not possible
*/
private void copyTo( File destination, String directory ) throws URISyntaxException, IOException
{
assert destination != null;
assert directory != null;
final String[] listing = this.getResourceListing( this.getClass(), directory );
for( String list : listing )
{
if( list.endsWith( ".recipe" ) || list.endsWith( ".html" ) )
{
final InputStream inStream = this.getClass().getResourceAsStream( '/' + this.root + list );
final File outFile = new File( destination, list );
if( !outFile.exists() )
{
if( inStream != null )
{
FileUtils.copyInputStreamToFile( inStream, outFile );
inStream.close();
}
}
this.copyFile( destination, directory, list );
}
else if( !list.contains( "." ) )
{
final File subDirectory = new File( destination, list );
FileUtils.forceMkdir( subDirectory );
this.copyTo( subDirectory, directory + list + "/" );
}
}
}
/**
* Copies a single file inside a folder to the destination.
*
* @param destination folder to which the file is copied to
* @param directory the directory containing the file
* @param fileName the fily to copy
*
* @throws IOException if copying the file is not possible
*/
private void copyFile( File destination, String directory, String fileName ) throws IOException
{
assert destination != null;
assert fileName != null;
final InputStream inStream = this.getClass().getResourceAsStream( '/' + directory + fileName );
final File outFile = new File( destination, fileName );
if( !outFile.exists() && inStream != null )
{
FileUtils.copyInputStreamToFile( inStream, outFile );
inStream.close();
}
}
@@ -35,11 +35,15 @@ import com.google.common.base.Preconditions;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.event.world.WorldEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import appeng.api.AEApi;
import appeng.api.util.DimensionalCoord;
import appeng.services.compass.CompassReader;
import appeng.services.compass.ICompassCallback;
import appeng.util.Platform;
public final class CompassService
@@ -71,6 +75,22 @@ public final class CompassService
return this.executor.submit( new CMDirectionRequest( coord, maxRange, cc ) );
}
/**
* Ensure the a compass service is removed once a world gets unloaded by forge.
*
* @param event the event containing the unloaded world.
*/
@SubscribeEvent
public void unloadWorld( WorldEvent.Unload event )
{
if( Platform.isServer() && this.worldSet.containsKey( event.world ) )
{
final CompassReader compassReader = this.worldSet.remove( event.world );
compassReader.close();
}
}
public int jobSize()
{
return this.jobSize;
@@ -78,7 +98,7 @@ public final class CompassService
public void cleanUp()
{
for( CompassReader cr : this.worldSet.values() )
for( final CompassReader cr : this.worldSet.values() )
{
cr.close();
}
@@ -86,8 +106,8 @@ public final class CompassService
public void updateArea( World w, int chunkX, int chunkZ )
{
int x = chunkX << 4;
int z = chunkZ << 4;
final int x = chunkX << 4;
final int z = chunkZ << 4;
this.updateArea( w, x, CHUNK_SIZE, z );
this.updateArea( w, x, CHUNK_SIZE + 32, z );
@@ -104,17 +124,17 @@ public final class CompassService
{
this.jobSize++;
int cx = x >> 4;
int cdy = y >> 5;
int cz = z >> 4;
final int cx = x >> 4;
final int cdy = y >> 5;
final int cz = z >> 4;
int low_y = cdy << 5;
int hi_y = low_y + 32;
final int low_y = cdy << 5;
final int hi_y = low_y + 32;
// lower level...
Chunk c = w.getChunkFromBlockCoords( x, z );
final Chunk c = w.getChunkFromBlockCoords( x, z );
for( Block skyStoneBlock : AEApi.instance().definitions().blocks().skyStone().maybeBlock().asSet() )
for( final Block skyStoneBlock : AEApi.instance().definitions().blocks().skyStone().maybeBlock().asSet() )
{
for( int i = 0; i < CHUNK_SIZE; i++ )
{
@@ -122,7 +142,7 @@ public final class CompassService
{
for( int k = low_y; k < hi_y; k++ )
{
Block blk = c.getBlock( i, k, j );
final Block blk = c.getBlock( i, k, j );
if( blk == skyStoneBlock && c.getBlockMetadata( i, k, j ) == 0 )
{
return this.executor.submit( new CMUpdatePost( w, cx, cz, cdy, true ) );
@@ -135,6 +155,28 @@ public final class CompassService
return this.executor.submit( new CMUpdatePost( w, cx, cz, cdy, false ) );
}
public void kill()
{
this.executor.shutdown();
try
{
this.executor.awaitTermination( 6, TimeUnit.MINUTES );
this.jobSize = 0;
for( final CompassReader cr : this.worldSet.values() )
{
cr.close();
}
this.worldSet.clear();
}
catch( final InterruptedException e )
{
// wrap this up..
}
}
private CompassReader getReader( World w )
{
CompassReader cr = this.worldSet.get( w );
@@ -150,42 +192,20 @@ public final class CompassService
private int dist( int ax, int az, int bx, int bz )
{
int up = ( bz - az ) * CHUNK_SIZE;
int side = ( bx - ax ) * CHUNK_SIZE;
final int up = ( bz - az ) * CHUNK_SIZE;
final int side = ( bx - ax ) * CHUNK_SIZE;
return up * up + side * side;
}
private double rad( int ax, int az, int bx, int bz )
{
int up = bz - az;
int side = bx - ax;
final int up = bz - az;
final int side = bx - ax;
return Math.atan2( -up, side ) - Math.PI / 2.0;
}
public void kill()
{
this.executor.shutdown();
try
{
this.executor.awaitTermination( 6, TimeUnit.MINUTES );
this.jobSize = 0;
for( CompassReader cr : this.worldSet.values() )
{
cr.close();
}
this.worldSet.clear();
}
catch( InterruptedException e )
{
// wrap this up..
}
}
private class CMUpdatePost implements Runnable
{
@@ -210,7 +230,7 @@ public final class CompassService
{
CompassService.this.jobSize--;
CompassReader cr = CompassService.this.getReader( this.world );
final CompassReader cr = CompassService.this.getReader( this.world );
cr.setHasBeacon( this.chunkX, this.chunkZ, this.doubleChunkY, this.value );
if( CompassService.this.jobSize() < 2 )
@@ -239,10 +259,10 @@ public final class CompassService
{
CompassService.this.jobSize--;
int cx = this.coord.x >> 4;
int cz = this.coord.z >> 4;
final int cx = this.coord.x >> 4;
final int cz = this.coord.z >> 4;
CompassReader cr = CompassService.this.getReader( this.coord.getWorld() );
final CompassReader cr = CompassService.this.getReader( this.coord.getWorld() );
// Am I standing on it?
if( cr.hasBeacon( cx, cz ) )
@@ -260,10 +280,10 @@ public final class CompassService
// spiral outward...
for( int offset = 1; offset < this.maxRange; offset++ )
{
int minX = cx - offset;
int minZ = cz - offset;
int maxX = cx + offset;
int maxZ = cz + offset;
final int minX = cx - offset;
final int minZ = cz - offset;
final int maxX = cx + offset;
final int maxZ = cz + offset;
int closest = Integer.MAX_VALUE;
int chosen_x = cx;
@@ -273,7 +293,7 @@ public final class CompassService
{
if( cr.hasBeacon( minX, z ) )
{
int closeness = CompassService.this.dist( cx, cz, minX, z );
final int closeness = CompassService.this.dist( cx, cz, minX, z );
if( closeness < closest )
{
closest = closeness;
@@ -284,7 +304,7 @@ public final class CompassService
if( cr.hasBeacon( maxX, z ) )
{
int closeness = CompassService.this.dist( cx, cz, maxX, z );
final int closeness = CompassService.this.dist( cx, cz, maxX, z );
if( closeness < closest )
{
closest = closeness;
@@ -298,7 +318,7 @@ public final class CompassService
{
if( cr.hasBeacon( x, minZ ) )
{
int closeness = CompassService.this.dist( cx, cz, x, minZ );
final int closeness = CompassService.this.dist( cx, cz, x, minZ );
if( closeness < closest )
{
closest = closeness;
@@ -309,7 +329,7 @@ public final class CompassService
if( cr.hasBeacon( x, maxZ ) )
{
int closeness = CompassService.this.dist( cx, cz, x, maxZ );
final int closeness = CompassService.this.dist( cx, cz, x, maxZ );
if( closeness < closest )
{
closest = closeness;
@@ -55,10 +55,18 @@ public final class CompassReader
public void setHasBeacon( int cx, int cz, int cdy, boolean hasBeacon )
{
CompassRegion r = this.getRegion( cx, cz );
final CompassRegion r = this.getRegion( cx, cz );
r.setHasBeacon( cx, cz, cdy, hasBeacon );
}
public boolean hasBeacon( int cx, int cz )
{
final CompassRegion r = this.getRegion( cx, cz );
return r.hasBeacon( cx, cz );
}
private CompassRegion getRegion( int cx, int cz )
{
long pos = cx >> 10;
@@ -66,6 +74,7 @@ public final class CompassReader
pos |= ( cz >> 10 );
CompassRegion cr = this.regions.get( pos );
if( cr == null )
{
cr = new CompassRegion( cx, cz, this.dimensionId, this.worldCompassFolder );
@@ -74,10 +83,4 @@ public final class CompassReader
return cr;
}
public boolean hasBeacon( int cx, int cz )
{
CompassRegion r = this.getRegion( cx, cz );
return r.hasBeacon( cx, cz );
}
}
@@ -52,8 +52,8 @@ public final class CompassRegion
this.worldCompassFolder = worldCompassFolder;
this.encoder = new MeteorDataNameEncoder( 0 );
int region_x = cx >> 10;
int region_z = cz >> 10;
final int region_x = cx >> 10;
final int region_z = cz >> 10;
this.lowX = region_x << 10;
this.lowZ = region_z << 10;
@@ -61,42 +61,6 @@ public final class CompassRegion
this.openFile( false );
}
private void openFile( boolean create )
{
if( this.hasFile )
{
return;
}
final File file = this.getFile();
if( create || this.isFileExistent( file ) )
{
try
{
this.raf = new RandomAccessFile( file, "rw" );
FileChannel fc = this.raf.getChannel();
this.buffer = fc.map( FileChannel.MapMode.READ_WRITE, 0, 0x400 * 0x400 );// fc.size() );
this.hasFile = true;
}
catch( Throwable t )
{
throw new CompassException( t );
}
}
}
private File getFile()
{
final String fileName = this.encoder.encode( this.world, this.lowX, this.lowZ );
return new File( this.worldCompassFolder, fileName );
}
private boolean isFileExistent( File file )
{
return file.exists() && file.isFile();
}
public void close()
{
try
@@ -122,7 +86,7 @@ public final class CompassRegion
cx &= 0x3FF;
cz &= 0x3FF;
int val = this.read( cx, cz );
final int val = this.read( cx, cz );
if( val != 0 )
{
return true;
@@ -132,6 +96,87 @@ public final class CompassRegion
return false;
}
public void setHasBeacon( int cx, int cz, int cdy, boolean hasBeacon )
{
cx &= 0x3FF;
cz &= 0x3FF;
this.openFile( hasBeacon );
if( this.hasFile )
{
int val = this.read( cx, cz );
final int originalVal = val;
if( hasBeacon )
{
val |= 1 << cdy;
}
else
{
val &= ~( 1 << cdy );
}
if( originalVal != val )
{
this.write( cx, cz, val );
}
}
}
@Override
protected void finalize() throws Throwable
{
try
{
if( this.raf != null )
{
this.raf.close();
}
}
finally
{
super.finalize();
}
}
private void openFile( boolean create )
{
if( this.hasFile )
{
return;
}
final File file = this.getFile();
if( create || this.isFileExistent( file ) )
{
try
{
this.raf = new RandomAccessFile( file, "rw" );
final FileChannel fc = this.raf.getChannel();
this.buffer = fc.map( FileChannel.MapMode.READ_WRITE, 0, 0x400 * 0x400 );// fc.size() );
this.hasFile = true;
}
catch( final Throwable t )
{
throw new CompassException( t );
}
}
}
private File getFile()
{
final String fileName = this.encoder.encode( this.world, this.lowX, this.lowZ );
return new File( this.worldCompassFolder, fileName );
}
private boolean isFileExistent( File file )
{
return file.exists() && file.isFile();
}
private int read( int cx, int cz )
{
try
@@ -150,34 +195,6 @@ public final class CompassRegion
}
}
public void setHasBeacon( int cx, int cz, int cdy, boolean hasBeacon )
{
cx &= 0x3FF;
cz &= 0x3FF;
this.openFile( hasBeacon );
if( this.hasFile )
{
int val = this.read( cx, cz );
int originalVal = val;
if( hasBeacon )
{
val |= 1 << cdy;
}
else
{
val &= ~( 1 << cdy );
}
if( originalVal != val )
{
this.write( cx, cz, val );
}
}
}
private void write( int cx, int cz, int val )
{
try
@@ -19,11 +19,10 @@
package appeng.tile.spatial;
import java.util.concurrent.Callable;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.config.Actionable;
@@ -46,10 +45,11 @@ import appeng.tile.events.TileEventType;
import appeng.tile.grid.AENetworkInvTile;
import appeng.tile.inventory.AppEngInternalInventory;
import appeng.tile.inventory.InvOperation;
import appeng.util.IWorldCallable;
import appeng.util.Platform;
public class TileSpatialIOPort extends AENetworkInvTile implements Callable
public class TileSpatialIOPort extends AENetworkInvTile implements IWorldCallable<Void>
{
final int[] sides = { 0, 1 };
@@ -122,9 +122,8 @@ public class TileSpatialIOPort extends AENetworkInvTile implements Callable
}
@Override
public Object call() throws Exception
public Void call( World world ) throws Exception
{
ItemStack cell = this.getStackInSlot( 0 );
if( this.isSpatialCell( cell ) && this.getStackInSlot( 1 ) == null )
{
+5 -9
View File
@@ -19,33 +19,29 @@
package appeng.util;
import java.util.concurrent.Callable;
import net.minecraft.world.World;
public class BlockUpdate implements Callable
public class BlockUpdate implements IWorldCallable<Boolean>
{
final World w;
final int x;
final int y;
final int z;
public BlockUpdate( World w, int x, int y, int z )
public BlockUpdate( int x, int y, int z )
{
this.w = w;
this.x = x;
this.y = y;
this.z = z;
}
@Override
public Object call() throws Exception
public Boolean call( World world ) throws Exception
{
if( this.w.blockExists( this.x, this.y, this.z ) )
if( world.blockExists( this.x, this.y, this.z ) )
{
this.w.notifyBlocksOfNeighborChange( this.x, this.y, this.z, Platform.AIR_BLOCK );
world.notifyBlocksOfNeighborChange( this.x, this.y, this.z, Platform.AIR_BLOCK );
}
return true;
@@ -0,0 +1,49 @@
/*
* 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.util;
import java.util.concurrent.Callable;
import javax.annotation.Nullable;
import net.minecraft.world.World;
/**
* An interface similar to {@link Callable}, but allowing to pass the {@link World} when calling.
*
* @see Callable
* @author yueh
* @version rv3
* @since rv3
*/
public interface IWorldCallable<T>
{
/**
* Similar to {@link Callable#call()}
*
* @see Callable#call()
* @param world
* @return
* @throws Exception
*/
@Nullable
T call( @Nullable World world ) throws Exception;
}
+1 -1
View File
@@ -1911,7 +1911,7 @@ public class Platform
{
if( !worldObj.isRemote )
{
TickHandler.INSTANCE.addCallable( worldObj, new BlockUpdate( worldObj, xCoord, yCoord, zCoord ) );
TickHandler.INSTANCE.addCallable( worldObj, new BlockUpdate( xCoord, yCoord, zCoord ) );
}
}
@@ -20,7 +20,6 @@ package appeng.worldgen;
import java.util.Random;
import java.util.concurrent.Callable;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@@ -33,6 +32,7 @@ import appeng.core.AEConfig;
import appeng.core.features.registries.WorldGenRegistry;
import appeng.core.worlddata.WorldData;
import appeng.hooks.TickHandler;
import appeng.util.IWorldCallable;
import appeng.util.Platform;
import appeng.worldgen.meteorite.ChunkOnly;
@@ -51,11 +51,11 @@ public final class MeteoriteWorldGen implements IWorldGenerator
int z = r.nextInt( 16 ) + ( chunkZ << 4 );
int depth = 180 + r.nextInt( 20 );
TickHandler.INSTANCE.addCallable( w, new MeteoriteSpawn( x, depth, z, w ) );
TickHandler.INSTANCE.addCallable( w, new MeteoriteSpawn( x, depth, z ) );
}
else
{
TickHandler.INSTANCE.addCallable( w, new MeteoriteSpawn( chunkX << 4, 128, chunkZ << 4, w ) );
TickHandler.INSTANCE.addCallable( w, new MeteoriteSpawn( chunkX << 4, 128, chunkZ << 4 ) );
}
}
else
@@ -113,24 +113,22 @@ public final class MeteoriteWorldGen implements IWorldGenerator
return WorldData.instance().spawnData().getNearByMeteorites( w.provider.dimensionId, chunkX, chunkZ );
}
class MeteoriteSpawn implements Callable
class MeteoriteSpawn implements IWorldCallable<Object>
{
final int x;
final int z;
final World w;
final int depth;
public MeteoriteSpawn( int x, int depth, int z, World w )
public MeteoriteSpawn( int x, int depth, int z )
{
this.x = x;
this.z = z;
this.w = w;
this.depth = depth;
}
@Override
public Object call() throws Exception
public Object call( World world ) throws Exception
{
int chunkX = this.x >> 4;
int chunkZ = this.z >> 4;
@@ -138,10 +136,10 @@ public final class MeteoriteWorldGen implements IWorldGenerator
double minSqDist = Double.MAX_VALUE;
// near by meteorites!
for( NBTTagCompound data : MeteoriteWorldGen.this.getNearByMeteorites( this.w, chunkX, chunkZ ) )
for( NBTTagCompound data : MeteoriteWorldGen.this.getNearByMeteorites( world, chunkX, chunkZ ) )
{
MeteoritePlacer mp = new MeteoritePlacer();
mp.spawnMeteorite( new ChunkOnly( this.w, chunkX, chunkZ ), data );
mp.spawnMeteorite( new ChunkOnly( world, chunkX, chunkZ ), data );
minSqDist = Math.min( minSqDist, mp.getSqDistance( this.x, this.z ) );
}
@@ -150,11 +148,11 @@ public final class MeteoriteWorldGen implements IWorldGenerator
if( minSqDist > AEConfig.instance.minMeteoriteDistanceSq || isCluster )
{
MeteoriteWorldGen.this.tryMeteorite( this.w, this.depth, this.x, this.z );
MeteoriteWorldGen.this.tryMeteorite( world, this.depth, this.x, this.z );
}
WorldData.instance().spawnData().setGenerated( this.w.provider.dimensionId, chunkX, chunkZ );
WorldData.instance().compassData().service().updateArea( this.w, chunkX, chunkZ );
WorldData.instance().spawnData().setGenerated( world.provider.dimensionId, chunkX, chunkZ );
WorldData.instance().compassData().service().updateArea( world, chunkX, chunkZ );
return null;
}
@@ -1,11 +0,0 @@
# Forge Ore Dictionary
# logWood, slabWood, stairWood, treeSapling, treeLeaves,
# oreGold, oreIron, oreLapis, oreDiamond, oreRedstone, oreEmerald, oreQuartz, oreCoal,
# stone, cobblestone, record, stickWood, plankWood,
# dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite
# Minecraft Ore Dict Entries
# Renamed for less clashing
ore=mc:quartz -> crystalNetherQuartz
ore=mc:wool:* -> blockWool
ore=mc:stained_hardened_clay:* -> blockStainedHardenedClay
@@ -328,6 +328,7 @@
<h4 id="import">Import</h4>
<ul>
<li>lets you load an additional recipe file</li>
<li>this works with subdirectories, but the path needs to be always a relative path to the root recipe directory</li>
<li>
AE2: import all recipes for stairs<br />
<code>import = stairs.recipe</code>
@@ -0,0 +1,2 @@
alias=mc -> minecraft
alias=ae2 -> appliedenergistics2
@@ -1,69 +0,0 @@
shaped=
ae2:BlockQuartzGlass mc:glowstone_dust ae2:BlockQuartzGlass,
mc:glowstone_dust certusCrystal mc:glowstone_dust,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemMaterial.BlankPattern
shapeless=
ae2:ItemMaterial.BasicCard mc:crafting_table
-> ae2:ItemMaterial.CardCrafting
shaped=
ae2:ItemMaterial.FormationCore mc:iron_ingot _,
mc:iron_ingot ae2:ItemMaterial.Cell4kPart _,
_ _ ae2:BlockEnergyCell
-> ae2:ToolColorApplicator
shapeless=
monitor interface ae2:ItemMaterial.EngProcessor
-> ae2:ItemPart.InterfaceTerminal
shapeless=
ae2:ItemPart.CraftingTerminal ae2:ItemMaterial.EngProcessor
-> ae2:ItemPart.PatternTerminal
shaped=
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot,
ae2:ItemMaterial.AnnihilationCore mc:crafting_table ae2:ItemMaterial.FormationCore,
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot
-> ae2:BlockMolecularAssembler
shaped=
mc:iron_ingot ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
cable ae2:ItemMaterial.LogicProcessor cable,
mc:iron_ingot ae2:ItemMaterial.CalcProcessor mc:iron_ingot
-> ae2:BlockCraftingUnit:0
# co processor
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.EngProcessor
-> ae2:BlockCraftingUnit:1
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemPart.StorageMonitor
-> ae2:BlockCraftingMonitor
# various storage sizes
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell1kPart
-> ae2:BlockCraftingStorage:0
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell4kPart
-> ae2:BlockCraftingStorage:1
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell16kPart
-> ae2:BlockCraftingStorage:2
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell64kPart
-> ae2:BlockCraftingStorage:3
@@ -0,0 +1,8 @@
shaped=
ae2:BlockQuartz,
ae2:BlockQuartz
-> 2 ae2:BlockQuartzPillar
shaped=
ae2:BlockQuartz ae2:BlockQuartz
-> 2 ae2:BlockQuartzChiseled
@@ -0,0 +1,30 @@
# Raw Storage Blocks
shaped=
oredictionary:crystalCertusQuartz oredictionary:crystalCertusQuartz,
oredictionary:crystalCertusQuartz oredictionary:crystalCertusQuartz
-> ae2:BlockQuartz
shaped=
oredictionary:crystalFluix oredictionary:crystalFluix,
oredictionary:crystalFluix oredictionary:crystalFluix
-> ae2:BlockFluix
# Pure Storage Blocks
shaped=
ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal,
ae2:ItemMaterial.PurifiedNetherQuartzCrystal _ ae2:ItemMaterial.PurifiedNetherQuartzCrystal,
ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal
-> mc:quartz_block
shaped=
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal,
ae2:ItemMaterial.PurifiedCertusQuartzCrystal _ ae2:ItemMaterial.PurifiedCertusQuartzCrystal,
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal
-> ae2:BlockQuartz
shaped=
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:ItemMaterial.PurifiedFluixCrystal _ ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal
-> ae2:BlockFluix
@@ -0,0 +1,7 @@
shaped=
ae2:ItemMaterial.CertusQuartzCrystalCharged mc:iron_ingot
-> 2 ae2:BlockQuartzTorch
shaped=
netherCrystal mc:iron_ingot
-> ae2:BlockLightDetector
@@ -0,0 +1,7 @@
import=decorative/certus.recipe
import=decorative/crystals.recipe
import=decorative/fixtures.recipe
import=decorative/quartzglass.recipe
import=decorative/skystone.recipe
import=decorative/slabs.recipe
import=decorative/stairs.recipe
@@ -0,0 +1,9 @@
shaped=
dustQuartz glass dustQuartz,
glass dustQuartz glass,
dustQuartz glass dustQuartz
-> 4 ae2:BlockQuartzGlass
shaped=
mc:glowstone_dust ae2:BlockQuartzGlass mc:glowstone_dust
-> ae2:BlockQuartzLamp
@@ -0,0 +1,11 @@
smelt=
ae2:BlockSkyStone -> ae2:BlockSkyStone:1
shapeless=
ae2:BlockSkyStone:1 -> ae2:BlockSkyStone:2
shapeless=
ae2:BlockSkyStone:2 -> ae2:BlockSkyStone:3
shapeless=
ae2:BlockSkyStone:3 -> ae2:BlockSkyStone:1
@@ -1,96 +0,0 @@
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeWhite ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.White
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBlack ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Black
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeRed ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Red
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeGreen ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Green
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBrown ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Brown
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBlue ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Blue
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyePurple ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Purple
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeCyan ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Cyan
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLightGray ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.LightGray
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeGray ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Gray
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyePink ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Pink
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLime ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Lime
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeYellow ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Yellow
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLightBlue ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.LightBlue
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeMagenta ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Magenta
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeOrange ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Orange
@@ -1,96 +0,0 @@
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeWhite ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.White
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBlack ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Black
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeRed ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Red
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeGreen ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Green
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBrown ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Brown
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBlue ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Blue
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyePurple ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Purple
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeCyan ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Cyan
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLightGray ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.LightGray
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeGray ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Gray
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyePink ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Pink
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLime ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Lime
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeYellow ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Yellow
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLightBlue ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.LightBlue
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeMagenta ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Magenta
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeOrange ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Orange
@@ -1,96 +0,0 @@
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeWhite ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.White
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBlack ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Black
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeRed ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Red
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeGreen ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Green
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBrown ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Brown
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBlue ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Blue
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyePurple ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Purple
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeCyan ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Cyan
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLightGray ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.LightGray
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeGray ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Gray
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyePink ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Pink
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLime ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Lime
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeYellow ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Yellow
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLightBlue ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.LightBlue
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeMagenta ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Magenta
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeOrange ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Orange
@@ -1,96 +0,0 @@
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeWhite ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.White
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBlack ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Black
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeRed ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Red
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeGreen ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Green
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBrown ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Brown
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBlue ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Blue
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyePurple ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Purple
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeCyan ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Cyan
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLightGray ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.LightGray
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeGray ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Gray
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyePink ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Pink
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLime ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Lime
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeYellow ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Yellow
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLightBlue ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.LightBlue
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeMagenta ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Magenta
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeOrange ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Orange
@@ -0,0 +1,21 @@
group= oredictionary:itemIlluminatedPanel -> monitor
group= ae2:BlockInterface ae2:ItemPart.Interface -> interface
group= ae2:ToolCertusQuartzCuttingKnife:* ae2:ToolNetherQuartzCuttingKnife:* -> knife
group= ae2:ToolCertusQuartzWrench ae2:ToolNetherQuartzWrench -> wrench
group= ae2:CableGlass ae2:CableCovered ae2:CableSmart -> cable
group= ae2:CableDense -> densecable
group= mc:iron_ingot oredictionary:ingotCopper oredictionary:ingotTin oredictionary:ingotSilver oredictionary:ingotLead oredictionary:ingotBronze oredictionary:ingotBrass oredictionary:ingotNickel oredictionary:ingotInvar oredictionary:ingotAluminium -> metalIngots
group= oredictionary:dustEnder oredictionary:dustEnderPearl -> dustEnder
group=oredictionary:blockGlass oredictionary:glass mc:glass -> glass
group=oredictionary:wool mc:wool:* -> wool
group=oredictionary:crystalCertusQuartz oredictionary:crystalNetherQuartz ae2:ItemMaterial.CertusQuartzCrystalCharged -> crystalQuartz
group=oredictionary:dustCertusQuartz oredictionary:dustNetherQuartz -> dustQuartz
group=oredictionary:crystalCertusQuartz ae2:ItemMaterial.CertusQuartzCrystalCharged ae2:ItemMaterial.PurifiedCertusQuartzCrystal -> certusCrystal
group=oredictionary:crystalNetherQuartz ae2:ItemMaterial.PurifiedNetherQuartzCrystal -> netherCrystal
group=oredictionary:crystalFluix ae2:ItemMaterial.PurifiedFluixCrystal -> fluixCrystal
@@ -1,14 +0,0 @@
# Quantum Link Chamber
shaped=
ae2:BlockQuartzGlass ae2:ItemMaterial.FluixPearl ae2:BlockQuartzGlass,
ae2:ItemMaterial.FluixPearl _ ae2:ItemMaterial.FluixPearl,
ae2:BlockQuartzGlass ae2:ItemMaterial.FluixPearl ae2:BlockQuartzGlass,
-> ae2:BlockQuantumLinkChamber
# Quantum Ring
shaped=
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot,
ae2:ItemMaterial.EngProcessor ae2:BlockEnergyCell densecable,
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot,
-> ae2:BlockQuantumRing
@@ -1,20 +1,3 @@
alias=mc -> minecraft
alias=ae2 -> appliedenergistics2
group= mc:iron_ingot oredictionary:ingotCopper oredictionary:ingotTin oredictionary:ingotSilver oredictionary:ingotLead oredictionary:ingotBronze oredictionary:ingotBrass oredictionary:ingotNickel oredictionary:ingotInvar oredictionary:ingotAluminium -> metalIngots
group= oredictionary:dustEnder oredictionary:dustEnderPearl -> dustEnder
group=oredictionary:blockGlass oredictionary:glass mc:glass -> glass
group=oredictionary:wool mc:wool:* -> wool
group=oredictionary:crystalCertusQuartz oredictionary:crystalNetherQuartz ae2:ItemMaterial.CertusQuartzCrystalCharged -> crystalQuartz
group=oredictionary:dustCertusQuartz oredictionary:dustNetherQuartz -> dustQuartz
group=oredictionary:crystalCertusQuartz ae2:ItemMaterial.CertusQuartzCrystalCharged ae2:ItemMaterial.PurifiedCertusQuartzCrystal -> certusCrystal
group=oredictionary:crystalNetherQuartz ae2:ItemMaterial.PurifiedNetherQuartzCrystal -> netherCrystal
group=oredictionary:crystalFluix ae2:ItemMaterial.PurifiedFluixCrystal -> fluixCrystal
# Crash on Issues
crash=false
@@ -24,26 +7,15 @@ exceptions=false
# Error on Missing Items ( default is no because AE2 allows you to enable/disable items without modifying recipes. )
erroronmissing=true
group= oredictionary:itemIlluminatedPanel -> monitor
group= ae2:BlockInterface ae2:ItemPart.Interface -> interface
# Important, keep in this order
import=aliases.recipe
import=oredict.recipe
import=groups.recipe
group= ae2:ToolCertusQuartzCuttingKnife:* ae2:ToolNetherQuartzCuttingKnife:* -> knife
group= ae2:ToolCertusQuartzWrench ae2:ToolNetherQuartzWrench -> wrench
group= ae2:CableGlass ae2:CableCovered ae2:CableSmart -> cable
group= ae2:CableDense -> densecable
import=tools.recipe
import=process.recipe
import=storagecells.recipe
import=port.recipe
import=new.recipe
import=dyes_glass.recipe
import=dyes_covered.recipe
import=dyes_smart.recipe
import=dyes_dense.recipe
import=paint_balls.recipe
import=crafting.recipe
import=vanilla_enhance.recipe
import=stairs.recipe
import=slabs.recipe
# All actual recipes
import=decorative/index.recipe
import=materials/index.recipe
import=misc/index.recipe
import=network/index.recipe
import=processing/index.recipe
import=tools/index.recipe
@@ -0,0 +1,35 @@
shaped=
mc:gold_ingot mc:iron_ingot _,
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
mc:gold_ingot mc:iron_ingot _
-> 2 ae2:ItemMaterial.BasicCard
shaped=
oredictionary:gemDiamond mc:iron_ingot _,
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
oredictionary:gemDiamond mc:iron_ingot _
-> 2 ae2:ItemMaterial.AdvCard
shapeless=
ae2:ItemMaterial.BasicCard certusCrystal
-> ae2:ItemMaterial.CardCapacity
shapeless=
ae2:ItemMaterial.BasicCard mc:redstone_torch
-> ae2:ItemMaterial.CardRedstone
shapeless=
ae2:ItemMaterial.AdvCard wool
-> ae2:ItemMaterial.CardFuzzy
shapeless=
ae2:ItemMaterial.AdvCard mc:redstone_torch
-> ae2:ItemMaterial.CardInverter
shapeless=
ae2:ItemMaterial.AdvCard fluixCrystal
-> ae2:ItemMaterial.CardSpeed
shapeless=
ae2:ItemMaterial.BasicCard mc:crafting_table
-> ae2:ItemMaterial.CardCrafting
@@ -0,0 +1,15 @@
inscribe=
mc:gold_ingot ae2:ItemMaterial.LogicProcessorPress
-> ae2:ItemMaterial.LogicProcessorPrint
inscribe=
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.CalcProcessorPress
-> ae2:ItemMaterial.CalcProcessorPrint
inscribe=
oredictionary:gemDiamond ae2:ItemMaterial.EngProcessorPress
-> ae2:ItemMaterial.EngProcessorPrint
inscribe=
oredictionary:itemSilicon ae2:ItemMaterial.SiliconPress
-> ae2:ItemMaterial.SiliconPrint
@@ -0,0 +1,7 @@
shaped=
netherCrystal oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor
-> 2 ae2:ItemMaterial.AnnihilationCore
shaped=
certusCrystal oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor
-> 2 ae2:ItemMaterial.FormationCore
@@ -0,0 +1,5 @@
import=materials/cards.recipe
import=materials/circuits.recipe
import=materials/cores.recipe
import=materials/presses.recipe
import=materials/processors.recipe
@@ -0,0 +1,15 @@
inscribe=
mc:iron_block ae2:ItemMaterial.LogicProcessorPress
-> ae2:ItemMaterial.LogicProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.CalcProcessorPress
-> ae2:ItemMaterial.CalcProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.EngProcessorPress
-> ae2:ItemMaterial.EngProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.SiliconPress
-> ae2:ItemMaterial.SiliconPress
@@ -0,0 +1,11 @@
press=
mc:redstone ae2:ItemMaterial.LogicProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.LogicProcessor
press=
mc:redstone ae2:ItemMaterial.CalcProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.CalcProcessor
press=
mc:redstone ae2:ItemMaterial.EngProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.EngProcessor
@@ -0,0 +1,11 @@
shaped=
ae2:BlockSkyStone ae2:BlockSkyStone ae2:BlockSkyStone,
ae2:BlockSkyStone _ ae2:BlockSkyStone,
ae2:BlockSkyStone ae2:BlockSkyStone ae2:BlockSkyStone
-> ae2:BlockSkyChest
shaped=
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 ae2:BlockSkyStone:1,
ae2:BlockSkyStone:1 _ ae2:BlockSkyStone:1,
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 ae2:BlockSkyStone:1
-> ae2:BlockSkyChest:1
@@ -0,0 +1,15 @@
shapeless=
ae2:BlockQuartz
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockQuartzPillar
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockQuartzChiseled
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockFluix
-> 4 ae2:ItemMaterial.FluixCrystal
@@ -0,0 +1,5 @@
shaped=
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix,
fluixCrystal mc:ender_pearl fluixCrystal,
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix
-> ae2:ItemMaterial.FluixPearl
@@ -0,0 +1,17 @@
shaped=
_ oredictionary:stickWood _,
oredictionary:stickWood _ oredictionary:stickWood,
_ oredictionary:stickWood _
-> ae2:ItemMaterial.WoodenGear
shaped=
oredictionary:stickWood oredictionary:stickWood oredictionary:stickWood,
_ _ oredictionary:stickWood,
_ _ oredictionary:stickWood
-> ae2:BlockCrank
shaped=
oredictionary:stone oredictionary:gearWood oredictionary:stone,
crystalQuartz oredictionary:stone crystalQuartz,
oredictionary:cobblestone crystalQuartz oredictionary:cobblestone
-> ae2:BlockGrinder
@@ -0,0 +1,8 @@
import=misc/chests.recipe
import=misc/deconstruction.recipe
import=misc/fluixpearl.recipe
import=misc/grindstone.recipe
import=misc/meteors.recipe
import=misc/tinytnt.recipe
import=misc/seeds.recipe
import=misc/vanilla.recipe
@@ -0,0 +1,5 @@
shaped=
_ mc:iron_ingot _,
mc:iron_ingot ae2:ItemMaterial.CertusQuartzCrystalCharged mc:iron_ingot,
_ mc:iron_ingot _
-> ae2:BlockSkyCompass
@@ -0,0 +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
@@ -0,0 +1,4 @@
shaped=
dustQuartz mc:gunpowder,
mc:gunpowder dustQuartz
-> ae2:BlockTinyTNT
@@ -0,0 +1,21 @@
shaped=
glass glass glass,
netherCrystal netherCrystal netherCrystal,
mc:wooden_slab:* mc:wooden_slab:* mc:wooden_slab:*
-> mc:daylight_detector
shaped=
_ mc:redstone_torch _,
mc:redstone_torch netherCrystal mc:redstone_torch,
oredictionary:stone oredictionary:stone oredictionary:stone
-> mc:comparator
shaped=
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget,
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget,
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget
-> mc:iron_ingot
shapeless=
mc:iron_ingot
-> 9 ae2:ItemMaterial.IronNugget
@@ -0,0 +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
-> ae2:BlockCellWorkbench
@@ -0,0 +1,5 @@
shaped=
ae2:BlockSkyStone:1 ae2:ItemMaterial.PurifiedFluixCrystal ae2:BlockSkyStone:1,
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.EngProcessor ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:BlockSkyStone:1 ae2:ItemMaterial.PurifiedFluixCrystal ae2:BlockSkyStone:1
-> ae2:BlockController
@@ -0,0 +1,11 @@
shaped=
mc:iron_ingot cable mc:iron_ingot,
ae2:BlockQuartzGlass ae2:BlockFluix ae2:BlockQuartzGlass,
mc:iron_ingot cable mc:iron_ingot
-> ae2:BlockQuartzGrowthAccelerator
shaped=
mc:iron_ingot fluixCrystal mc:iron_ingot,
mc:iron_ingot _ _,
mc:iron_ingot fluixCrystal mc:iron_ingot
-> ae2:BlockCharger
@@ -0,0 +1,23 @@
shaped=
mc:iron_ingot mc:iron_ingot mc:iron_ingot,
mc:iron_ingot mc:furnace mc:iron_ingot,
mc:iron_ingot ae2:BlockEnergyAcceptor mc:iron_ingot
-> ae2:BlockVibrationChamber
shaped=
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot,
ae2:BlockQuartzGlass fluixCrystal ae2:BlockQuartzGlass,
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot
-> ae2:BlockEnergyAcceptor
shaped=
certusCrystal oredictionary:dustFluix certusCrystal,
oredictionary:dustFluix ae2:BlockQuartzGlass oredictionary:dustFluix,
certusCrystal oredictionary:dustFluix certusCrystal
-> ae2:BlockEnergyCell
shaped=
ae2:BlockEnergyCell ae2:BlockEnergyCell ae2:BlockEnergyCell,
ae2:BlockEnergyCell ae2:ItemMaterial.CalcProcessor ae2:BlockEnergyCell,
ae2:BlockEnergyCell ae2:BlockEnergyCell ae2:BlockEnergyCell
-> ae2:BlockDenseEnergyCell
@@ -0,0 +1,11 @@
import=network/blocks/cellworkbench.recipe
import=network/blocks/controller.recipe
import=network/blocks/crystal-processing.recipe
import=network/blocks/energy.recipe
import=network/blocks/inscribers.recipe
import=network/blocks/interfaces.recipe
import=network/blocks/io.recipe
import=network/blocks/quantum.recipe
import=network/blocks/security.recipe
import=network/blocks/spatial-io.recipe
import=network/blocks/storage.recipe
@@ -0,0 +1,5 @@
shaped=
mc:iron_ingot mc:sticky_piston mc:iron_ingot,
fluixCrystal _ mc:iron_ingot,
mc:iron_ingot mc:sticky_piston mc:iron_ingot
-> ae2:BlockInscriber
@@ -0,0 +1,13 @@
shapeless=
ae2:ItemPart.Interface
-> ae2:BlockInterface
shapeless=
ae2:BlockInterface
-> ae2:ItemPart.Interface
shaped=
mc:iron_ingot glass mc:iron_ingot,
ae2:ItemMaterial.AnnihilationCore _ ae2:ItemMaterial.FormationCore,
mc:iron_ingot glass mc:iron_ingot
-> ae2:BlockInterface
@@ -0,0 +1,11 @@
shaped=
mc:iron_ingot glass mc:iron_ingot,
glass oredictionary:dustFluix glass,
mc:iron_ingot glass mc:iron_ingot
-> ae2:BlockCondenser
shaped=
glass glass glass,
ae2:BlockDrive cable ae2:BlockDrive,
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot
-> ae2:BlockIOPort
@@ -0,0 +1,13 @@
# Quantum Link Chamber
shaped=
ae2:BlockQuartzGlass ae2:ItemMaterial.FluixPearl ae2:BlockQuartzGlass,
ae2:ItemMaterial.FluixPearl _ ae2:ItemMaterial.FluixPearl,
ae2:BlockQuartzGlass ae2:ItemMaterial.FluixPearl ae2:BlockQuartzGlass,
-> ae2:BlockQuantumLinkChamber
# Quantum Ring
shaped=
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot,
ae2:ItemMaterial.EngProcessor ae2:BlockEnergyCell densecable,
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot,
-> ae2:BlockQuantumRing
@@ -0,0 +1,5 @@
shaped=
mc:iron_ingot ae2:BlockChest mc:iron_ingot,
cable ae2:ItemMaterial.Cell16kPart cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockSecurity
@@ -0,0 +1,11 @@
shaped=
glass glass glass,
cable ae2:BlockIOPort cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockSpatialIOPort
shaped=
ae2:BlockQuartzGlass cable ae2:BlockQuartzGlass,
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix,
ae2:BlockQuartzGlass cable ae2:BlockQuartzGlass
-> ae2:BlockSpatialPylon
@@ -0,0 +1,11 @@
shaped=
glass ae2:ItemPart.Terminal glass,
cable _ cable,
mc:iron_ingot fluixCrystal mc:iron_ingot,
-> ae2:BlockChest
shaped=
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot,
cable _ cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockDrive
@@ -0,0 +1,104 @@
shapeless=
ae2:CableGlass
wool
-> ae2:CableCovered.Fluix
shapeless=
ae2:CableCovered mc:water_bucket
-> ae2:CableCovered.Fluix
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeWhite ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.White
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBlack ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Black
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeRed ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Red
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeGreen ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Green
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBrown ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Brown
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeBlue ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Blue
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyePurple ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Purple
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeCyan ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Cyan
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLightGray ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.LightGray
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeGray ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Gray
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyePink ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Pink
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLime ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Lime
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeYellow ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Yellow
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeLightBlue ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.LightBlue
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeMagenta ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Magenta
shaped=
ae2:CableCovered ae2:CableCovered ae2:CableCovered,
ae2:CableCovered oredictionary:dyeOrange ae2:CableCovered,
ae2:CableCovered ae2:CableCovered ae2:CableCovered
-> 8 ae2:CableCovered.Orange
@@ -0,0 +1,104 @@
shapeless=
ae2:CableCovered ae2:CableCovered ae2:CableCovered ae2:CableCovered
mc:redstone mc:glowstone_dust
-> ae2:CableDense.Fluix
shapeless=
ae2:CableDense mc:water_bucket
-> ae2:CableDense.Fluix
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeWhite ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.White
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBlack ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Black
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeRed ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Red
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeGreen ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Green
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBrown ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Brown
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeBlue ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Blue
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyePurple ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Purple
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeCyan ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Cyan
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLightGray ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.LightGray
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeGray ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Gray
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyePink ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Pink
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLime ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Lime
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeYellow ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Yellow
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeLightBlue ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.LightBlue
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeMagenta ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Magenta
shaped=
ae2:CableDense ae2:CableDense ae2:CableDense,
ae2:CableDense oredictionary:dyeOrange ae2:CableDense,
ae2:CableDense ae2:CableDense ae2:CableDense
-> 8 ae2:CableDense.Orange
@@ -0,0 +1,103 @@
shapeless=
ae2:ItemPart.QuartzFiber fluixCrystal fluixCrystal
-> 4 ae2:CableGlass.Fluix
shapeless=
ae2:CableGlass mc:water_bucket
-> ae2:CableGlass.Fluix
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeWhite ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.White
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBlack ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Black
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeRed ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Red
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeGreen ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Green
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBrown ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Brown
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeBlue ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Blue
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyePurple ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Purple
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeCyan ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Cyan
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLightGray ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.LightGray
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeGray ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Gray
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyePink ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Pink
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLime ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Lime
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeYellow ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Yellow
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeLightBlue ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.LightBlue
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeMagenta ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Magenta
shaped=
ae2:CableGlass ae2:CableGlass ae2:CableGlass,
ae2:CableGlass oredictionary:dyeOrange ae2:CableGlass,
ae2:CableGlass ae2:CableGlass ae2:CableGlass
-> 8 ae2:CableGlass.Orange
@@ -0,0 +1,4 @@
import=network/cables/covered.recipe
import=network/cables/dense.recipe
import=network/cables/glass.recipe
import=network/cables/smart.recipe
@@ -0,0 +1,104 @@
shapeless=
ae2:CableCovered
mc:redstone mc:glowstone_dust
-> ae2:CableSmart.Fluix
shapeless=
ae2:CableSmart mc:water_bucket
-> ae2:CableSmart.Fluix
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeWhite ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.White
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBlack ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Black
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeRed ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Red
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeGreen ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Green
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBrown ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Brown
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeBlue ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Blue
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyePurple ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Purple
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeCyan ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Cyan
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLightGray ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.LightGray
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeGray ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Gray
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyePink ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Pink
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLime ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Lime
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeYellow ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Yellow
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeLightBlue ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.LightBlue
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeMagenta ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Magenta
shaped=
ae2:CableSmart ae2:CableSmart ae2:CableSmart,
ae2:CableSmart oredictionary:dyeOrange ae2:CableSmart,
ae2:CableSmart ae2:CableSmart ae2:CableSmart
-> 8 ae2:CableSmart.Orange
@@ -0,0 +1,5 @@
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone _ mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemMaterial.EmptyStorageCell
@@ -0,0 +1,6 @@
import=network/cells/empty.recipe
import=network/cells/spatial-components.recipe
import=network/cells/spatial.recipe
import=network/cells/storage-components.recipe
import=network/cells/storage.recipe
import=network/cells/view.recipe
@@ -0,0 +1,17 @@
shaped=
mc:glowstone_dust ae2:ItemMaterial.FluixPearl mc:glowstone_dust,
ae2:ItemMaterial.FluixPearl ae2:ItemMaterial.EngProcessor ae2:ItemMaterial.FluixPearl,
mc:glowstone_dust ae2:ItemMaterial.FluixPearl mc:glowstone_dust
-> ae2:ItemMaterial.Cell2SpatialPart
shaped=
mc:glowstone_dust ae2:ItemMaterial.Cell2SpatialPart mc:glowstone_dust,
ae2:ItemMaterial.Cell2SpatialPart ae2:ItemMaterial.EngProcessor ae2:ItemMaterial.Cell2SpatialPart,
mc:glowstone_dust ae2:ItemMaterial.Cell2SpatialPart mc:glowstone_dust
-> ae2:ItemMaterial.Cell16SpatialPart
shaped=
mc:glowstone_dust ae2:ItemMaterial.Cell16SpatialPart mc:glowstone_dust,
ae2:ItemMaterial.Cell16SpatialPart ae2:ItemMaterial.EngProcessor ae2:ItemMaterial.Cell16SpatialPart,
mc:glowstone_dust ae2:ItemMaterial.Cell16SpatialPart mc:glowstone_dust
-> ae2:ItemMaterial.Cell128SpatialPart
@@ -0,0 +1,26 @@
shapeless=
ae2:ItemMaterial.Cell2SpatialPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemSpatialStorageCell.2Cubed
shapeless=
ae2:ItemMaterial.Cell16SpatialPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemSpatialStorageCell.16Cubed
shapeless=
ae2:ItemMaterial.Cell128SpatialPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemSpatialStorageCell.128Cubed
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell2SpatialPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemSpatialStorageCell.2Cubed
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell16SpatialPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemSpatialStorageCell.16Cubed
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell128SpatialPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemSpatialStorageCell.128Cubed
@@ -0,0 +1,23 @@
shaped=
mc:redstone certusCrystal mc:redstone,
certusCrystal ae2:ItemMaterial.LogicProcessor certusCrystal,
mc:redstone certusCrystal mc:redstone
-> ae2:ItemMaterial.Cell1kPart
shaped=
mc:redstone ae2:ItemMaterial.CalcProcessor mc:redstone,
ae2:ItemMaterial.Cell1kPart ae2:BlockQuartzGlass ae2:ItemMaterial.Cell1kPart,
mc:redstone ae2:ItemMaterial.Cell1kPart mc:redstone
-> ae2:ItemMaterial.Cell4kPart
shaped=
mc:glowstone_dust ae2:ItemMaterial.EngProcessor mc:glowstone_dust,
ae2:ItemMaterial.Cell4kPart ae2:BlockQuartzGlass ae2:ItemMaterial.Cell4kPart,
mc:glowstone_dust ae2:ItemMaterial.Cell4kPart mc:glowstone_dust
-> ae2:ItemMaterial.Cell16kPart
shaped=
mc:glowstone_dust ae2:ItemMaterial.EngProcessor mc:glowstone_dust,
ae2:ItemMaterial.Cell16kPart ae2:BlockQuartzGlass ae2:ItemMaterial.Cell16kPart,
mc:glowstone_dust ae2:ItemMaterial.Cell16kPart mc:glowstone_dust
-> ae2:ItemMaterial.Cell64kPart
@@ -0,0 +1,35 @@
shapeless=
ae2:ItemMaterial.Cell1kPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemBasicStorageCell.1k
shapeless=
ae2:ItemMaterial.Cell4kPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemBasicStorageCell.4k
shapeless=
ae2:ItemMaterial.Cell16kPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemBasicStorageCell.16k
shapeless=
ae2:ItemMaterial.Cell64kPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemBasicStorageCell.64k
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell1kPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemBasicStorageCell.1k
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell4kPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemBasicStorageCell.4k
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell16kPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemBasicStorageCell.16k
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone ae2:ItemMaterial.Cell64kPart mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemBasicStorageCell.64k
@@ -0,0 +1,8 @@
shapeless=
certusCrystal ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemViewCell
shaped=
ae2:BlockQuartzGlass mc:redstone ae2:BlockQuartzGlass,
mc:redstone certusCrystal mc:redstone,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemViewCell
@@ -0,0 +1,5 @@
shaped=
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot,
ae2:ItemMaterial.AnnihilationCore mc:crafting_table ae2:ItemMaterial.FormationCore,
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot
-> ae2:BlockMolecularAssembler
@@ -0,0 +1,37 @@
shaped=
mc:iron_ingot ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
cable ae2:ItemMaterial.LogicProcessor cable,
mc:iron_ingot ae2:ItemMaterial.CalcProcessor mc:iron_ingot
-> ae2:BlockCraftingUnit:0
# co processor
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.EngProcessor
-> ae2:BlockCraftingUnit:1
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemPart.StorageMonitor
-> ae2:BlockCraftingMonitor
# various storage sizes
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell1kPart
-> ae2:BlockCraftingStorage:0
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell4kPart
-> ae2:BlockCraftingStorage:1
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell16kPart
-> ae2:BlockCraftingStorage:2
shapeless=
ae2:BlockCraftingUnit:0
ae2:ItemMaterial.Cell64kPart
-> ae2:BlockCraftingStorage:3
@@ -0,0 +1,3 @@
import=network/crafting/assembler.recipe
import=network/crafting/cpu.recipe
import=network/crafting/patterns.recipe
@@ -0,0 +1,5 @@
shaped=
ae2:BlockQuartzGlass mc:glowstone_dust ae2:BlockQuartzGlass,
mc:glowstone_dust certusCrystal mc:glowstone_dust,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:ItemMaterial.BlankPattern
@@ -0,0 +1,6 @@
import=network/blocks/index.recipe
import=network/cables/index.recipe
import=network/cells/index.recipe
import=network/crafting/index.recipe
import=network/parts/index.recipe
import=network/wireless.recipe
@@ -0,0 +1,3 @@
shapeless=
metalIngots knife
-> 3 ae2:ItemPart.CableAnchor
@@ -0,0 +1,3 @@
shapeless=
ae2:ItemMaterial.CalcProcessor mc:redstone_torch
-> ae2:ItemPart.LevelEmitter
@@ -0,0 +1,10 @@
import=network/parts/cable-anchor.recipe
import=network/parts/emitters.recipe
import=network/parts/io-buses.recipe
import=network/parts/monitors.recipe
import=network/parts/panels.recipe
import=network/parts/planes.recipe
import=network/parts/quartz-fiber.recipe
import=network/parts/terminals.recipe
import=network/parts/toggle-buses.recipe
import=network/parts/tunnels.recipe
@@ -0,0 +1,13 @@
shaped=
mc:iron_ingot ae2:ItemMaterial.FormationCore mc:iron_ingot,
_ mc:piston _
-> ae2:ItemPart.ExportBus
shaped=
_ ae2:ItemMaterial.AnnihilationCore _,
mc:iron_ingot mc:sticky_piston mc:iron_ingot
-> ae2:ItemPart.ImportBus
shapeless=
interface mc:sticky_piston mc:piston
-> ae2:ItemPart.StorageBus
@@ -0,0 +1,7 @@
shapeless=
ae2:ItemPart.LevelEmitter monitor
-> ae2:ItemPart.StorageMonitor
shapeless=
ae2:ItemMaterial.AnnihilationCore ae2:ItemPart.StorageMonitor ae2:ItemMaterial.FormationCore
-> ae2:ItemPart.ConversionMonitor
@@ -0,0 +1,17 @@
shaped=
_ mc:glowstone_dust ae2:BlockQuartzGlass,
mc:iron_ingot mc:redstone ae2:BlockQuartzGlass,
_ mc:glowstone_dust ae2:BlockQuartzGlass
-> 3 ae2:ItemPart.SemiDarkMonitor
shapeless=
ae2:ItemPart.DarkMonitor
-> ae2:ItemPart.SemiDarkMonitor
shapeless=
ae2:ItemPart.SemiDarkMonitor
-> ae2:ItemPart.Monitor
shapeless=
ae2:ItemPart.Monitor
-> ae2:ItemPart.DarkMonitor
@@ -0,0 +1,25 @@
shaped=
fluixCrystal fluixCrystal fluixCrystal,
mc:iron_ingot ae2:ItemMaterial.FormationCore mc:iron_ingot
-> ae2:ItemPart.FormationPlane
shaped=
fluixCrystal fluixCrystal fluixCrystal,
mc:iron_ingot ae2:ItemMaterial.AnnihilationCore mc:iron_ingot
-> ae2:ItemPart.AnnihilationPlane
shaped=
mc:iron_ingot fluixCrystal,
ae2:ItemMaterial.AnnihilationCore fluixCrystal,
mc:iron_ingot fluixCrystal
-> ae2:ItemPart.AnnihilationPlane
shaped=
mc:iron_ingot fluixCrystal,
ae2:ItemMaterial.FormationCore fluixCrystal,
mc:iron_ingot fluixCrystal
-> ae2:ItemPart.FormationPlane
shapeless=
ae2:ItemPart.AnnihilationPlane ae2:ItemMaterial.FluixPearl
-> ae2:ItemPart.IdentityAnnihilationPlane
@@ -0,0 +1,5 @@
shaped=
glass glass glass,
dustQuartz dustQuartz dustQuartz,
glass glass glass
-> 3 ae2:ItemPart.QuartzFiber
@@ -0,0 +1,15 @@
shapeless=
monitor ae2:ItemMaterial.FormationCore ae2:ItemMaterial.AnnihilationCore ae2:ItemMaterial.LogicProcessor
-> ae2:ItemPart.Terminal
shapeless=
ae2:ItemPart.Terminal mc:crafting_table ae2:ItemMaterial.CalcProcessor
-> ae2:ItemPart.CraftingTerminal
shapeless=
monitor interface ae2:ItemMaterial.EngProcessor
-> ae2:ItemPart.InterfaceTerminal
shapeless=
ae2:ItemPart.CraftingTerminal ae2:ItemMaterial.EngProcessor
-> ae2:ItemPart.PatternTerminal
@@ -0,0 +1,13 @@
shaped=
_ mc:redstone _,
cable mc:lever cable,
_ mc:redstone _
-> ae2:ItemPart.ToggleBus
shapeless=
ae2:ItemPart.ToggleBus
-> ae2:ItemPart.InvertedToggleBus
shapeless=
ae2:ItemPart.InvertedToggleBus
-> ae2:ItemPart.ToggleBus
@@ -0,0 +1,5 @@
shaped=
_ mc:iron_ingot _,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot,
fluixCrystal fluixCrystal fluixCrystal
-> ae2:ItemPart.P2PTunnelME
@@ -0,0 +1,22 @@
shaped=
_ ae2:ItemMaterial.FluixPearl _,
mc:iron_ingot ae2:ItemPart.QuartzFiber mc:iron_ingot,
_ mc:iron_ingot _
-> ae2:ItemMaterial.Wireless
shaped=
ae2:ItemMaterial.Wireless,
ae2:ItemMaterial.CalcProcessor,
cable
-> ae2:BlockWireless
shaped=
ae2:ItemMaterial.Wireless,
ae2:ItemPart.Terminal,
ae2:BlockDenseEnergyCell
-> ae2:ToolWirelessTerminal
shaped=
oredictionary:dustFluix certusCrystal dustEnder,
mc:iron_ingot mc:iron_ingot mc:iron_ingot,
-> 2 ae2:ItemMaterial.WirelessBooster
@@ -1,189 +0,0 @@
# Processor Recipes
inscribe=
mc:iron_block ae2:ItemMaterial.LogicProcessorPress
-> ae2:ItemMaterial.LogicProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.CalcProcessorPress
-> ae2:ItemMaterial.CalcProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.EngProcessorPress
-> ae2:ItemMaterial.EngProcessorPress
inscribe=
mc:iron_block ae2:ItemMaterial.SiliconPress
-> ae2:ItemMaterial.SiliconPress
inscribe=
mc:gold_ingot ae2:ItemMaterial.LogicProcessorPress
-> ae2:ItemMaterial.LogicProcessorPrint
inscribe=
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.CalcProcessorPress
-> ae2:ItemMaterial.CalcProcessorPrint
inscribe=
oredictionary:gemDiamond ae2:ItemMaterial.EngProcessorPress
-> ae2:ItemMaterial.EngProcessorPrint
inscribe=
oredictionary:itemSilicon ae2:ItemMaterial.SiliconPress
-> ae2:ItemMaterial.SiliconPrint
press=
mc:redstone ae2:ItemMaterial.LogicProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.LogicProcessor
press=
mc:redstone ae2:ItemMaterial.CalcProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.CalcProcessor
press=
mc:redstone ae2:ItemMaterial.EngProcessorPrint ae2:ItemMaterial.SiliconPrint
-> ae2:ItemMaterial.EngProcessor
# Other New stuff
shaped=
mc:iron_ingot mc:iron_ingot mc:iron_ingot,
mc:iron_ingot mc:furnace mc:iron_ingot,
mc:iron_ingot ae2:BlockEnergyAcceptor mc:iron_ingot
-> ae2:BlockVibrationChamber
shaped=
mc:iron_ingot ae2:BlockChest mc:iron_ingot,
cable ae2:ItemMaterial.Cell16kPart cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockSecurity
shapeless=
wrench monitor ae2:ItemMaterial.CalcProcessor mc:chest
-> ae2:ToolNetworkTool
shaped=
certusCrystal oredictionary:dustFluix certusCrystal,
oredictionary:dustFluix ae2:BlockQuartzGlass oredictionary:dustFluix,
certusCrystal oredictionary:dustFluix certusCrystal
-> ae2:BlockEnergyCell
shaped=
ae2:BlockEnergyCell ae2:BlockEnergyCell ae2:BlockEnergyCell,
ae2:BlockEnergyCell ae2:ItemMaterial.CalcProcessor ae2:BlockEnergyCell,
ae2:BlockEnergyCell ae2:BlockEnergyCell ae2:BlockEnergyCell
-> ae2:BlockDenseEnergyCell
shaped=
ae2:BlockChest ae2:ItemMaterial.Cell1kPart ae2:BlockEnergyCell
-> ae2:ToolPortableCell
shaped=
ae2:ItemMaterial.CertusQuartzCrystalCharged _ _,
_ mc:iron_ingot _,
_ _ mc:iron_ingot
-> ae2:ToolChargedStaff
shaped=
fluixCrystal ae2:BlockEnergyCell _,
ae2:ItemMaterial.EngProcessor mc:iron_ingot _,
_ _ mc:iron_ingot
-> ae2:ToolEntropyManipulator
shaped=
netherCrystal oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor
-> 2 ae2:ItemMaterial.AnnihilationCore
shaped=
certusCrystal oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor
-> 2 ae2:ItemMaterial.FormationCore
shaped=
ae2:ItemMaterial.EngProcessor mc:iron_ingot mc:iron_ingot,
mc:gold_ingot mc:redstone mc:gold_ingot
-> ae2:ToolBiometricCard
# Memory Card
shaped=
ae2:ItemMaterial.CalcProcessor mc:iron_ingot mc:iron_ingot,
mc:gold_ingot mc:redstone mc:gold_ingot
-> ae2:ToolMemoryCard
shaped=
mc:gold_ingot mc:iron_ingot _,
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
mc:gold_ingot mc:iron_ingot _
-> 2 ae2:ItemMaterial.BasicCard
shaped=
_ mc:glowstone_dust ae2:BlockQuartzGlass,
mc:iron_ingot mc:redstone ae2:BlockQuartzGlass,
_ mc:glowstone_dust ae2:BlockQuartzGlass
-> 3 ae2:ItemPart.SemiDarkMonitor
shapeless=
ae2:ItemPart.DarkMonitor
-> ae2:ItemPart.SemiDarkMonitor
shapeless=
ae2:ItemPart.SemiDarkMonitor
-> ae2:ItemPart.Monitor
shapeless=
ae2:ItemPart.Monitor
-> ae2:ItemPart.DarkMonitor
shaped=
oredictionary:gemDiamond mc:iron_ingot _,
mc:redstone ae2:ItemMaterial.CalcProcessor mc:iron_ingot,
oredictionary:gemDiamond mc:iron_ingot _
-> 2 ae2:ItemMaterial.AdvCard
shapeless=
ae2:ItemMaterial.BasicCard certusCrystal
-> ae2:ItemMaterial.CardCapacity
shapeless=
ae2:ItemMaterial.BasicCard mc:redstone_torch
-> ae2:ItemMaterial.CardRedstone
shapeless=
ae2:ItemMaterial.AdvCard wool
-> ae2:ItemMaterial.CardFuzzy
shapeless=
ae2:ItemMaterial.AdvCard mc:redstone_torch
-> ae2:ItemMaterial.CardInverter
shapeless=
ae2:ItemMaterial.AdvCard fluixCrystal
-> ae2:ItemMaterial.CardSpeed
shapeless=
ae2:ItemMaterial.AnnihilationCore ae2:ItemPart.StorageMonitor ae2:ItemMaterial.FormationCore
-> ae2:ItemPart.ConversionMonitor
shaped=
_ mc:iron_ingot _,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot,
fluixCrystal fluixCrystal fluixCrystal
-> ae2:ItemPart.P2PTunnelME
shaped=
wool ae2:ItemMaterial.CalcProcessor wool,
mc:iron_ingot mc:chest mc:iron_ingot,
mc:iron_ingot mc:iron_ingot mc:iron_ingot
-> ae2:BlockCellWorkbench
shaped=
mc:iron_ingot mc:sticky_piston mc:iron_ingot,
fluixCrystal _ mc:iron_ingot,
mc:iron_ingot mc:sticky_piston mc:iron_ingot
-> ae2:BlockInscriber
shaped=
_ mc:iron_ingot _,
mc:iron_ingot ae2:ItemMaterial.CertusQuartzCrystalCharged mc:iron_ingot,
_ mc:iron_ingot _
-> ae2:BlockSkyCompass
@@ -1,3 +1,15 @@
# Forge Ore Dictionary
# logWood, slabWood, stairWood, treeSapling, treeLeaves,
# oreGold, oreIron, oreLapis, oreDiamond, oreRedstone, oreEmerald, oreQuartz, oreCoal,
# stone, cobblestone, record, stickWood, plankWood,
# dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite
# Minecraft Ore Dict Entries
# Renamed for less clashing
ore=mc:quartz -> crystalNetherQuartz
ore=mc:wool:* -> blockWool
ore=mc:stained_hardened_clay:* -> blockStainedHardenedClay
# AE2 Ore Dictionary
# Materials for processing in other machines
ore=ae2:ItemMaterial.CertusQuartzCrystal -> crystalCertusQuartz
@@ -14,4 +26,4 @@ ore=ae2:tile.OreQuartzCharged -> oreCertusQuartz
# Parts to be used
ore= ae2:ItemPart.SemiDarkMonitor -> itemIlluminatedPanel
ore= ae2:ItemPart.Monitor -> itemIlluminatedPanel
ore= ae2:ItemPart.DarkMonitor -> itemIlluminatedPanel
ore= ae2:ItemPart.DarkMonitor -> itemIlluminatedPanel
@@ -1,195 +0,0 @@
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeWhite ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.White
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeBlack ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Black
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeRed ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Red
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeGreen ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Green
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeBrown ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Brown
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeBlue ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Blue
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyePurple ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Purple
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeCyan ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Cyan
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeLightGray ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.LightGray
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeGray ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Gray
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyePink ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Pink
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeLime ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Lime
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeYellow ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Yellow
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeLightBlue ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.LightBlue
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeMagenta ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Magenta
shaped=
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall oredictionary:dyeOrange ae2:ItemMaterial.MatterBall,
ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall ae2:ItemMaterial.MatterBall
-> 8 ae2:PaintBall.Orange
shaped=
ae2:PaintBall.White ae2:PaintBall.White ae2:PaintBall.White,
ae2:PaintBall.White mc:glowstone_dust ae2:PaintBall.White,
ae2:PaintBall.White ae2:PaintBall.White ae2:PaintBall.White
-> 8 ae2:LumenPaintBall.White
shaped=
ae2:PaintBall.Black ae2:PaintBall.Black ae2:PaintBall.Black,
ae2:PaintBall.Black mc:glowstone_dust ae2:PaintBall.Black,
ae2:PaintBall.Black ae2:PaintBall.Black ae2:PaintBall.Black
-> 8 ae2:LumenPaintBall.Black
shaped=
ae2:PaintBall.Red ae2:PaintBall.Red ae2:PaintBall.Red,
ae2:PaintBall.Red mc:glowstone_dust ae2:PaintBall.Red,
ae2:PaintBall.Red ae2:PaintBall.Red ae2:PaintBall.Red
-> 8 ae2:LumenPaintBall.Red
shaped=
ae2:PaintBall.Green ae2:PaintBall.Green ae2:PaintBall.Green,
ae2:PaintBall.Green mc:glowstone_dust ae2:PaintBall.Green,
ae2:PaintBall.Green ae2:PaintBall.Green ae2:PaintBall.Green
-> 8 ae2:LumenPaintBall.Green
shaped=
ae2:PaintBall.Brown ae2:PaintBall.Brown ae2:PaintBall.Brown,
ae2:PaintBall.Brown mc:glowstone_dust ae2:PaintBall.Brown,
ae2:PaintBall.Brown ae2:PaintBall.Brown ae2:PaintBall.Brown
-> 8 ae2:LumenPaintBall.Brown
shaped=
ae2:PaintBall.Blue ae2:PaintBall.Blue ae2:PaintBall.Blue,
ae2:PaintBall.Blue mc:glowstone_dust ae2:PaintBall.Blue,
ae2:PaintBall.Blue ae2:PaintBall.Blue ae2:PaintBall.Blue
-> 8 ae2:LumenPaintBall.Blue
shaped=
ae2:PaintBall.Purple ae2:PaintBall.Purple ae2:PaintBall.Purple,
ae2:PaintBall.Purple mc:glowstone_dust ae2:PaintBall.Purple,
ae2:PaintBall.Purple ae2:PaintBall.Purple ae2:PaintBall.Purple
-> 8 ae2:LumenPaintBall.Purple
shaped=
ae2:PaintBall.Cyan ae2:PaintBall.Cyan ae2:PaintBall.Cyan,
ae2:PaintBall.Cyan mc:glowstone_dust ae2:PaintBall.Cyan,
ae2:PaintBall.Cyan ae2:PaintBall.Cyan ae2:PaintBall.Cyan
-> 8 ae2:LumenPaintBall.Cyan
shaped=
ae2:PaintBall.LightGray ae2:PaintBall.LightGray ae2:PaintBall.LightGray,
ae2:PaintBall.LightGray mc:glowstone_dust ae2:PaintBall.LightGray,
ae2:PaintBall.LightGray ae2:PaintBall.LightGray ae2:PaintBall.LightGray
-> 8 ae2:LumenPaintBall.LightGray
shaped=
ae2:PaintBall.Gray ae2:PaintBall.Gray ae2:PaintBall.Gray,
ae2:PaintBall.Gray mc:glowstone_dust ae2:PaintBall.Gray,
ae2:PaintBall.Gray ae2:PaintBall.Gray ae2:PaintBall.Gray
-> 8 ae2:LumenPaintBall.Gray
shaped=
ae2:PaintBall.Pink ae2:PaintBall.Pink ae2:PaintBall.Pink,
ae2:PaintBall.Pink mc:glowstone_dust ae2:PaintBall.Pink,
ae2:PaintBall.Pink ae2:PaintBall.Pink ae2:PaintBall.Pink
-> 8 ae2:LumenPaintBall.Pink
shaped=
ae2:PaintBall.Lime ae2:PaintBall.Lime ae2:PaintBall.Lime,
ae2:PaintBall.Lime mc:glowstone_dust ae2:PaintBall.Lime,
ae2:PaintBall.Lime ae2:PaintBall.Lime ae2:PaintBall.Lime
-> 8 ae2:LumenPaintBall.Lime
shaped=
ae2:PaintBall.Yellow ae2:PaintBall.Yellow ae2:PaintBall.Yellow,
ae2:PaintBall.Yellow mc:glowstone_dust ae2:PaintBall.Yellow,
ae2:PaintBall.Yellow ae2:PaintBall.Yellow ae2:PaintBall.Yellow
-> 8 ae2:LumenPaintBall.Yellow
shaped=
ae2:PaintBall.LightBlue ae2:PaintBall.LightBlue ae2:PaintBall.LightBlue,
ae2:PaintBall.LightBlue mc:glowstone_dust ae2:PaintBall.LightBlue,
ae2:PaintBall.LightBlue ae2:PaintBall.LightBlue ae2:PaintBall.LightBlue
-> 8 ae2:LumenPaintBall.LightBlue
shaped=
ae2:PaintBall.Magenta ae2:PaintBall.Magenta ae2:PaintBall.Magenta,
ae2:PaintBall.Magenta mc:glowstone_dust ae2:PaintBall.Magenta,
ae2:PaintBall.Magenta ae2:PaintBall.Magenta ae2:PaintBall.Magenta
-> 8 ae2:LumenPaintBall.Magenta
shaped=
ae2:PaintBall.Orange ae2:PaintBall.Orange ae2:PaintBall.Orange,
ae2:PaintBall.Orange mc:glowstone_dust ae2:PaintBall.Orange,
ae2:PaintBall.Orange ae2:PaintBall.Orange ae2:PaintBall.Orange
-> 8 ae2:LumenPaintBall.Orange
@@ -1,238 +0,0 @@
# Quartz Fiber
shaped=
glass glass glass,
dustQuartz dustQuartz dustQuartz,
glass glass glass
-> 3 ae2:ItemPart.QuartzFiber
# Glass Cable
shapeless=
ae2:ItemPart.QuartzFiber fluixCrystal fluixCrystal
-> 4 ae2:CableGlass.Fluix
# Covered Cable
shapeless=
ae2:CableGlass
wool
-> ae2:CableCovered.Fluix
# Smart Cable
shapeless=
ae2:CableCovered
mc:redstone mc:glowstone_dust
-> ae2:CableSmart.Fluix
# Smart Cable
shapeless=
ae2:CableCovered ae2:CableCovered ae2:CableCovered ae2:CableCovered
mc:redstone mc:glowstone_dust
-> ae2:CableDense.Fluix
shapeless=
ae2:CableSmart mc:water_bucket
-> ae2:CableSmart.Fluix
shapeless=
ae2:CableCovered mc:water_bucket
-> ae2:CableCovered.Fluix
shapeless=
ae2:CableGlass mc:water_bucket
-> ae2:CableGlass.Fluix
shapeless=
ae2:CableDense mc:water_bucket
-> ae2:CableDense.Fluix
# Planes
shaped=
fluixCrystal fluixCrystal fluixCrystal,
mc:iron_ingot ae2:ItemMaterial.FormationCore mc:iron_ingot
-> ae2:ItemPart.FormationPlane
shaped=
fluixCrystal fluixCrystal fluixCrystal,
mc:iron_ingot ae2:ItemMaterial.AnnihilationCore mc:iron_ingot
-> ae2:ItemPart.AnnihilationPlane
shapeless=
ae2:ItemPart.AnnihilationPlane ae2:ItemMaterial.FluixPearl
-> ae2:ItemPart.IdentityAnnihilationPlane
shaped=
glass ae2:ItemPart.Terminal glass,
cable _ cable,
mc:iron_ingot fluixCrystal mc:iron_ingot,
-> ae2:BlockChest
# Storage
shaped=
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot,
cable _ cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockDrive
# Misc
shaped=
mc:iron_ingot glass mc:iron_ingot,
glass oredictionary:dustFluix glass,
mc:iron_ingot glass mc:iron_ingot
-> ae2:BlockCondenser
shaped=
ae2:BlockSkyStone:1 ae2:ItemMaterial.PurifiedFluixCrystal ae2:BlockSkyStone:1,
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.EngProcessor ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:BlockSkyStone:1 ae2:ItemMaterial.PurifiedFluixCrystal ae2:BlockSkyStone:1
-> ae2:BlockController
shapeless=
metalIngots knife
-> 3 ae2:ItemPart.CableAnchor
shapeless=
monitor ae2:ItemMaterial.FormationCore ae2:ItemMaterial.AnnihilationCore ae2:ItemMaterial.LogicProcessor
-> ae2:ItemPart.Terminal
shapeless=
ae2:ItemPart.Terminal mc:crafting_table ae2:ItemMaterial.CalcProcessor
-> ae2:ItemPart.CraftingTerminal
shaped=
_ mc:redstone _,
cable mc:lever cable,
_ mc:redstone _
-> ae2:ItemPart.ToggleBus
shapeless=
ae2:ItemPart.ToggleBus
-> ae2:ItemPart.InvertedToggleBus
shapeless=
ae2:ItemPart.InvertedToggleBus
-> ae2:ItemPart.ToggleBus
shaped=
glass glass glass,
ae2:BlockDrive cable ae2:BlockDrive,
mc:iron_ingot ae2:ItemMaterial.LogicProcessor mc:iron_ingot
-> ae2:BlockIOPort
shaped=
glass glass glass,
cable ae2:BlockIOPort cable,
mc:iron_ingot ae2:ItemMaterial.EngProcessor mc:iron_ingot
-> ae2:BlockSpatialIOPort
shaped=
ae2:BlockQuartzGlass cable ae2:BlockQuartzGlass,
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix,
ae2:BlockQuartzGlass cable ae2:BlockQuartzGlass
-> ae2:BlockSpatialPylon
shaped=
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot,
ae2:BlockQuartzGlass fluixCrystal ae2:BlockQuartzGlass,
mc:iron_ingot ae2:BlockQuartzGlass mc:iron_ingot
-> ae2:BlockEnergyAcceptor
shaped=
mc:iron_ingot cable mc:iron_ingot,
ae2:BlockQuartzGlass ae2:BlockFluix ae2:BlockQuartzGlass,
mc:iron_ingot cable mc:iron_ingot
-> ae2:BlockQuartzGrowthAccelerator
shaped=
mc:iron_ingot fluixCrystal mc:iron_ingot,
mc:iron_ingot _ _,
mc:iron_ingot fluixCrystal mc:iron_ingot
-> ae2:BlockCharger
shapeless=
ae2:ItemMaterial.CalcProcessor mc:redstone_torch
-> ae2:ItemPart.LevelEmitter
shaped=
mc:iron_ingot ae2:ItemMaterial.FormationCore mc:iron_ingot,
_ mc:piston _
-> ae2:ItemPart.ExportBus
shaped=
_ ae2:ItemMaterial.AnnihilationCore _,
mc:iron_ingot mc:sticky_piston mc:iron_ingot
-> ae2:ItemPart.ImportBus
shaped=
mc:iron_ingot fluixCrystal,
ae2:ItemMaterial.AnnihilationCore fluixCrystal,
mc:iron_ingot fluixCrystal
-> ae2:ItemPart.AnnihilationPlane
shaped=
mc:iron_ingot fluixCrystal,
ae2:ItemMaterial.FormationCore fluixCrystal,
mc:iron_ingot fluixCrystal
-> ae2:ItemPart.FormationPlane
shapeless=
interface mc:sticky_piston mc:piston
-> ae2:ItemPart.StorageBus
shapeless=
ae2:ItemPart.LevelEmitter monitor
-> ae2:ItemPart.StorageMonitor
shapeless=
ae2:ItemPart.Interface
-> ae2:BlockInterface
shapeless=
ae2:BlockInterface
-> ae2:ItemPart.Interface
shaped=
mc:iron_ingot glass mc:iron_ingot,
ae2:ItemMaterial.AnnihilationCore _ ae2:ItemMaterial.FormationCore,
mc:iron_ingot glass mc:iron_ingot
-> ae2:BlockInterface
# Matter Cannon
shaped=
mc:iron_ingot mc:iron_ingot ae2:ItemMaterial.FormationCore,
ae2:ItemMaterial.Cell4kPart ae2:BlockEnergyCell _,
mc:iron_ingot _ _
-> ae2:ToolMassCannon
# Wireless
shaped=
_ ae2:ItemMaterial.FluixPearl _,
mc:iron_ingot ae2:ItemPart.QuartzFiber mc:iron_ingot,
_ mc:iron_ingot _
-> ae2:ItemMaterial.Wireless
shaped=
ae2:ItemMaterial.Wireless,
ae2:ItemMaterial.CalcProcessor,
cable
-> ae2:BlockWireless
shaped=
ae2:ItemMaterial.Wireless,
ae2:ItemPart.Terminal,
ae2:BlockDenseEnergyCell
-> ae2:ToolWirelessTerminal
shaped=
oredictionary:dustFluix certusCrystal dustEnder,
mc:iron_ingot mc:iron_ingot mc:iron_ingot,
-> 2 ae2:ItemMaterial.WirelessBooster
shaped=
dustQuartz mc:gunpowder,
mc:gunpowder dustQuartz
-> ae2:BlockTinyTNT
import=hightech.recipe
@@ -1,232 +0,0 @@
# Sky Stone Chest
shaped=
ae2:BlockSkyStone ae2:BlockSkyStone ae2:BlockSkyStone,
ae2:BlockSkyStone _ ae2:BlockSkyStone,
ae2:BlockSkyStone ae2:BlockSkyStone ae2:BlockSkyStone
-> ae2:BlockSkyChest
shaped=
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 ae2:BlockSkyStone:1,
ae2:BlockSkyStone:1 _ ae2:BlockSkyStone:1,
ae2:BlockSkyStone:1 ae2:BlockSkyStone:1 ae2:BlockSkyStone:1
-> ae2:BlockSkyChest:1
smelt=
ae2:BlockSkyStone -> ae2:BlockSkyStone:1
shapeless=
ae2:BlockSkyStone:1 -> ae2:BlockSkyStone:2
shapeless=
ae2:BlockSkyStone:2 -> ae2:BlockSkyStone:3
shapeless=
ae2:BlockSkyStone:3 -> ae2:BlockSkyStone:1
# Quartz Glass
shaped=
dustQuartz glass dustQuartz,
glass dustQuartz glass,
dustQuartz glass dustQuartz
-> 4 ae2:BlockQuartzGlass
shaped=
mc:glowstone_dust ae2:BlockQuartzGlass mc:glowstone_dust
-> ae2:BlockQuartzLamp
shaped=
ae2:ItemMaterial.CertusQuartzCrystalCharged mc:iron_ingot
-> 2 ae2:BlockQuartzTorch
shaped=
netherCrystal mc:iron_ingot
-> ae2:BlockLightDetector
# Seeds
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
# Gear Wooden ( optional item. )
shaped=
_ oredictionary:stickWood _,
oredictionary:stickWood _ oredictionary:stickWood,
_ oredictionary:stickWood _
-> ae2:ItemMaterial.WoodenGear
# Grind Stone
shaped=
oredictionary:stickWood oredictionary:stickWood oredictionary:stickWood,
_ _ oredictionary:stickWood,
_ _ oredictionary:stickWood
-> ae2:BlockCrank
shaped=
oredictionary:stone oredictionary:gearWood oredictionary:stone,
crystalQuartz oredictionary:stone crystalQuartz,
oredictionary:cobblestone crystalQuartz oredictionary:cobblestone
-> ae2:BlockGrinder
# Iron
shaped=
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget,
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget,
ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget ae2:ItemMaterial.IronNugget
-> mc:iron_ingot
shapeless=
mc:iron_ingot
-> 9 ae2:ItemMaterial.IronNugget
# Raw Storage Blocks
shaped=
oredictionary:crystalCertusQuartz oredictionary:crystalCertusQuartz,
oredictionary:crystalCertusQuartz oredictionary:crystalCertusQuartz
-> ae2:BlockQuartz
shaped=
oredictionary:crystalFluix oredictionary:crystalFluix,
oredictionary:crystalFluix oredictionary:crystalFluix
-> ae2:BlockFluix
# Pure Storage Blocks
shaped=
ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal,
ae2:ItemMaterial.PurifiedNetherQuartzCrystal _ ae2:ItemMaterial.PurifiedNetherQuartzCrystal,
ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal ae2:ItemMaterial.PurifiedNetherQuartzCrystal
-> mc:quartz_block
shaped=
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal,
ae2:ItemMaterial.PurifiedCertusQuartzCrystal _ ae2:ItemMaterial.PurifiedCertusQuartzCrystal,
ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal ae2:ItemMaterial.PurifiedCertusQuartzCrystal
-> ae2:BlockQuartz
shaped=
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:ItemMaterial.PurifiedFluixCrystal _ ae2:ItemMaterial.PurifiedFluixCrystal,
ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal ae2:ItemMaterial.PurifiedFluixCrystal
-> ae2:BlockFluix
# Decrative Certus
shaped=
ae2:BlockQuartz,
ae2:BlockQuartz
-> 2 ae2:BlockQuartzPillar
shaped=
ae2:BlockQuartz ae2:BlockQuartz
-> 2 ae2:BlockQuartzChiseled
# Deconstruction
shapeless=
ae2:BlockQuartz
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockQuartzPillar
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockQuartzChiseled
-> 4 ae2:ItemMaterial.CertusQuartzCrystal
shapeless=
ae2:BlockFluix
-> 4 ae2:ItemMaterial.FluixCrystal
# Quantum Pearl
shaped=
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix,
fluixCrystal mc:ender_pearl fluixCrystal,
oredictionary:dustFluix fluixCrystal oredictionary:dustFluix
-> ae2:ItemMaterial.FluixPearl
# Machine Process
grind= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
grind= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
grind= mc:gravel -> mc:flint
grind= mc:bone -> 4 mc:dye:15
grindfz= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
grindfz= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
grindfz= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
# grindfz= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
grindfz= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
grindfz= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
# grindfz= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
grindfz= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
grindfz= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
mekcrusher= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
#bug mekcrusher= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
#bug mekcrusher= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
# mekcrusher= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
#bug mekcrusher= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
mekcrusher= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
mekcrusher= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
mekechamber= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
mekechamber= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
hccrusher= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
hccrusher= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
hccrusher= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
hccrusher= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
hccrusher= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
hccrusher= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
hccrusher= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
hccrusher= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
hccrusher= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
crusher= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
crusher= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
crusher= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
crusher= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
crusher= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
crusher= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
crusher= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
crusher= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
crusher= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
macerator= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
macerator= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
macerator= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
# macerator= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
macerator= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
macerator= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
macerator= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
macerator= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
macerator= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
pulverizer= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
pulverizer= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
pulverizer= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
pulverizer= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
pulverizer= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
pulverizer= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
pulverizer= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
pulverizer= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
pulverizer= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
# Ore Processing
smelt= ae2:ItemMaterial.GoldDust -> mc:gold_ingot
smelt= ae2:ItemMaterial.IronDust -> mc:iron_ingot
smelt= ae2:ItemMaterial.Flour -> mc:bread
# Silicon
smelt= ae2:ItemMaterial.NetherQuartzDust -> ae2:ItemMaterial.Silicon
smelt= ae2:ItemMaterial.CertusQuartzDust -> ae2:ItemMaterial.Silicon
@@ -0,0 +1,9 @@
grindfz= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
grindfz= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
grindfz= mc:ender_pearl -> ae2:ItemMaterial.EnderDust
# grindfz= oredictionary:cropWheat -> ae2:ItemMaterial.Flour
grindfz= ae2:ItemMaterial.CertusQuartzCrystalCharged -> ae2:ItemMaterial.CertusQuartzDust
grindfz= ae2:ItemMaterial.CertusQuartzCrystal -> ae2:ItemMaterial.CertusQuartzDust
# grindfz= mc:quartz -> ae2:ItemMaterial.NetherQuartzDust
grindfz= ae2:OreQuartz -> 2 ae2:ItemMaterial.CertusQuartzDust
grindfz= ae2:OreQuartzCharged -> 2 ae2:ItemMaterial.CertusQuartzDust
@@ -0,0 +1,4 @@
grind= ae2:ItemMaterial.FluixCrystal -> ae2:ItemMaterial.FluixDust
grind= ae2:BlockSkyStone:0 -> ae2:ItemMaterial.SkyDust
grind= mc:gravel -> mc:flint
grind= mc:bone -> 4 mc:dye:15

Some files were not shown because too many files have changed in this diff Show More