Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Setting Pattern Slots Using Longs #269

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public void drawBG(final int offsetX, final int offsetY, final int mouseX, final
}

@Override
protected void addQty(final int i) {
protected void addQty(final long i) {
try {
this.amountBox.setText(Long.toString(getAmount() + i));
} catch (final NumberFormatException ignore) {}
Expand Down Expand Up @@ -87,14 +87,14 @@ protected void keyTyped(final char character, final int key) {
}

@Override
protected int getAmount() {
protected long getAmount() {
try {
String out = this.amountBox.getText();
double result = Calculator.conversion(out);
if (Double.isNaN(result)) {
return 0;
} else {
return (int) ArithHelper.round(result, 0);
return (long) ArithHelper.round(result, 0);
}
} catch (final NumberFormatException e) {
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@
import appeng.api.config.PatternBeSubstitution;
import appeng.api.config.Settings;
import appeng.api.storage.ITerminalHost;
import appeng.api.storage.data.IAEItemStack;
import appeng.client.gui.widgets.GuiImgButton;
import appeng.client.gui.widgets.GuiTabButton;
import appeng.container.slot.OptionalSlotFake;
import appeng.container.slot.SlotFake;
import appeng.container.slot.SlotFakeCraftingMatrix;
import appeng.container.slot.SlotPatternTerm;
import appeng.core.localization.GuiText;
Expand Down Expand Up @@ -177,4 +179,8 @@ protected String getBackground() {
}
return "gui/pattern2.png";
}

public void setSlotAE(final int slotId, final IAEItemStack ais) {
((SlotFake) this.inventorySlots.inventorySlots.get(slotId)).putAEStack(ais);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
import appeng.api.config.PatternSlotConfig;
import appeng.api.config.Settings;
import appeng.api.storage.ITerminalHost;
import appeng.api.storage.data.IAEItemStack;
import appeng.client.gui.widgets.GuiImgButton;
import appeng.container.slot.SlotFake;
import appeng.helpers.InventoryAction;

public class GuiFluidPatternTerminalEx extends FCGuiEncodeTerminal {
Expand Down Expand Up @@ -229,4 +231,8 @@ private void changeActivePage() {
"PatternTerminal.ActivePage",
String.valueOf(this.processingScrollBar.getCurrentScroll())));
}

public void setSlotAE(final int slotId, final IAEItemStack ais) {
((SlotFake) this.inventorySlots.inventorySlots.get(slotId)).putAEStack(ais);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public void drawBG(final int offsetX, final int offsetY, final int mouseX, final
this.nextBtn.displayString = GuiText.Set.getLocal();

try {
int resultI = getAmount();
long resultI = getAmount();

this.symbolSwitch.set(resultI >= 0 ? ActionItems.MULTIPLY : ActionItems.DIVIDE);
this.nextBtn.enabled = resultI < -1 || resultI > 1;
Expand All @@ -85,7 +85,7 @@ protected void actionPerformed(final GuiButton btn) {
try {

if (btn == this.nextBtn && btn.enabled) {
int resultI = getAmount();
int resultI = (int) getAmount();
if (resultI > 1 || resultI < -1)
FluidCraft.proxy.netHandler.sendToServer(new CPacketPatternMultiSet(this.originalGui, resultI));
}
Expand All @@ -95,14 +95,14 @@ protected void actionPerformed(final GuiButton btn) {
}

if (btn == this.symbolSwitch) {
int resultI = -getAmount();
int resultI = (int) -getAmount();
this.amountTextField.setText(Integer.toString(resultI));
}

}

@Override
protected int getAmount() {
protected long getAmount() {
String out = this.amountTextField.getText();

double resultD = Calculator.conversion(out);
Expand All @@ -115,7 +115,7 @@ protected int getAmount() {
}

@Override
protected long addOrderAmount(final int i) {
protected long addOrderAmount(final long i) {
return i + getAmount();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void drawFG(final int offsetX, final int offsetY, final int mouseX, final
public void drawBG(final int offsetX, final int offsetY, final int mouseX, final int mouseY) {
super.drawBG(offsetX, offsetY, mouseX, mouseY);
try {
int result = getAmount();
long result = getAmount();
this.submit.enabled = result > 0;
} catch (final NumberFormatException e) {
this.submit.enabled = false;
Expand Down Expand Up @@ -85,7 +85,7 @@ protected String getBackground() {
return "guis/craftAmt.png";
}

public void setAmount(int amount) {
public void setAmount(long amount) {
this.amountBox.setText(String.valueOf(amount));
this.amountBox.setSelectionPos(0);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ protected void actionPerformed(final GuiButton btn) {
}
}

protected void addQty(final int i) {
protected void addQty(final long i) {
try {
long resultI = getAmount();
if (resultI == 1 && i > 1) {
Expand All @@ -141,14 +141,14 @@ protected void addQty(final int i) {

protected abstract String getBackground();

protected int getAmount() {
protected long getAmount() {
try {
String out = this.amountBox.getText();
double result = Calculator.conversion(out);
if (result <= 0 || Double.isNaN(result)) {
return 0;
} else {
return (int) ArithHelper.round(result, 0);
return (long) ArithHelper.round(result, 0);
}
} catch (final NumberFormatException e) {
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ public boolean drawSlot0(Slot slot) {
IAEItemStack fake = stack.copy();
if (fake.getItemStack().getItem() instanceof ItemFluidPacket) {
if (ItemFluidPacket.getFluidStack(stack) != null && ItemFluidPacket.getFluidStack(stack).amount > 0)
fake.setStackSize(ItemFluidPacket.getFluidStack(stack).amount);
fake.setStackSize(ItemFluidPacket.getAEFluidStack(stack).getStackSize());
} else return true;
aeRenderItem.setAeStack(fake);
GL11.glTranslatef(0.0f, 0.0f, 200.0f);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import com.glodblock.github.common.tile.TileFluidPatternEncoder;
import com.glodblock.github.inventory.AeItemStackHandler;
import com.glodblock.github.inventory.AeStackInventory;
import com.glodblock.github.inventory.IPatternConsumer;
import com.glodblock.github.inventory.slot.SlotFluidConvertingFake;
import com.glodblock.github.loader.ItemAndBlockHolder;
import com.glodblock.github.util.FluidPatternDetails;
Expand All @@ -27,7 +26,7 @@
import appeng.container.slot.SlotRestrictedInput;
import appeng.helpers.InventoryAction;

public class ContainerFluidPatternEncoder extends AEBaseContainer implements IPatternConsumer {
public class ContainerFluidPatternEncoder extends AEBaseContainer {

private final TileFluidPatternEncoder tile;

Expand Down Expand Up @@ -171,17 +170,4 @@ public void doAction(EntityPlayerMP player, InventoryAction action, int slotId,
super.doAction(player, action, slotId, id);
}
}

@Override
public void acceptPattern(IAEItemStack[] inputs, IAEItemStack[] outputs) {
copyStacks(inputs, tile.getCraftingSlots());
copyStacks(outputs, tile.getOutputSlots());
}

private static void copyStacks(IAEItemStack[] src, AeStackInventory<IAEItemStack> dest) {
int bound = Math.min(src.length, dest.getSlotCount());
for (int i = 0; i < bound; i++) {
dest.setStack(i, src[i]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,13 @@
import com.glodblock.github.client.gui.container.base.FCContainerEncodeTerminal;

import appeng.api.storage.ITerminalHost;
import appeng.api.storage.data.IAEItemStack;
import appeng.container.slot.OptionalSlotFake;
import appeng.container.slot.SlotFakeCraftingMatrix;
import appeng.container.slot.SlotPatternOutputs;
import appeng.container.slot.SlotPatternTerm;
import appeng.util.Platform;
import appeng.util.item.AEItemStack;

public class ContainerFluidPatternTerminal extends FCContainerEncodeTerminal {

Expand Down Expand Up @@ -102,11 +104,11 @@ private ItemStack getAndUpdateOutput() {
}

@Override
protected ItemStack[] getOutputs() {
protected IAEItemStack[] getOutputs() {
if (this.isCraftingMode()) {
final ItemStack out = this.getAndUpdateOutput();
if (out != null && out.stackSize > 0) {
return new ItemStack[] { out };
final IAEItemStack out = AEItemStack.create(this.getAndUpdateOutput());
if (out != null && out.getStackSize() > 0) {
return new IAEItemStack[] { out };
}
}
return super.getOutputs();
Expand Down
Loading
Loading