Compare commits
15 Commits
omni-fixes-v29
...
omn
| Author | SHA1 | Date | |
|---|---|---|---|
| c3b1dea7c5 | |||
| 40ec517480 | |||
| 2fdc16d3a8 | |||
| 053485a95a | |||
| e910af7734 | |||
| 59d7bd6c16 | |||
| 1a11462ddd | |||
| 77d615559f | |||
| 6878bfa4b0 | |||
| f1d50eca1a | |||
| 4ee32dd0b0 | |||
| 66e589324a | |||
| 362b001cb4 | |||
| b6fd4b3c0f | |||
| e364603a5a |
@@ -85,8 +85,8 @@ configurations {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
deobfCompile "com.jaquadro.minecraft.storagedrawers:StorageDrawers:1.12.2-5.4.2:api"
|
||||
deobfCompile "gregtechce:gregtech:1.12.2:1.12.0.662"
|
||||
compileOnly "com.jaquadro.minecraft.storagedrawers:StorageDrawers:1.12.2-5.4.2:api"
|
||||
compileOnly "gregtechce:gregtech:1.12.2:1.12.0.662"
|
||||
|
||||
// installable runtime dependencies
|
||||
mods "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||
|
||||
@@ -26,5 +26,20 @@ package appeng.api.config;
|
||||
|
||||
public enum ActionItems
|
||||
{
|
||||
WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION, MULTIPLY_BY_TWO, MULTIPLY_BY_THREE, INCREASE_BY_ONE, DIVIDE_BY_TWO, DIVIDE_BY_THREE, DECREASE_BY_ONE, MAX_COUNT
|
||||
WRENCH,
|
||||
CLOSE,
|
||||
STASH,
|
||||
ENCODE,
|
||||
SUBSTITUTION,
|
||||
MULTIPLY_BY_TWO,
|
||||
MULTIPLY_BY_THREE,
|
||||
INCREASE_BY_ONE,
|
||||
DIVIDE_BY_TWO,
|
||||
DIVIDE_BY_THREE,
|
||||
DECREASE_BY_ONE,
|
||||
MAX_COUNT,
|
||||
FREE_MOLECULAR_SLOT_SHORTCUT,
|
||||
TOGGLE_SHOW_FULL_INTERFACES_ON,
|
||||
TOGGLE_SHOW_FULL_INTERFACES_OFF,
|
||||
HIGHLIGHT_INTERFACE
|
||||
}
|
||||
@@ -31,11 +31,13 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import appeng.tile.inventory.AppEngInternalInventory;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import net.minecraftforge.fml.common.Optional;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.input.Mouse;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
@@ -378,6 +380,59 @@ public abstract class AEBaseGui extends GuiContainer implements IMTModGuiContain
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( slot instanceof SlotDisconnected )
|
||||
{
|
||||
this.drag_click.add( slot );
|
||||
if( this.drag_click.size() > 1 )
|
||||
{
|
||||
if( !itemstack.isEmpty() )
|
||||
{
|
||||
Set<IItemHandler> visitedInterfaces = new HashSet<>();
|
||||
for( final Slot dr : this.drag_click )
|
||||
{
|
||||
IItemHandler interfaceHandler = ( (SlotDisconnected) slot ).getSlot().getInventory();
|
||||
if (visitedInterfaces.contains( interfaceHandler )) break;
|
||||
visitedInterfaces.add( interfaceHandler );
|
||||
boolean canInsert = true;
|
||||
for( int s = 0; s < interfaceHandler.getSlots(); s++ )
|
||||
{
|
||||
if( ItemStack.areItemStacksEqual( interfaceHandler.getStackInSlot( s ), itemstack ) )
|
||||
{
|
||||
canInsert = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( canInsert )
|
||||
{
|
||||
if( slot.getStack().isEmpty() )
|
||||
{
|
||||
InventoryAction action = InventoryAction.SPLIT_OR_PLACE_SINGLE;
|
||||
final PacketInventoryAction p = new PacketInventoryAction( action, dr.getSlotIndex(), ( (SlotDisconnected) slot ).getSlot().getId() );
|
||||
NetworkHandler.instance().sendToServer( p );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if( isShiftKeyDown() )
|
||||
{
|
||||
for( final Slot dr : this.drag_click )
|
||||
{
|
||||
InventoryAction action = null;
|
||||
if( !slot.getStack().isEmpty() )
|
||||
{
|
||||
action = InventoryAction.SHIFT_CLICK;
|
||||
}
|
||||
if( action != null )
|
||||
{
|
||||
final PacketInventoryAction p = new PacketInventoryAction( action, dr.getSlotIndex(), ( (SlotDisconnected) slot ).getSlot().getId() );
|
||||
NetworkHandler.instance().sendToServer( p );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
super.mouseClickMove( x, y, c, d );
|
||||
@@ -471,15 +526,35 @@ public abstract class AEBaseGui extends GuiContainer implements IMTModGuiContain
|
||||
|
||||
if( slot instanceof SlotDisconnected )
|
||||
{
|
||||
if( this.drag_click.size() > 1 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
InventoryAction action = null;
|
||||
|
||||
switch( clickType )
|
||||
switch ( clickType )
|
||||
{
|
||||
case PICKUP: // pickup / set-down.
|
||||
if (slot.getStack().isEmpty() && !player.inventory.getItemStack().isEmpty())
|
||||
action = InventoryAction.SPLIT_OR_PLACE_SINGLE;
|
||||
if (!slot.getStack().isEmpty() && player.inventory.getItemStack().getCount() <= 1)
|
||||
action = InventoryAction.PICKUP_OR_SET_DOWN;
|
||||
if( slot.getStack().isEmpty() && !player.inventory.getItemStack().isEmpty() )
|
||||
{
|
||||
boolean canInsert = true;
|
||||
IItemHandler interfaceHandler = ( (SlotDisconnected) slot ).getSlot().getInventory();
|
||||
for( int s = 0; s < interfaceHandler.getSlots(); s++ )
|
||||
{
|
||||
if( ItemStack.areItemStacksEqual( interfaceHandler.getStackInSlot( s ), player.inventory.getItemStack() ) )
|
||||
{
|
||||
canInsert = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( canInsert )
|
||||
{
|
||||
action = InventoryAction.SPLIT_OR_PLACE_SINGLE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if( !slot.getStack().isEmpty() && player.inventory.getItemStack().getCount() <= 1 ) action = InventoryAction.PICKUP_OR_SET_DOWN;
|
||||
break;
|
||||
case QUICK_MOVE:
|
||||
action = ( mouseButton == 1 ) ? InventoryAction.PICKUP_SINGLE : InventoryAction.SHIFT_CLICK;
|
||||
|
||||
@@ -22,13 +22,15 @@ package appeng.client.gui.implementations;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import appeng.api.config.ActionItems;
|
||||
import appeng.api.config.Settings;
|
||||
import appeng.client.gui.widgets.GuiImgButton;
|
||||
import appeng.util.BlockPosUtils;
|
||||
import com.google.common.collect.HashMultimap;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
@@ -58,7 +60,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
private static final int LINES_ON_PAGE = 6;
|
||||
|
||||
// TODO: copied from GuiMEMonitorable. It looks not changed, maybe unneeded?
|
||||
private final int offsetX = 9;
|
||||
private final int offsetX = 21;
|
||||
|
||||
private final HashMap<Long, ClientDCInternalInv> byId = new HashMap<>();
|
||||
private final HashMultimap<String, ClientDCInternalInv> byName = HashMultimap.create();
|
||||
@@ -83,8 +85,8 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
this.partInterfaceTerminal = te;
|
||||
final GuiScrollbar scrollbar = new GuiScrollbar();
|
||||
this.setScrollBar( scrollbar );
|
||||
this.xSize = 195;
|
||||
this.ySize = 236;
|
||||
this.xSize = 208;
|
||||
this.ySize = 256;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -92,19 +94,18 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
{
|
||||
super.initGui();
|
||||
|
||||
this.getScrollBar().setLeft( 175 );
|
||||
this.getScrollBar().setLeft( 189 );
|
||||
this.getScrollBar().setHeight( 106 );
|
||||
this.getScrollBar().setTop( 32 );
|
||||
this.getScrollBar().setTop( 51 );
|
||||
|
||||
this.searchFieldInputs = new MEGuiTextField( this.fontRenderer, this.guiLeft + Math.max( 16, this.offsetX ), this.guiTop + 18, 65, 12 );
|
||||
this.searchFieldInputs = new MEGuiTextField( this.fontRenderer, this.guiLeft + Math.max( 32, this.offsetX ), this.guiTop + 25, 65, 12 );
|
||||
this.searchFieldInputs.setEnableBackgroundDrawing( false );
|
||||
this.searchFieldInputs.setMaxStringLength( 25 );
|
||||
this.searchFieldInputs.setTextColor( 0xFFFFFF );
|
||||
this.searchFieldInputs.setVisible( true );
|
||||
this.searchFieldInputs.setFocused( false );
|
||||
|
||||
// this.searchFieldOutputs = new MEGuiTextField( this.fontRenderer, this.guiLeft + Math.max( 105, this.offsetX ), this.guiTop + 4, 65, 12 );
|
||||
this.searchFieldOutputs = new MEGuiTextField( this.fontRenderer, this.guiLeft + Math.max( 94, this.offsetX ), this.guiTop + 18, 65, 12 );
|
||||
this.searchFieldOutputs = new MEGuiTextField( this.fontRenderer, this.guiLeft + Math.max( 32, this.offsetX ), this.guiTop + 38, 65, 12 );
|
||||
this.searchFieldOutputs.setEnableBackgroundDrawing( false );
|
||||
this.searchFieldOutputs.setMaxStringLength( 25 );
|
||||
this.searchFieldOutputs.setTextColor( 0xFFFFFF );
|
||||
@@ -122,32 +123,35 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
super.onGuiClosed();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isPointInRegion( int rectX, int rectY, int rectWidth, int rectHeight, int pointX, int pointY )
|
||||
{
|
||||
if( searchFieldInputs.isMouseIn( pointX, pointY ) ) drawTooltip( pointX - guiLeft - offsetX, pointY - guiTop , "Inputs OR names" );
|
||||
else if( searchFieldOutputs.isMouseIn( pointX, pointY ) ) drawTooltip( pointX - guiLeft - offsetX, pointY - guiTop, "Outputs OR names" );
|
||||
return super.isPointInRegion( rectX, rectY, rectWidth, rectHeight, pointX, pointY );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
|
||||
{
|
||||
this.buttonList.clear();
|
||||
|
||||
this.fontRenderer.drawString( this.getGuiDisplayName( GuiText.InterfaceTerminal.getLocal() ), 8, 6, 4210752 );
|
||||
this.fontRenderer.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752 );
|
||||
this.fontRenderer.drawString( GuiText.inventory.getLocal(), this.offsetX + 2, this.ySize - 96 + 3, 4210752 );
|
||||
|
||||
final int ex = this.getScrollBar().getCurrentScroll();
|
||||
|
||||
this.guiButtonNextAssembler = new GuiButton( -1, guiLeft + 110, guiTop + 4, 12, 12, "M" );
|
||||
this.guiButtonNextAssembler = new GuiImgButton(guiLeft + 123, guiTop + 25,Settings.ACTIONS, ActionItems.FREE_MOLECULAR_SLOT_SHORTCUT);
|
||||
this.buttonList.add( guiButtonNextAssembler );
|
||||
|
||||
this.guiButtonHide = new GuiButton( -1, guiLeft + 128, guiTop + 4, 60, 12, "Hide Full" );
|
||||
guiButtonHide = new GuiImgButton( guiLeft + 141, guiTop + 25,Settings.ACTIONS, this.partInterfaceTerminal.onlyInterfacesWithFreeSlots ?
|
||||
ActionItems.TOGGLE_SHOW_FULL_INTERFACES_OFF :
|
||||
ActionItems.TOGGLE_SHOW_FULL_INTERFACES_ON);
|
||||
this.buttonList.add( guiButtonHide );
|
||||
|
||||
final Iterator<Slot> o = this.inventorySlots.inventorySlots.iterator();
|
||||
while( o.hasNext() )
|
||||
{
|
||||
if( o.next() instanceof SlotDisconnected )
|
||||
{
|
||||
o.remove();
|
||||
}
|
||||
}
|
||||
this.inventorySlots.inventorySlots.removeIf( slot -> slot instanceof SlotDisconnected );
|
||||
|
||||
int offset = 32;
|
||||
int offset = 51;
|
||||
for( int x = 0; x < LINES_ON_PAGE && ex + x < this.lines.size(); x++ )
|
||||
{
|
||||
final Object lineObj = this.lines.get( ex + x );
|
||||
@@ -156,9 +160,10 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
final ClientDCInternalInv inv = (ClientDCInternalInv) lineObj;
|
||||
for( int z = 0; z < inv.getInventory().getSlots(); z++ )
|
||||
{
|
||||
this.inventorySlots.inventorySlots.add( new SlotDisconnected( inv, z, z * 18 + 8, 1 + offset ) );
|
||||
this.inventorySlots.inventorySlots.add( new SlotDisconnected( inv, z, z * 18 + 22, 1 + offset ) );
|
||||
}
|
||||
GuiButton guiButton = new GuiButton( x, guiLeft + 1, guiTop + offset + 3, 8, 10, "?" );
|
||||
|
||||
GuiButton guiButton = new GuiImgButton(guiLeft + 4, guiTop + offset + 1, Settings.ACTIONS, ActionItems.HIGHLIGHT_INTERFACE);
|
||||
guiButtonHashMap.put( guiButton , inv);
|
||||
this.buttonList.add( guiButton );
|
||||
|
||||
@@ -177,7 +182,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
name = name.substring( 0, name.length() - 1 );
|
||||
}
|
||||
|
||||
this.fontRenderer.drawString( name, 10, 6 + offset, 4210752 );
|
||||
this.fontRenderer.drawString( name, this.offsetX + 2, 6 + offset, 4210752 );
|
||||
}
|
||||
offset += 18;
|
||||
}
|
||||
@@ -213,7 +218,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
BlockPos blockPos = blockPosHashMap.get( guiButtonHashMap.get( this.selectedButton ) );
|
||||
BlockPos blockPos2 = mc.player.getPosition();
|
||||
hilightBlock( blockPos, System.currentTimeMillis() + 500 * BlockPosUtils.getDistance(blockPos, blockPos2) );
|
||||
mc.player.sendStatusMessage( new TextComponentString( "The interface is now highlighted at " + "X: " + blockPos.getX() + "Y: " + blockPos.getY() + "Z: " + blockPos.getZ() ), false );
|
||||
mc.player.sendStatusMessage( new TextComponentString( "The interface is now highlighted at " + "X: " + blockPos.getX() + " Y: " + blockPos.getY() + " Z: " + blockPos.getZ() ), false );
|
||||
mc.player.closeScreen();
|
||||
}
|
||||
|
||||
@@ -245,7 +250,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
this.bindTexture( "guis/newinterfaceterminal.png" );
|
||||
this.drawTexturedModalRect( offsetX, offsetY, 0, 0, this.xSize, this.ySize );
|
||||
|
||||
int offset = 32;
|
||||
int offset = 51;
|
||||
final int ex = this.getScrollBar().getCurrentScroll();
|
||||
|
||||
for( int x = 0; x < LINES_ON_PAGE && ex + x < this.lines.size(); x++ )
|
||||
@@ -257,7 +262,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
|
||||
|
||||
GlStateManager.color( 1, 1, 1, 1 );
|
||||
final int width = inv.getInventory().getSlots() * 18;
|
||||
this.drawTexturedModalRect( offsetX + 7, offsetY + offset, 7, 153, width, 18 );
|
||||
this.drawTexturedModalRect( offsetX + 20, offsetY + offset, 20, 173, width, 18 );
|
||||
}
|
||||
offset += 18;
|
||||
}
|
||||
|
||||
@@ -142,6 +142,11 @@ public class GuiImgButton extends GuiButton implements ITooltip
|
||||
this.registerApp( 11 + 4 * 16, Settings.ACTIONS, ActionItems.DECREASE_BY_ONE, ButtonToolTips.DecreaseByOne, ButtonToolTips.DecreaseByOneDesc );
|
||||
this.registerApp( 12 + 4 * 16, Settings.ACTIONS, ActionItems.MAX_COUNT, ButtonToolTips.MaxCount, ButtonToolTips.MaxCountDesc );
|
||||
|
||||
this.registerApp( 6 + 5 * 16, Settings.ACTIONS, ActionItems.FREE_MOLECULAR_SLOT_SHORTCUT, ButtonToolTips.FreeMolecularSlotShortcut, ButtonToolTips.FreeMolecularSlotShortcutDesc );
|
||||
this.registerApp( 7 + 5 * 16, Settings.ACTIONS, ActionItems.TOGGLE_SHOW_FULL_INTERFACES_ON, ButtonToolTips.ToggleShowFullInterfaces, ButtonToolTips.ToggleShowFullInterfacesOnDesc );
|
||||
this.registerApp( 8 + 5 * 16, Settings.ACTIONS, ActionItems.TOGGLE_SHOW_FULL_INTERFACES_OFF, ButtonToolTips.ToggleShowFullInterfaces, ButtonToolTips.ToggleShowFullInterfacesOffDesc );
|
||||
this.registerApp( 6 + 6 * 16, Settings.ACTIONS, ActionItems.HIGHLIGHT_INTERFACE, ButtonToolTips.HighlightInterface, "" );
|
||||
|
||||
this.registerApp( 8, Settings.ACTIONS, ActionItems.ENCODE, ButtonToolTips.Encode, ButtonToolTips.EncodeDescription );
|
||||
this.registerApp( 4 + 3 * 16, Settings.ACTIONS, ItemSubstitution.ENABLED, ButtonToolTips.Substitutions, ButtonToolTips.SubstitutionsDescEnabled );
|
||||
this.registerApp( 7 + 3 * 16, Settings.ACTIONS, ItemSubstitution.DISABLED, ButtonToolTips.Substitutions, ButtonToolTips.SubstitutionsDescDisabled );
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ClientDCInternalInv implements Comparable<ClientDCInternalInv>
|
||||
|
||||
public ClientDCInternalInv( final int size, final long id, final long sortBy, final String unlocalizedName )
|
||||
{
|
||||
this.inventory = new AppEngInternalInventory( null, size );
|
||||
this.inventory = new AppEngInternalInventory( null, size, 1 );
|
||||
this.unlocalizedName = unlocalizedName;
|
||||
this.id = id;
|
||||
this.sortBy = sortBy;
|
||||
|
||||
@@ -80,7 +80,7 @@ public final class ContainerInterfaceTerminal extends AEBaseContainer
|
||||
this.grid = anchor.getActionableNode().getGrid();
|
||||
}
|
||||
|
||||
this.bindPlayerInventory( ip, 0, 236 - /* height of player inventory */82 );
|
||||
this.bindPlayerInventory( ip, 14, 256 - /* height of player inventory */82 );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -258,7 +258,7 @@ public final class ContainerInterfaceTerminal extends AEBaseContainer
|
||||
if( hasItemInHand )
|
||||
{
|
||||
ItemStack extra = playerHand.removeItems( 1, ItemStack.EMPTY, null );
|
||||
if( !extra.isEmpty() )
|
||||
if( !extra.isEmpty() && !interfaceSlot.containsItems())
|
||||
{
|
||||
extra = interfaceSlot.addItems( extra );
|
||||
}
|
||||
|
||||
@@ -616,7 +616,12 @@ public final class ApiBlocks implements IBlocks
|
||||
|
||||
private static IBlockDefinition makeStairs( String registryName, FeatureFactory registry, IBlockDefinition block )
|
||||
{
|
||||
return registry.block( registryName, () -> new BlockStairCommon( block.maybeBlock().get(), block.identifier() ) )
|
||||
if( !block.maybeBlock().isPresent() )
|
||||
{
|
||||
return new BlockDefinition( registryName, null, null );
|
||||
}
|
||||
|
||||
IBlockDefinition stairs = registry.block( registryName, () -> new BlockStairCommon( block.maybeBlock().get(), block.identifier() ) )
|
||||
.features( AEFeature.DECORATIVE_BLOCKS )
|
||||
.rendering( new BlockRenderingCustomizer()
|
||||
{
|
||||
@@ -629,6 +634,10 @@ public final class ApiBlocks implements IBlocks
|
||||
}
|
||||
} )
|
||||
.build();
|
||||
|
||||
Verify.verify(stairs.maybeBlock().isPresent());
|
||||
|
||||
return stairs;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
package appeng.core.localization;
|
||||
|
||||
|
||||
import appeng.api.config.SchedulingMode;
|
||||
import net.minecraft.util.text.translation.I18n;
|
||||
|
||||
|
||||
@@ -151,6 +152,13 @@ public enum ButtonToolTips
|
||||
DecreaseByOneDesc,
|
||||
MaxCount,
|
||||
MaxCountDesc,
|
||||
FreeMolecularSlotShortcut,
|
||||
FreeMolecularSlotShortcutDesc,
|
||||
ToggleShowFullInterfaces,
|
||||
ToggleShowFullInterfacesOnDesc,
|
||||
ToggleShowFullInterfacesOffDesc,
|
||||
HighlightInterface,
|
||||
HighlightInterfaceDesc,
|
||||
|
||||
// Used in the tooltips of the items in the terminal, when moused over
|
||||
ItemsStored,
|
||||
|
||||
@@ -171,6 +171,11 @@ public class PacketJEIRecipe extends AppEngPacket
|
||||
// already the correct item?
|
||||
ItemStack newItem = this.canUseInSlot( x, currentItem );
|
||||
|
||||
if ( !cct.useRealItems() && this.recipe[x] != null ) {
|
||||
if (this.recipe[x].length > 0 )
|
||||
currentItem.setCount( recipe[x][0].getCount() );
|
||||
}
|
||||
|
||||
// put away old item
|
||||
if( newItem != currentItem && security.hasPermission( player, SecurityPermissions.INJECT ) )
|
||||
{
|
||||
@@ -210,7 +215,7 @@ public class PacketJEIRecipe extends AppEngPacket
|
||||
IAEItemStack mostDamaged = null;
|
||||
for( IAEItemStack is : outList )
|
||||
{
|
||||
if( !is.isCraftable() )
|
||||
if( !is.isCraftable() && is.getItem().isDamageable() )
|
||||
{
|
||||
if( mostDamaged == null || mostDamaged.getItemDamage() < is.getItemDamage() )
|
||||
{
|
||||
@@ -237,22 +242,6 @@ public class PacketJEIRecipe extends AppEngPacket
|
||||
// Fall back using an existing item
|
||||
out = storage.extractItems( request, Actionable.SIMULATE, cct.getActionSource() );
|
||||
}
|
||||
|
||||
if( out == null )
|
||||
{
|
||||
IItemList<IAEItemStack> items = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList();
|
||||
Iterator<IAEItemStack> iterator = inv.getInventory( AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ) ).getAvailableItems( items ).iterator();
|
||||
while ( iterator.hasNext() )
|
||||
{
|
||||
final IAEItemStack o = iterator.next();
|
||||
if( o.getDefinition().isItemEqual( request.getDefinition() ) && o.isCraftable() )
|
||||
{
|
||||
out = o;
|
||||
break;
|
||||
}
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( out != null )
|
||||
@@ -274,14 +263,17 @@ public class PacketJEIRecipe extends AppEngPacket
|
||||
else
|
||||
{
|
||||
currentItem = ad.simulateSimilarRemove(recipe[x][y].getCount(), this.recipe[x][y],FuzzyMode.IGNORE_ALL, null );
|
||||
if( currentItem.isEmpty() )
|
||||
{
|
||||
currentItem = this.recipe[x][y].copy();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!cct.useRealItems())
|
||||
{
|
||||
if( currentItem.isEmpty() && this.recipe[x] != null )
|
||||
{
|
||||
currentItem = this.recipe[x][0].copy();
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemHandlerUtil.setStackInSlot( craftMatrix, x, currentItem );
|
||||
}
|
||||
|
||||
+6
-4
@@ -19,9 +19,9 @@
|
||||
package appeng.me.cache;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.PriorityQueue;
|
||||
import java.util.*;
|
||||
|
||||
import appeng.parts.automation.PartLevelEmitter;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import net.minecraft.crash.CrashReport;
|
||||
@@ -46,6 +46,7 @@ public class TickManagerCache implements ITickManager
|
||||
private final HashMap<IGridNode, TickTracker> alertable = new HashMap<>();
|
||||
private final HashMap<IGridNode, TickTracker> sleeping = new HashMap<>();
|
||||
private final HashMap<IGridNode, TickTracker> awake = new HashMap<>();
|
||||
private final HashMap<IGridNode, TickTracker> laterTicker = new HashMap<>();
|
||||
private final PriorityQueue<TickTracker> upcomingTicks = new PriorityQueue<>();
|
||||
|
||||
private long currentTick = 0;
|
||||
@@ -86,7 +87,7 @@ public class TickManagerCache implements ITickManager
|
||||
{
|
||||
this.currentTick++;
|
||||
|
||||
while( !this.upcomingTicks.isEmpty() )
|
||||
while ( !this.upcomingTicks.isEmpty() )
|
||||
{
|
||||
tt = this.upcomingTicks.peek();
|
||||
|
||||
@@ -101,7 +102,7 @@ public class TickManagerCache implements ITickManager
|
||||
final int diff = (int) ( this.currentTick - tt.getLastTick() );
|
||||
final TickRateModulation mod = tt.getGridTickable().tickingRequest( tt.getNode(), diff );
|
||||
|
||||
switch( mod )
|
||||
switch ( mod )
|
||||
{
|
||||
case FASTER:
|
||||
tt.setCurrentRate( tt.getCurrentRate() - 2 );
|
||||
@@ -137,6 +138,7 @@ public class TickManagerCache implements ITickManager
|
||||
tt.addEntityCrashInfo( crashreportcategory );
|
||||
throw new ReportedException( crashreport );
|
||||
}
|
||||
PartLevelEmitter.wipeCache();
|
||||
}
|
||||
|
||||
private void addToQueue( final TickTracker tt )
|
||||
|
||||
@@ -19,9 +19,14 @@
|
||||
package appeng.parts.automation;
|
||||
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Random;
|
||||
|
||||
import appeng.me.Grid;
|
||||
import appeng.me.GridNode;
|
||||
import appeng.util.item.AEItemStack;
|
||||
import it.unimi.dsi.fastutil.objects.Object2LongMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -118,6 +123,9 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH
|
||||
private double centerX;
|
||||
private double centerY;
|
||||
private double centerZ;
|
||||
static Object2LongMap<Grid> gridItemCount = new Object2LongOpenHashMap<>();
|
||||
static Object2ObjectOpenHashMap<Grid, Object2LongMap<AEItemStack>> fuzzyAEItemStackCount = new Object2ObjectOpenHashMap<>();
|
||||
static Object2ObjectOpenHashMap<Grid, Object2LongMap<AEItemStack>> preciseAEItemStackCount = new Object2ObjectOpenHashMap<>();
|
||||
|
||||
@Reflected
|
||||
public PartLevelEmitter( final ItemStack is )
|
||||
@@ -315,40 +323,91 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH
|
||||
}
|
||||
|
||||
private void updateReportingValue( final IMEMonitor<IAEItemStack> monitor )
|
||||
{
|
||||
updateReportingValue( monitor,null );
|
||||
}
|
||||
|
||||
private void updateReportingValue( final IMEMonitor<IAEItemStack> monitor, Iterable<IAEItemStack> change )
|
||||
{
|
||||
final IAEItemStack myStack = this.config.getAEStackInSlot( 0 );
|
||||
|
||||
if( myStack == null )
|
||||
GridNode node = (GridNode) (this.getGridNode());
|
||||
|
||||
if( node != null )
|
||||
{
|
||||
this.lastReportedValue = 0;
|
||||
for( final IAEItemStack st : monitor.getStorageList() )
|
||||
|
||||
final Grid g = node.getInternalGrid();
|
||||
|
||||
if( myStack == null )
|
||||
{
|
||||
this.lastReportedValue += st.getStackSize();
|
||||
if( change != null )
|
||||
{
|
||||
if( gridItemCount.containsKey( g ) )
|
||||
{
|
||||
change.forEach( iaeItemStack -> lastReportedValue += iaeItemStack.getStackSize() );
|
||||
}
|
||||
}
|
||||
gridItemCount.computeIfAbsent( g, ( aLong ) -> {
|
||||
this.lastReportedValue = 0;
|
||||
monitor.getStorageList().forEach( iaeItemStack -> lastReportedValue += iaeItemStack.getStackSize() );
|
||||
return ( lastReportedValue );
|
||||
} );
|
||||
this.lastReportedValue = gridItemCount.get( g );
|
||||
}
|
||||
}
|
||||
else if( this.getInstalledUpgrades( Upgrades.FUZZY ) > 0 )
|
||||
{
|
||||
this.lastReportedValue = 0;
|
||||
final FuzzyMode fzMode = (FuzzyMode) this.getConfigManager().getSetting( Settings.FUZZY_MODE );
|
||||
final Collection<IAEItemStack> fuzzyList = monitor.getStorageList().findFuzzy( myStack, fzMode );
|
||||
for( final IAEItemStack st : fuzzyList )
|
||||
|
||||
else if( this.getInstalledUpgrades( Upgrades.FUZZY ) > 0 )
|
||||
{
|
||||
this.lastReportedValue += st.getStackSize();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final IAEItemStack r = monitor.getStorageList().findPrecise( myStack );
|
||||
if( r == null )
|
||||
{
|
||||
this.lastReportedValue = 0;
|
||||
final FuzzyMode fzMode = (FuzzyMode) this.getConfigManager().getSetting( Settings.FUZZY_MODE );
|
||||
if( change != null )
|
||||
{
|
||||
if( fuzzyAEItemStackCount.containsKey( g ) )
|
||||
{
|
||||
change.forEach( iaeItemStack -> {
|
||||
if( iaeItemStack.sameOre( myStack ) ) lastReportedValue += iaeItemStack.getStackSize();
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
fuzzyAEItemStackCount.computeIfAbsent( g, ( grid -> new Object2LongOpenHashMap<>() ) );
|
||||
fuzzyAEItemStackCount.get( g ).computeIfAbsent( (AEItemStack) myStack, ( aLong -> {
|
||||
this.lastReportedValue = 0;
|
||||
monitor.getStorageList().findFuzzy( myStack, fzMode ).forEach( iaeItemStack -> lastReportedValue += iaeItemStack.getStackSize() );
|
||||
return ( lastReportedValue );
|
||||
} ) );
|
||||
|
||||
this.lastReportedValue = fuzzyAEItemStackCount.get( g ).get( myStack );
|
||||
if( this.lastReportedValue == 0 )
|
||||
{
|
||||
fuzzyAEItemStackCount.get( g ).remove( myStack );
|
||||
fuzzyAEItemStackCount.trim();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.lastReportedValue = r.getStackSize();
|
||||
if( change != null )
|
||||
{
|
||||
if( preciseAEItemStackCount.containsKey( g ) )
|
||||
{
|
||||
change.forEach( iaeItemStack -> {
|
||||
if( iaeItemStack.isSameType( myStack ) ) lastReportedValue += iaeItemStack.getStackSize();
|
||||
} );
|
||||
}
|
||||
}
|
||||
preciseAEItemStackCount.computeIfAbsent( g, ( grid -> new Object2LongOpenHashMap<>() ) );
|
||||
preciseAEItemStackCount.get( g ).computeIfAbsent( (AEItemStack) myStack, ( aLong -> {
|
||||
this.lastReportedValue = 0;
|
||||
IAEItemStack precise = monitor.getStorageList().findPrecise( myStack );
|
||||
if( precise != null ) lastReportedValue = precise.getStackSize();
|
||||
return ( lastReportedValue );
|
||||
} ) );
|
||||
this.lastReportedValue = preciseAEItemStackCount.get( g ).get( myStack );
|
||||
if( this.lastReportedValue == 0 )
|
||||
{
|
||||
preciseAEItemStackCount.get( g ).remove( myStack );
|
||||
preciseAEItemStackCount.trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.updateState();
|
||||
}
|
||||
|
||||
@@ -400,7 +459,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH
|
||||
@Override
|
||||
public void postChange( final IBaseMonitor<IAEItemStack> monitor, final Iterable<IAEItemStack> change, final IActionSource actionSource )
|
||||
{
|
||||
this.updateReportingValue( (IMEMonitor<IAEItemStack>) monitor );
|
||||
this.updateReportingValue( (IMEMonitor<IAEItemStack>) monitor, change );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -576,4 +635,10 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH
|
||||
return this.isLevelEmitterOn() ? MODEL_ON_OFF : MODEL_OFF_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
public static void wipeCache(){
|
||||
fuzzyAEItemStackCount.clear();
|
||||
preciseAEItemStackCount.clear();
|
||||
gridItemCount.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package appeng.recipes.factories.conditions;
|
||||
|
||||
import appeng.core.Api;
|
||||
import appeng.core.AppEng;
|
||||
import com.google.gson.JsonObject;
|
||||
import net.minecraft.util.JsonUtils;
|
||||
import net.minecraftforge.common.crafting.IConditionFactory;
|
||||
import net.minecraftforge.common.crafting.JsonContext;
|
||||
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
public class PartExists implements IConditionFactory {
|
||||
|
||||
private static final String JSON_MATERIAL_KEY = "part";
|
||||
|
||||
@Override
|
||||
public BooleanSupplier parse(JsonContext jsonContext, JsonObject jsonObject )
|
||||
{
|
||||
final boolean result;
|
||||
|
||||
if( JsonUtils.isString( jsonObject, JSON_MATERIAL_KEY ) )
|
||||
{
|
||||
final String part = JsonUtils.getString( jsonObject, JSON_MATERIAL_KEY );
|
||||
final Object item = Api.INSTANCE.registries().recipes().resolveItem( AppEng.MOD_ID, part );
|
||||
|
||||
result = item != null;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
return () -> result;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:1"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:material",
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:1"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:charger"
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_compass"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:sky_compass"
|
||||
|
||||
@@ -1,4 +1,31 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:controller"
|
||||
|
||||
@@ -1,4 +1,55 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:crafting_storage_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:crafting_storage_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:crafting_storage_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:crafting_storage_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:360"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:340"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:crafting_storage_64k"
|
||||
|
||||
+31
@@ -1,4 +1,35 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:360"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:facade"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:facade"
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:material",
|
||||
|
||||
+19
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_growth_accelerator"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:quartz_growth_accelerator"
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:interface"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:interface"
|
||||
|
||||
@@ -1,4 +1,46 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:io_port"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:io_port"
|
||||
|
||||
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,35 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:network_tool"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:network_tool"
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:460"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,39 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:360"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:340"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,46 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:portable_cell"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:portable_cell"
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:material",
|
||||
|
||||
@@ -1,4 +1,31 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:460"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quantum_link"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:quantum_link"
|
||||
|
||||
@@ -1,4 +1,50 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:io_port"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:spatial_io_port"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:spatial_storage_cell_128_cubed"
|
||||
|
||||
@@ -1,4 +1,50 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:io_port"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:spatial_io_port"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:spatial_io_port"
|
||||
|
||||
@@ -1,4 +1,31 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:charger"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:7"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:16"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:interface"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:part:220"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:part",
|
||||
|
||||
@@ -1,4 +1,42 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_1k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_4k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_16k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:13"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:14"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:15"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:material:19"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:controller"
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"icon": {
|
||||
"item": "appliedenergistics2:storage_cell_64k"
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.fluix_dust"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:grinder",
|
||||
"input": {
|
||||
"type": "forge:ore_dict",
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:grinder",
|
||||
"input": {
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
|
||||
+19
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.engineering_processor"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.engineering_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_print"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "press",
|
||||
"result": {
|
||||
|
||||
+6
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor_press"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
+19
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor_press"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.purified_certus_quartz_crystal"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
+19
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_print"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "press",
|
||||
"result": {
|
||||
|
||||
+6
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.engineering_processor_press"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.engineering_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.engineering_processor_press"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
+19
@@ -1,4 +1,23 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_print"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "press",
|
||||
"result": {
|
||||
|
||||
+6
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor_press"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor_press"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_press"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_print"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon_press"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:inscriber",
|
||||
"mode": "inscribe",
|
||||
"result": {
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.flour"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:smelt",
|
||||
"result": {
|
||||
"item": "minecraft:bread"
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.silicon"
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:smelt",
|
||||
"result": {
|
||||
"part": "material.silicon"
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "appliedenergistics2:smelt",
|
||||
"result": {
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
|
||||
@@ -363,6 +363,12 @@ gui.tooltips.appliedenergistics2.DecreaseByOne=Decrease one
|
||||
gui.tooltips.appliedenergistics2.DecreaseByOneDesc=Will try to add decrease the items set in the crafting slots by one DOES NOT MAINTAIN INGREDIENT RATIO
|
||||
gui.tooltips.appliedenergistics2.MaxCount=Maximize slot count
|
||||
gui.tooltips.appliedenergistics2.MaxCountDesc=Will maximize the output maintaing the input ratio of the items set in the crafting slots
|
||||
gui.tooltips.appliedenergistics2.FreeMolecularSlotShortcut=Show Crafting interfaces with free slots
|
||||
gui.tooltips.appliedenergistics2.FreeMolecularSlotShortcutDesc=Shortcut that toggles interfaces with free slots and searches for molecular assemblers
|
||||
gui.tooltips.appliedenergistics2.ToggleShowFullInterfaces=Toggles showing interfaces with full slots
|
||||
gui.tooltips.appliedenergistics2.ToggleShowFullInterfacesOnDesc=Showing all interfaces
|
||||
gui.tooltips.appliedenergistics2.ToggleShowFullInterfacesOffDesc=Showing only interfaces with free slots
|
||||
gui.tooltips.appliedenergistics2.HighlightInterface=Highlight interface
|
||||
|
||||
// Units
|
||||
gui.appliedenergistics2.units.appliedenergstics=AE
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
{
|
||||
"conditions": {
|
||||
"material_exists": "appeng.recipes.factories.conditions.MaterialExists",
|
||||
"features": "appeng.recipes.factories.conditions.Features"
|
||||
"features": "appeng.recipes.factories.conditions.Features",
|
||||
"part_exists": "appeng.recipes.factories.conditions.PartExists"
|
||||
},
|
||||
"ingredients": {
|
||||
"part": "appeng.recipes.factories.ingredients.PartIngredientFactory"
|
||||
|
||||
+6
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.purified_certus_quartz_crystal"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_pillar"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_pillar",
|
||||
"count": 2
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:chiseled_quartz_block",
|
||||
"count": 2
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.purified_fluix_crystal"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:light_detector"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:light_detector"
|
||||
},
|
||||
|
||||
+6
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.purified_nether_quartz_crystal"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "minecraft:quartz_block",
|
||||
"data": 0
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_fixture"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.certus_quartz_crystal_charged"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_fixture",
|
||||
"count": 2
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_glass"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_glass",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_vibrant_glass"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_glass"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_vibrant_glass"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_brick"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_small_brick"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:chiseled_quartz_slab",
|
||||
"data": 0,
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:fluix_slab",
|
||||
"data": 0,
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_slab",
|
||||
"data": 0,
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_pillar_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_pillar"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_pillar_slab",
|
||||
"data": 0,
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_slab",
|
||||
"data": 0,
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_brick_slab",
|
||||
"data": 0,
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_small_brick_slab",
|
||||
"data": 0,
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_slab"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:smooth_sky_stone_slab",
|
||||
"data": 0,
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:chiseled_quartz_stairs",
|
||||
"count": 4
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:fluix_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:fluix_stairs",
|
||||
"count": 4
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_stairs",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_pillar_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_pillar"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:quartz_pillar_stairs",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_stairs",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_brick_stairs",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_small_brick"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_small_brick_stairs",
|
||||
"count": 4
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_stairs"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:smooth_sky_stone_stairs",
|
||||
"count": 4
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.advanced_card"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.advanced_card"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
+11
-2
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.annihilation_core"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.annihilation_core"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.basic_card"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.calculation_processor"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.basic_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_capacity"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_capacity"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.basic_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_crafting"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_crafting"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.basic_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_fuzzy"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_fuzzy"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.advanced_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_inverter"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_inverter"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.advanced_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_redstone"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_redstone"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.basic_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_speed"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.card_speed"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.advanced_card"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.formation_core"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.formation_core"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.logic_processor"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_chest"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:sky_stone_block"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:sky_stone_chest"
|
||||
},
|
||||
|
||||
+15
@@ -1,4 +1,19 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_block"
|
||||
},
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:smooth_sky_stone_chest"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "appliedenergistics2:smooth_sky_stone_chest"
|
||||
},
|
||||
|
||||
+11
-2
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.certus_quartz_crystal"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:chiseled_quartz_block"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.certus_quartz_crystal"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
+11
-2
@@ -1,8 +1,17 @@
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.certus_quartz_crystal"
|
||||
"type": "forge:and",
|
||||
"values": [
|
||||
{
|
||||
"type": "minecraft:item_exists",
|
||||
"item": "appliedenergistics2:quartz_block"
|
||||
},
|
||||
{
|
||||
"type": "appliedenergistics2:material_exists",
|
||||
"material": "material.certus_quartz_crystal"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user