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";
} else if (qty == 1) {
text = null;
} else if (qty == 0) {
text = "Craft";
} else {
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.MessageContext;
import refinedstorage.storage.ItemGroup;
import refinedstorage.tile.TileController;
import refinedstorage.tile.grid.WirelessGrid;
import java.util.ArrayList;
import java.util.List;
public class MessageWirelessGridItems implements IMessage, IMessageHandler<MessageWirelessGridItems, IMessage> {
private List<ItemGroup> itemGroups;
private TileController controller;
public MessageWirelessGridItems() {
}
public MessageWirelessGridItems(List<ItemGroup> itemGroups) {
this.itemGroups = itemGroups;
public MessageWirelessGridItems(TileController controller) {
this.controller = controller;
}
@Override
@@ -36,11 +37,7 @@ public class MessageWirelessGridItems implements IMessage, IMessageHandler<Messa
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(itemGroups.size());
for (ItemGroup group : itemGroups) {
group.toBytes(buf, itemGroups.indexOf(group));
}
controller.sendItemGroups(buf);
}
@Override

View File

@@ -21,6 +21,7 @@ import refinedstorage.RefinedStorageItems;
import refinedstorage.block.BlockController;
import refinedstorage.block.EnumControllerType;
import refinedstorage.container.ContainerController;
import refinedstorage.item.ItemPattern;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.network.GridPullFlags;
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
} else {
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);
}
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();
}
@@ -574,4 +591,12 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
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);
if (connected) {
buf.writeInt(controller.getItemGroups().size());
for (ItemGroup group : controller.getItemGroups()) {
group.toBytes(buf, controller.getItemGroups().indexOf(group));
}
controller.sendItemGroups(buf);
} else {
buf.writeInt(0);
}