Merge pull request #16 from asdflj/master

update
This commit is contained in:
Martin Robertz authored and GitHub committed 2022-09-17 14:17:02 +02:00
commit a63add7bff
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() );
}
}
}
@@ -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()) {
@@ -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流体合成套件重置