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";
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user