Add crafting job toasts (#342)
This commit is contained in:
@@ -166,6 +166,7 @@ public enum AEFeature {
|
||||
MOLECULAR_ASSEMBLER("MolecularAssembler", Constants.CATEGORY_CRAFTING_FEATURES),
|
||||
PATTERNS("Patterns", Constants.CATEGORY_CRAFTING_FEATURES),
|
||||
CRAFTING_CPU("CraftingCPU", Constants.CATEGORY_CRAFTING_FEATURES),
|
||||
CRAFTING_TOASTS("CraftingToasts", Constants.CATEGORY_CRAFTING_FEATURES),
|
||||
|
||||
BASIC_CARDS("BasicCards", Constants.CATEGORY_UPGRADES),
|
||||
ADVANCED_CARDS("AdvancedCards", Constants.CATEGORY_UPGRADES),
|
||||
|
||||
@@ -201,7 +201,11 @@ public enum GuiText {
|
||||
LargeFontCraft,
|
||||
|
||||
// Used in a ME Interface when no appropriate TileEntity was detected near it
|
||||
Nothing;
|
||||
Nothing,
|
||||
|
||||
// Used in Crafting Toasts
|
||||
CraftingToastDone,
|
||||
CraftingToastCancelled;
|
||||
|
||||
private final String root;
|
||||
|
||||
|
||||
@@ -86,7 +86,9 @@ public class AppEngPacketHandlerBase {
|
||||
|
||||
PACKET_CRAFTING_CPUS_UPDATE(PacketCraftingCPUsUpdate.class),
|
||||
|
||||
PACKET_TERMINAL_KEYBIND(PacketTerminalUse.class);
|
||||
PACKET_TERMINAL_KEYBIND(PacketTerminalUse.class),
|
||||
|
||||
PACKET_CRAFTING_TOAST(PacketCraftingToast.class);
|
||||
|
||||
|
||||
private final Class<? extends AppEngPacket> packetClass;
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package appeng.core.sync.packets;
|
||||
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
import appeng.client.gui.toasts.CraftingStatusToast;
|
||||
import appeng.core.AEConfig;
|
||||
import appeng.core.features.AEFeature;
|
||||
import appeng.core.sync.AppEngPacket;
|
||||
import appeng.core.sync.network.INetworkInfo;
|
||||
import appeng.util.item.AEItemStack;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class PacketCraftingToast extends AppEngPacket {
|
||||
private final IAEItemStack stack;
|
||||
private final boolean cancelled;
|
||||
|
||||
public PacketCraftingToast(final ByteBuf stream) {
|
||||
this.stack = AEItemStack.fromPacket(stream);
|
||||
this.cancelled = stream.readBoolean();
|
||||
}
|
||||
|
||||
public PacketCraftingToast(IAEItemStack stack, boolean cancelled) throws IOException {
|
||||
this.stack = stack;
|
||||
this.cancelled = cancelled;
|
||||
|
||||
final ByteBuf data = Unpooled.buffer();
|
||||
|
||||
data.writeInt(this.getPacketID());
|
||||
stack.writeToPacket(data);
|
||||
data.writeBoolean(cancelled);
|
||||
|
||||
this.configureWrite(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clientPacketData(INetworkInfo network, AppEngPacket packet, EntityPlayer player) {
|
||||
if (AEConfig.instance().isFeatureEnabled(AEFeature.CRAFTING_TOASTS)) {
|
||||
Minecraft.getMinecraft()
|
||||
.getToastGui().add(new CraftingStatusToast(stack.asItemStackRepresentation(), cancelled));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serverPacketData(INetworkInfo manager, AppEngPacket packet, EntityPlayer player) {}
|
||||
}
|
||||
Reference in New Issue
Block a user