Show crafting btn in grid
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user