mirror of
https://github.com/GTNewHorizons/AE2FluidCraft-Rework.git
synced 2026-11-12 16:27:40 +00:00
15 files changed
+127
-17
No files matched your search
@@ -59,7 +59,7 @@ public class GuiBaseFluidPatternTerminal extends GuiFCBaseMonitor {
|
||||
}
|
||||
else if( this.encodeBtn == btn )
|
||||
{
|
||||
FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminal.Encode", isShiftKeyDown() ? "2" : "1" ) );
|
||||
FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminal.Encode", (isCtrlKeyDown() ? 1 : 0) << 1 | (isShiftKeyDown() ? 1 : 0) ));
|
||||
}
|
||||
else if( this.clearBtn == btn )
|
||||
{
|
||||
|
||||
@@ -58,7 +58,7 @@ public class GuiBaseFluidPatternTerminalEx extends GuiFCBaseMonitor {
|
||||
|
||||
if( this.encodeBtn == btn )
|
||||
{
|
||||
FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminalEx.Encode", isShiftKeyDown() ? "2" : "1" ) );
|
||||
FluidCraft.proxy.netHandler.sendToServer( new CPacketFluidPatternTermBtns( "PatternTerminalEx.Encode",(isCtrlKeyDown() ? 1 : 0) << 1 | (isShiftKeyDown() ? 1 : 0)) );
|
||||
}
|
||||
else if( this.clearBtn == btn )
|
||||
{
|
||||
|
||||
@@ -6,6 +6,8 @@ import appeng.core.localization.GuiText;
|
||||
import com.glodblock.github.client.gui.container.ContainerFluidIO;
|
||||
import com.glodblock.github.common.parts.PartFluidImportBus;
|
||||
import com.glodblock.github.common.parts.PartSharedFluidBus;
|
||||
import com.glodblock.github.util.NameConst;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
|
||||
public class GuiFluidIO extends GuiUpgradeable
|
||||
@@ -28,5 +30,30 @@ public class GuiFluidIO extends GuiUpgradeable
|
||||
public void update(int id, IAEFluidStack stack) {
|
||||
((ContainerFluidIO)this.cvb).getBus().setFluidInSlot(id, stack);
|
||||
}
|
||||
@Override
|
||||
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
|
||||
{
|
||||
this.fontRendererObj.drawString( this.getGuiDisplayName(I18n.format(this.bus instanceof PartFluidImportBus ? NameConst.GUI_FLUID_IMPORT : NameConst.GUI_FLUID_EXPORT)), 8, 6, 4210752 );
|
||||
this.fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752 );
|
||||
|
||||
if( this.redstoneMode != null )
|
||||
{
|
||||
this.redstoneMode.set( this.cvb.getRedStoneMode() );
|
||||
}
|
||||
|
||||
if( this.fuzzyMode != null )
|
||||
{
|
||||
this.fuzzyMode.set( this.cvb.getFuzzyMode() );
|
||||
}
|
||||
|
||||
if( this.craftMode != null )
|
||||
{
|
||||
this.craftMode.set( this.cvb.getCraftingMode() );
|
||||
}
|
||||
|
||||
if( this.schedulingMode != null )
|
||||
{
|
||||
this.schedulingMode.set( this.cvb.getSchedulingMode() );
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
@@ -29,6 +29,19 @@ public class ContainerFluidPatternTerminal extends FCBasePartContainer implement
|
||||
super(ip, monitorable);
|
||||
}
|
||||
|
||||
public void encodeAllItemAndMoveToInventory(){
|
||||
encode();
|
||||
ItemStack output = this.patternSlotOUT.getStack();
|
||||
if(output != null){
|
||||
if(this.patternSlotIN.getStack() != null) output.stackSize += this.patternSlotIN.getStack().stackSize;
|
||||
if (!getPlayerInv().addItemStackToInventory( output )){
|
||||
getPlayerInv().player.entityDropItem(output, 0);
|
||||
}
|
||||
this.patternSlotOUT.putStack( null );
|
||||
this.patternSlotIN.putStack(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode() {
|
||||
if (!checkHasFluidPattern()) {
|
||||
|
||||
+15
@@ -28,6 +28,19 @@ public class ContainerFluidPatternTerminalEx extends FCBasePartContainerEx imple
|
||||
super(ip, monitorable);
|
||||
}
|
||||
|
||||
public void encodeAllItemAndMoveToInventory(){
|
||||
encode();
|
||||
ItemStack output = this.patternSlotOUT.getStack();
|
||||
if(output != null){
|
||||
if(this.patternSlotIN.getStack() != null) output.stackSize += this.patternSlotIN.getStack().stackSize;
|
||||
if (!getPlayerInv().addItemStackToInventory( output )){
|
||||
getPlayerInv().player.entityDropItem(output, 0);
|
||||
}
|
||||
this.patternSlotOUT.putStack( null );
|
||||
this.patternSlotIN.putStack(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode() {
|
||||
if (!checkHasFluidPattern()) {
|
||||
@@ -98,6 +111,8 @@ public class ContainerFluidPatternTerminalEx extends FCBasePartContainerEx imple
|
||||
private void encodeFluidPattern() {
|
||||
ItemStack patternStack = new ItemStack(ItemAndBlockHolder.PATTERN);
|
||||
FluidPatternDetails pattern = new FluidPatternDetails(patternStack);
|
||||
pattern.setCombine(this.combine ? 1:0);
|
||||
pattern.setPriority(this.prioritize? 1:0);
|
||||
pattern.setInputs(collectInventory(craftingSlots));
|
||||
pattern.setOutputs(collectInventory(outputSlots));
|
||||
patternSlotOUT.putStack(pattern.writeToStack());
|
||||
|
||||
@@ -214,8 +214,7 @@ public class FCBasePartContainerEx extends FCBaseMonitorContain implements IAEAp
|
||||
|
||||
encodedValue.setTag( "in", tagIn );
|
||||
encodedValue.setTag( "out", tagOut );
|
||||
encodedValue.setBoolean( "piroritize", this.isPrioritize() );
|
||||
|
||||
encodedValue.setBoolean( "prioritize", this.isPrioritize() );
|
||||
|
||||
output.setTagCompound( encodedValue );
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
package com.glodblock.github.common.item;
|
||||
|
||||
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
||||
import appeng.core.localization.GuiText;
|
||||
import appeng.items.misc.ItemEncodedPattern;
|
||||
import com.glodblock.github.FluidCraft;
|
||||
import com.glodblock.github.util.FluidPatternDetails;
|
||||
import com.glodblock.github.util.NameConst;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemFluidEncodedPattern extends ItemEncodedPattern {
|
||||
|
||||
@@ -27,5 +32,20 @@ public class ItemFluidEncodedPattern extends ItemEncodedPattern {
|
||||
GameRegistry.registerItem(this, NameConst.ITEM_FLUID_ENCODED_PATTERN, FluidCraft.MODID);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCheckedInformation(final ItemStack stack, final EntityPlayer player, final List<String> lines, final boolean displayMoreInfo )
|
||||
{
|
||||
NBTTagCompound data = stack.getTagCompound();
|
||||
final boolean combine = data.getBoolean("combine");
|
||||
final boolean prio = data.getBoolean("prioritize");
|
||||
super.addCheckedInformation(stack,player,lines,displayMoreInfo);
|
||||
// lines.add(String.format("%s: %s",combine ? StatCollector.translateToLocal(NameConst.TT_KEY+"combine"):StatCollector.translateToLocal(NameConst.TT_KEY+"not_combine"),combine ? GuiText.Yes.getLocal() : GuiText.No.getLocal()));
|
||||
// lines.add(String.format("%s: %s",prio ? StatCollector.translateToLocal(NameConst.TT_KEY+"prio"):StatCollector.translateToLocal(NameConst.TT_KEY+"not_prio"),prio ? GuiText.Yes.getLocal() : GuiText.No.getLocal()));
|
||||
}
|
||||
public ItemStack stack() {
|
||||
return new ItemStack(this, 1);
|
||||
}
|
||||
public ItemStack stack(int size) {
|
||||
return new ItemStack(this, size);
|
||||
}
|
||||
}
|
||||
@@ -134,7 +134,10 @@ public class PartFluidPatternTerminal extends FCBasePart {
|
||||
|
||||
this.setCraftingRecipe(details.isCraftable());
|
||||
this.setSubstitution(details.canSubstitute());
|
||||
|
||||
if(newStack != null){
|
||||
NBTTagCompound data = newStack.getTagCompound();
|
||||
this.setCombineMode(data.getInteger("combine") == 1);
|
||||
}
|
||||
for (int i = 0; i < this.crafting.getSizeInventory(); i++) {
|
||||
this.crafting.setInventorySlotContents(i, null);
|
||||
}
|
||||
|
||||
@@ -160,6 +160,11 @@ public class PartFluidPatternTerminalEx extends FCBasePart {
|
||||
}
|
||||
|
||||
this.setSubstitution(details.canSubstitute());
|
||||
if(newStack != null){
|
||||
NBTTagCompound data = newStack.getTagCompound();
|
||||
this.setCombineMode(data.getInteger("combine") == 1);
|
||||
this.setPrioritization(data.getInteger("prioritize") == 1);
|
||||
}
|
||||
this.setInverted(inputsCount <= 8 && outputCount >= 8);
|
||||
this.setActivePage(0);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ public class RecipeLoader implements Runnable {
|
||||
GameRegistry.addShapelessRecipe(FLUID_TERMINAL_EX.stack(), FLUID_TERMINAL.stack(), AE2_PROCESS_CAL, AE2_PROCESS_ENG, AE2_PROCESS_LOG);
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(BUFFER.stack(), "ILI", "AGF", "IBI", 'I', "ingotIron", 'G', AE2_QUARTZ_GLASS, 'L', AE2_CELL_1K, 'A', AE2_CORE_ANN, 'F', AE2_CORE_FOM, 'B', BUCKET));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(LARGE_BUFFER.stack(), "BGB", "GEG", "BGB", 'B', BUFFER.stack(), 'G', AE2_QUARTZ_GLASS, 'E', AE2_PROCESS_ENG));
|
||||
|
||||
GameRegistry.addShapelessRecipe(AE2_BLANK_PATTERN,PATTERN.stack());
|
||||
if (Config.fluidCells) {
|
||||
OreDictionary.registerOre("anyCertusCrystal", AE2_PURE_CERTUS);
|
||||
for (ItemStack it : OreDictionary.getOres("crystalCertusQuartz"))
|
||||
|
||||
@@ -19,6 +19,11 @@ public class CPacketFluidPatternTermBtns implements IMessage {
|
||||
Value = value;
|
||||
}
|
||||
|
||||
public CPacketFluidPatternTermBtns( final String name, final Integer value ) {
|
||||
Name = name;
|
||||
Value = value.toString();
|
||||
}
|
||||
|
||||
public CPacketFluidPatternTermBtns() {
|
||||
// NO-OP
|
||||
}
|
||||
@@ -66,10 +71,17 @@ public class CPacketFluidPatternTermBtns implements IMessage {
|
||||
cpt.getPatternTerminal().setCraftingRecipe(Value.equals("1"));
|
||||
break;
|
||||
case "PatternTerminal.Encode":
|
||||
if (Value.equals("2"))
|
||||
cpt.encodeAndMoveToInventory();
|
||||
else
|
||||
cpt.encode();
|
||||
switch (Value) {
|
||||
case "0":
|
||||
cpt.encode();
|
||||
break;
|
||||
case "1":
|
||||
cpt.encodeAndMoveToInventory();
|
||||
break;
|
||||
case "3":
|
||||
cpt.encodeAllItemAndMoveToInventory();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "PatternTerminal.Clear":
|
||||
cpt.clear();
|
||||
@@ -89,10 +101,17 @@ public class CPacketFluidPatternTermBtns implements IMessage {
|
||||
final ContainerFluidPatternTerminalEx cpt = (ContainerFluidPatternTerminalEx) c;
|
||||
switch (Name) {
|
||||
case "PatternTerminalEx.Encode":
|
||||
if (Value.equals("2"))
|
||||
cpt.encodeAndMoveToInventory();
|
||||
else
|
||||
cpt.encode();
|
||||
switch (Value) {
|
||||
case "0":
|
||||
cpt.encode();
|
||||
break;
|
||||
case "1":
|
||||
cpt.encodeAndMoveToInventory();
|
||||
break;
|
||||
case "3":
|
||||
cpt.encodeAllItemAndMoveToInventory();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "PatternTerminalEx.Clear":
|
||||
cpt.clear();
|
||||
|
||||
@@ -22,6 +22,7 @@ public class FluidPatternDetails implements ICraftingPatternDetails, Comparable<
|
||||
private IAEItemStack patternStackAe;
|
||||
private IAEItemStack[] inputs = null, inputsCond = null, outputs = null, outputsCond = null;
|
||||
private int priority = 0;
|
||||
private int combine = 0;
|
||||
|
||||
public FluidPatternDetails(ItemStack stack) {
|
||||
this.patternStack = stack;
|
||||
@@ -42,6 +43,8 @@ public class FluidPatternDetails implements ICraftingPatternDetails, Comparable<
|
||||
public void setPriority(int priority) {
|
||||
this.priority = priority;
|
||||
}
|
||||
public void setCombine(int combine){ this.combine = combine;}
|
||||
public int getCombine(){return combine;}
|
||||
|
||||
@Override
|
||||
public boolean isCraftable() {
|
||||
@@ -154,6 +157,8 @@ public class FluidPatternDetails implements ICraftingPatternDetails, Comparable<
|
||||
//Shits
|
||||
tag.setTag("in", writeStackArray(checkInitialized(inputs)));
|
||||
tag.setTag("out", writeStackArray(checkInitialized(outputs)));
|
||||
tag.setInteger("prioritize",this.getPriority());
|
||||
tag.setInteger("combine",this.getCombine());
|
||||
patternStack.setTagCompound(tag);
|
||||
patternStackAe = Objects.requireNonNull(AEItemStack.create(patternStack));
|
||||
return patternStack;
|
||||
|
||||
@@ -41,5 +41,7 @@ public class NameConst {
|
||||
public static final String GUI_LARGE_INGREDIENT_BUFFER = GUI_KEY + BLOCK_LARGE_INGREDIENT_BUFFER;
|
||||
public static final String GUI_FLUID_INTERFACE = GUI_KEY + BLOCK_FLUID_INTERFACE;
|
||||
public static final String GUI_OC_PATTERN_EDITOR = GUI_KEY + BLOCK_OC_PATTERN_EDITOR;
|
||||
public static final String GUI_FLUID_IMPORT = GUI_KEY + ITEM_PART_FLUID_IMPORT;
|
||||
public static final String GUI_FLUID_EXPORT = GUI_KEY + ITEM_PART_FLUID_EXPORT;
|
||||
|
||||
}
|
||||
@@ -60,5 +60,6 @@ ae2fc.gui.fluid_interface.4=W
|
||||
ae2fc.gui.fluid_interface.5=E
|
||||
ae2fc.gui.oc_pattern_editor=OC Pattern Editor
|
||||
ae2fc.gui.button.set=Set
|
||||
|
||||
ae2fc.gui.part_fluid_import=ME Fluid Import Bus
|
||||
ae2fc.gui.part_fluid_export=ME Fluid Export Bus
|
||||
itemGroup.ae2fc=Fluid Craft For AE2
|
||||
@@ -60,5 +60,6 @@ ae2fc.gui.fluid_interface.4=西
|
||||
ae2fc.gui.fluid_interface.5=东
|
||||
ae2fc.gui.oc_pattern_editor=OC样板编辑器
|
||||
ae2fc.gui.button.set=设置
|
||||
|
||||
ae2fc.gui.part_fluid_import=ME流体输入总线
|
||||
ae2fc.gui.part_fluid_export=ME流体输出总线
|
||||
itemGroup.ae2fc=AE2流体合成套件重置
|
||||
Reference in new issue
Block a user