Fixes
This commit is contained in:
@@ -79,12 +79,14 @@ public class GuiController extends GuiBase {
|
|||||||
TileController.ClientSideMachine machine = machines.get(slot);
|
TileController.ClientSideMachine machine = machines.get(slot);
|
||||||
|
|
||||||
drawItem(x, y + 5, machine.stack);
|
drawItem(x, y + 5, machine.stack);
|
||||||
GlStateManager.pushMatrix();
|
|
||||||
float scale = 0.5f;
|
|
||||||
|
|
||||||
|
GlStateManager.pushMatrix();
|
||||||
|
|
||||||
|
float scale = 0.5f;
|
||||||
GlStateManager.scale(scale, scale, 1);
|
GlStateManager.scale(scale, scale, 1);
|
||||||
drawString(calculateOffsetOnScale(x + 1, scale), calculateOffsetOnScale(y - 3, scale), machine.stack.getDisplayName());
|
drawString(calculateOffsetOnScale(x + 1, scale), calculateOffsetOnScale(y - 3, scale), machine.stack.getDisplayName());
|
||||||
drawString(calculateOffsetOnScale(x + 21, scale), calculateOffsetOnScale(y + 10, scale), t("misc.refinedstorage:energy_usage_minimal", machine.energyUsage));
|
drawString(calculateOffsetOnScale(x + 21, scale), calculateOffsetOnScale(y + 10, scale), t("misc.refinedstorage:energy_usage_minimal", machine.energyUsage));
|
||||||
|
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
|
|
||||||
if (inBounds(x, y, 16, 16, mouseX, mouseY)) {
|
if (inBounds(x, y, 16, 16, mouseX, mouseY)) {
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
package refinedstorage.gui;
|
package refinedstorage.gui;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import refinedstorage.container.ContainerCraftingMonitor;
|
import refinedstorage.container.ContainerCraftingMonitor;
|
||||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class GuiCraftingMonitor extends GuiBase {
|
public class GuiCraftingMonitor extends GuiBase {
|
||||||
public static final int VISIBLE_ROWS = 2;
|
public static final int VISIBLE_ROWS = 2;
|
||||||
|
|
||||||
@@ -37,15 +42,61 @@ public class GuiCraftingMonitor extends GuiBase {
|
|||||||
scrollbar.draw(this);
|
scrollbar.draw(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int calculateOffsetOnScale(int pos, float scale) {
|
||||||
|
float multiplier = (pos / scale);
|
||||||
|
return (int) multiplier;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawForeground(int mouseX, int mouseY) {
|
public void drawForeground(int mouseX, int mouseY) {
|
||||||
scrollbar.update(this, mouseX, mouseY);
|
scrollbar.update(this, mouseX, mouseY);
|
||||||
|
|
||||||
drawString(7, 7, t("gui.refinedstorage:crafting_monitor"));
|
drawString(7, 7, t("gui.refinedstorage:crafting_monitor"));
|
||||||
drawString(7, 87, t("container.inventory"));
|
drawString(7, 87, t("container.inventory"));
|
||||||
|
|
||||||
|
int ox = 11;
|
||||||
|
int x = ox;
|
||||||
|
int y = 26;
|
||||||
|
|
||||||
|
int slot = getOffset() * 2;
|
||||||
|
|
||||||
|
RenderHelper.enableGUIStandardItemLighting();
|
||||||
|
|
||||||
|
List<ItemStack> tasks = craftingMonitor.getTasks();
|
||||||
|
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
if (slot < tasks.size()) {
|
||||||
|
ItemStack task = tasks.get(slot);
|
||||||
|
|
||||||
|
drawItem(x, y + 5, task);
|
||||||
|
|
||||||
|
GlStateManager.pushMatrix();
|
||||||
|
|
||||||
|
float scale = 0.5f;
|
||||||
|
GlStateManager.scale(scale, scale, 1);
|
||||||
|
drawString(calculateOffsetOnScale(x + 1, scale), calculateOffsetOnScale(y - 3, scale), task.getDisplayName());
|
||||||
|
|
||||||
|
GlStateManager.popMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i == 1) {
|
||||||
|
x = ox;
|
||||||
|
y += 30;
|
||||||
|
} else {
|
||||||
|
x += 75;
|
||||||
|
}
|
||||||
|
|
||||||
|
slot++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOffset() {
|
||||||
|
return (int) (scrollbar.getCurrentScroll() / 59f * (float) getRows());
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getRows() {
|
private int getRows() {
|
||||||
return 0;
|
int max = (int) Math.ceil((float) craftingMonitor.getTasks().size() / (float) 2);
|
||||||
|
|
||||||
|
return max < 0 ? 0 : max;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
import refinedstorage.tile.TileController;
|
|
||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
public class MessageGridStoragePull extends MessageHandlerPlayerToServer<MessageGridStoragePull> implements IMessage {
|
public class MessageGridStoragePull extends MessageHandlerPlayerToServer<MessageGridStoragePull> implements IMessage {
|
||||||
@@ -49,7 +48,7 @@ public class MessageGridStoragePull extends MessageHandlerPlayerToServer<Message
|
|||||||
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.gridX, message.gridY, message.gridZ));
|
||||||
|
|
||||||
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
if (tile instanceof TileGrid && ((TileGrid) tile).isConnected()) {
|
||||||
((TileController) tile).handleStoragePull(message.id, message.flags, player);
|
((TileGrid) tile).getController().handleStoragePull(message.id, message.flags, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ public class CraftingTask {
|
|||||||
this.ingredients = ingredients;
|
this.ingredients = ingredients;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemStack getResult() {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public static CraftingTask create(ItemStack result) {
|
public static CraftingTask create(ItemStack result) {
|
||||||
List<ItemStack> ingredients = new ArrayList<ItemStack>();
|
List<ItemStack> ingredients = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,18 @@
|
|||||||
package refinedstorage.tile.autocrafting;
|
package refinedstorage.tile.autocrafting;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
import net.minecraft.inventory.Container;
|
import net.minecraft.inventory.Container;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||||
import refinedstorage.container.ContainerCraftingMonitor;
|
import refinedstorage.container.ContainerCraftingMonitor;
|
||||||
import refinedstorage.tile.TileMachine;
|
import refinedstorage.tile.TileMachine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class TileCraftingMonitor extends TileMachine {
|
public class TileCraftingMonitor extends TileMachine {
|
||||||
|
private List<ItemStack> tasks = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getEnergyUsage() {
|
public int getEnergyUsage() {
|
||||||
return 2;
|
return 2;
|
||||||
@@ -14,6 +22,40 @@ public class TileCraftingMonitor extends TileMachine {
|
|||||||
public void updateMachine() {
|
public void updateMachine() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendContainerData(ByteBuf buf) {
|
||||||
|
super.sendContainerData(buf);
|
||||||
|
|
||||||
|
if (connected) {
|
||||||
|
buf.writeInt(controller.getCraftingTasks().size());
|
||||||
|
|
||||||
|
for (CraftingTask task : controller.getCraftingTasks()) {
|
||||||
|
ByteBufUtils.writeItemStack(buf, task.getResult());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
buf.writeInt(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void receiveContainerData(ByteBuf buf) {
|
||||||
|
super.receiveContainerData(buf);
|
||||||
|
|
||||||
|
List<ItemStack> crafting = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
|
int size = buf.readInt();
|
||||||
|
|
||||||
|
for (int i = 0; i < size; ++i) {
|
||||||
|
crafting.add(ByteBufUtils.readItemStack(buf));
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks = crafting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ItemStack> getTasks() {
|
||||||
|
return tasks;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<? extends Container> getContainer() {
|
public Class<? extends Container> getContainer() {
|
||||||
return ContainerCraftingMonitor.class;
|
return ContainerCraftingMonitor.class;
|
||||||
|
|||||||
Reference in New Issue
Block a user