Show crafting btn in grid

This commit is contained in:
Raoul Van den Berge
2016-04-10 15:16:12 +02:00
parent d8ea51ceec
commit 849074e452
4 changed files with 34 additions and 14 deletions

View File

@@ -210,6 +210,8 @@ public class GuiGrid extends GuiBase {
text = String.format("%.1f", (float) qty / 1000).replace(",", ".").replace(".0", "") + "K"; text = String.format("%.1f", (float) qty / 1000).replace(",", ".").replace(".0", "") + "K";
} else if (qty == 1) { } else if (qty == 1) {
text = null; text = null;
} else if (qty == 0) {
text = "Craft";
} else { } else {
text = String.valueOf(qty); text = String.valueOf(qty);
} }

View File

@@ -5,19 +5,20 @@ import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import refinedstorage.storage.ItemGroup; import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.TileController;
import refinedstorage.tile.grid.WirelessGrid; import refinedstorage.tile.grid.WirelessGrid;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MessageWirelessGridItems implements IMessage, IMessageHandler<MessageWirelessGridItems, IMessage> { public class MessageWirelessGridItems implements IMessage, IMessageHandler<MessageWirelessGridItems, IMessage> {
private List<ItemGroup> itemGroups; private TileController controller;
public MessageWirelessGridItems() { public MessageWirelessGridItems() {
} }
public MessageWirelessGridItems(List<ItemGroup> itemGroups) { public MessageWirelessGridItems(TileController controller) {
this.itemGroups = itemGroups; this.controller = controller;
} }
@Override @Override
@@ -36,11 +37,7 @@ public class MessageWirelessGridItems implements IMessage, IMessageHandler<Messa
@Override @Override
public void toBytes(ByteBuf buf) { public void toBytes(ByteBuf buf) {
buf.writeInt(itemGroups.size()); controller.sendItemGroups(buf);
for (ItemGroup group : itemGroups) {
group.toBytes(buf, itemGroups.indexOf(group));
}
} }
@Override @Override

View File

@@ -21,6 +21,7 @@ import refinedstorage.RefinedStorageItems;
import refinedstorage.block.BlockController; import refinedstorage.block.BlockController;
import refinedstorage.block.EnumControllerType; import refinedstorage.block.EnumControllerType;
import refinedstorage.container.ContainerController; import refinedstorage.container.ContainerController;
import refinedstorage.item.ItemPattern;
import refinedstorage.item.ItemWirelessGrid; import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.network.GridPullFlags; import refinedstorage.network.GridPullFlags;
import refinedstorage.network.MessageWirelessGridItems; import refinedstorage.network.MessageWirelessGridItems;
@@ -162,7 +163,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
consumer.getPlayer().closeScreen(); // This will call onContainerClosed on the Container and remove it from the list consumer.getPlayer().closeScreen(); // This will call onContainerClosed on the Container and remove it from the list
} else { } else {
if (isActive()) { if (isActive()) {
RefinedStorage.NETWORK.sendTo(new MessageWirelessGridItems(itemGroups), (EntityPlayerMP) consumer.getPlayer()); RefinedStorage.NETWORK.sendTo(new MessageWirelessGridItems(this), (EntityPlayerMP) consumer.getPlayer());
} }
} }
} }
@@ -206,6 +207,22 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
storage.addItems(itemGroups); storage.addItems(itemGroups);
} }
for (TileMachine machine : machines) {
if (machine instanceof TileInterface) {
TileInterface tile = (TileInterface) machine;
for (int i = 27; i < 27 + 9; ++i) {
ItemStack pattern = tile.getStackInSlot(i);
if (pattern != null) {
ItemGroup patternGroup = new ItemGroup(ItemPattern.getResult(pattern));
patternGroup.setQuantity(0);
itemGroups.add(patternGroup);
}
}
}
}
combineItems(); combineItems();
} }
@@ -574,4 +591,12 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PUSH); drainEnergyFromWirelessGrid(player, ItemWirelessGrid.USAGE_PUSH);
} }
} }
public void sendItemGroups(ByteBuf buf) {
buf.writeInt(getItemGroups().size());
for (ItemGroup group : getItemGroups()) {
group.toBytes(buf, getItemGroups().indexOf(group));
}
}
} }

View File

@@ -305,11 +305,7 @@ public class TileGrid extends TileMachine implements IGrid {
buf.writeInt(searchBoxMode); buf.writeInt(searchBoxMode);
if (connected) { if (connected) {
buf.writeInt(controller.getItemGroups().size()); controller.sendItemGroups(buf);
for (ItemGroup group : controller.getItemGroups()) {
group.toBytes(buf, controller.getItemGroups().indexOf(group));
}
} else { } else {
buf.writeInt(0); buf.writeInt(0);
} }