Skip to content

Commit

Permalink
Merge pull request #16 from asdflj/master
Browse files Browse the repository at this point in the history
update
  • Loading branch information
Dream-Master authored Sep 17, 2022
2 parents 1d4acb8 + f6c1090 commit a63add7
Show file tree
Hide file tree
Showing 15 changed files with 127 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ protected void actionPerformed( final GuiButton btn )
}
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 )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ protected void actionPerformed( final GuiButton btn )

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 )
{
Expand Down
27 changes: 27 additions & 0 deletions src/main/java/com/glodblock/github/client/gui/GuiFluidIO.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
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
Expand All @@ -28,5 +30,30 @@ protected GuiText getName()
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() );
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,19 @@ public ContainerFluidPatternTerminal(InventoryPlayer ip, ITerminalHost monitorab
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()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,19 @@ public ContainerFluidPatternTerminalEx(InventoryPlayer ip, ITerminalHost monitor
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()) {
Expand Down Expand Up @@ -98,6 +111,8 @@ private boolean checkHasFluidPattern() {
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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,7 @@ else if( output == null )

encodedValue.setTag( "in", tagIn );
encodedValue.setTag( "out", tagOut );
encodedValue.setBoolean( "piroritize", this.isPrioritize() );

encodedValue.setBoolean( "prioritize", this.isPrioritize() );

output.setTagCompound( encodedValue );
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {

Expand All @@ -27,5 +32,20 @@ public ItemFluidEncodedPattern register() {
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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,10 @@ public void onChangeInventory(final IInventory inv, final int slot, final InvOpe

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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@ public void onChangeInventory(final IInventory inv, final int slot, final InvOpe
}

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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public void run() {
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"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ public CPacketFluidPatternTermBtns( final String name, final String value ) {
Value = value;
}

public CPacketFluidPatternTermBtns( final String name, final Integer value ) {
Name = name;
Value = value.toString();
}

public CPacketFluidPatternTermBtns() {
// NO-OP
}
Expand Down Expand Up @@ -66,10 +71,17 @@ public IMessage onMessage(CPacketFluidPatternTermBtns message, MessageContext ct
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();
Expand All @@ -89,10 +101,17 @@ public IMessage onMessage(CPacketFluidPatternTermBtns message, MessageContext ct
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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -42,6 +43,8 @@ public int getPriority() {
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() {
Expand Down Expand Up @@ -154,6 +157,8 @@ public ItemStack writeToStack() {
//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;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/glodblock/github/util/NameConst.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

}
3 changes: 2 additions & 1 deletion src/main/resources/assets/ae2fc/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 2 additions & 1 deletion src/main/resources/assets/ae2fc/lang/zh_CN.lang
Original file line number Diff line number Diff line change
Expand Up @@ -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流体合成套件重置

0 comments on commit a63add7

Please sign in to comment.