Network Overhaul

Complete network code overhaul.
This commit is contained in:
Chris committed 2015-12-28 11:10:38 -05:00
1 parent fc666d614c
commit bcb4a39f88
97 files changed
+2547 -2635

No files matched your search

+4 -1
View File
@@ -1,4 +1,7 @@
12/28/2015 0.9.1.1 - Beta
12/28/2015 0.9.1.2 - Beta
Complete network code overhaul.
12/28/2015 0.9.1.1 - Beta
Added a lot of safety checks to arcane patterns.
Updated name of storage components and cells to better match AE2's.
Fixes #260 - Players preferred item is now used in arcane patterns.
+1 -1
View File
@@ -17,7 +17,7 @@ buildscript {
apply plugin: 'forge'
version = "0.9.1.1"
version = "0.9.1.2"
group= "thaumicenergistics" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "thaumicenergistics"
@@ -11,7 +11,7 @@ import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.integration.IntegrationCore;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.integration.tc.EssentiaTileContainerHelper;
import thaumicenergistics.network.ChannelHandler;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.proxy.CommonProxy;
import thaumicenergistics.registries.AEAspectRegister;
import thaumicenergistics.util.ThELog;
@@ -42,7 +42,7 @@ public class ThaumicEnergistics
/**
* Current version of the mod.
*/
public static final String VERSION = "0.9.1.1"; // Note: don't forget to change the build.gradle file as well
public static final String VERSION = "0.9.1.2"; // Note: don't forget to change the build.gradle file as well
/**
* Singleton instance
@@ -109,8 +109,8 @@ public class ThaumicEnergistics
// Register tile entities
ThaumicEnergistics.proxy.registerTileEntities();
// Register network messages
ChannelHandler.registerMessages();
// Register packets
NetworkHandler.registerPackets();
// Register integration
IntegrationCore.init();
@@ -6,7 +6,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.StatCollector;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.common.Thaumcraft;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.util.GuiHelper;
/**
@@ -225,7 +225,7 @@ public class AspectStack
public void readFromStream( final ByteBuf stream )
{
// Read the aspect
this.aspect = AbstractPacket.readAspect( stream );
this.aspect = ThEBasePacket.readAspect( stream );
// Read the amount
this.stackSize = stream.readLong();
@@ -259,7 +259,7 @@ public class AspectStack
public void writeToStream( final ByteBuf stream )
{
// Write the aspect
AbstractPacket.writeAspect( this.aspect, stream );
ThEBasePacket.writeAspect( this.aspect, stream );
// Write the stored amount
stream.writeLong( this.stackSize );
@@ -19,8 +19,8 @@ import thaumicenergistics.grid.IMEEssentiaMonitor;
import thaumicenergistics.grid.IMEEssentiaMonitorReceiver;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper.AspectItemType;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.util.EffectiveSide;
import thaumicenergistics.util.IInventoryUpdateReceiver;
import thaumicenergistics.util.PrivateInventory;
@@ -1009,7 +1009,7 @@ public abstract class AbstractContainerCellTerminalBase
if( EffectiveSide.isServerSide() )
{
// Send the change back to the client
new PacketClientEssentiaCellTerminal().createSelectedAspectUpdate( this.player, this.selectedAspect ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSelectedAspect( this.player, this.selectedAspect );
}
}
@@ -1030,7 +1030,7 @@ public abstract class AbstractContainerCellTerminalBase
for( AspectStack change : changes )
{
// Update the client
new PacketClientEssentiaCellTerminal().createListChanged( this.player, change ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setAspectAmount( this.player, change );
}
}
@@ -1041,7 +1041,7 @@ public abstract class AbstractContainerCellTerminalBase
@Override
public void setSelectedAspect( final Aspect selectedAspect )
{
new PacketServerEssentiaCellTerminal().createUpdateSelectedAspect( this.player, selectedAspect ).sendPacketToServer();
Packet_S_EssentiaCellTerminal.sendSelectedAspect( this.player, selectedAspect );
}
@Override
@@ -14,8 +14,8 @@ import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper.AspectItemType;
import thaumicenergistics.inventory.HandlerItemEssentiaCell;
import thaumicenergistics.items.ItemEssentiaCell;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.util.EffectiveSide;
import thaumicenergistics.util.PrivateInventory;
import appeng.api.networking.security.IActionHost;
@@ -134,7 +134,7 @@ public class ContainerEssentiaCell
else
{
// Request a full update from the server
new PacketServerEssentiaCellTerminal().createFullUpdateRequest( player ).sendPacketToServer();
Packet_S_EssentiaCellTerminal.sendFullUpdateRequest( player );
this.hasRequested = true;
}
@@ -194,17 +194,17 @@ public class ContainerEssentiaCell
if( cellHandler != null )
{
// Send the sorting mode
new PacketClientEssentiaCellTerminal().createSortModeUpdate( this.player, cellHandler.getSortingMode() ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSortMode( this.player, cellHandler.getSortingMode() );
}
// Send the list
if( ( this.monitor != null ) && ( this.hostChest.isPowered() ) )
{
new PacketClientEssentiaCellTerminal().createUpdateFullList( this.player, this.aspectStackList ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.sendFullList( this.player, this.aspectStackList );
}
else
{
new PacketClientEssentiaCellTerminal().createUpdateFullList( this.player, new ArrayList<AspectStack>() ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.sendFullList( this.player, new ArrayList<AspectStack>() );
}
}
@@ -219,7 +219,7 @@ public class ContainerEssentiaCell
cellHandler.setSortingMode( sortingMode );
// Send confirmation back to client
new PacketClientEssentiaCellTerminal().createSortModeUpdate( player, sortingMode ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSortMode( player, sortingMode );
}
/**
@@ -2,8 +2,8 @@ package thaumicenergistics.container;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.parts.AEPartEssentiaTerminal;
import thaumicenergistics.util.EffectiveSide;
import appeng.api.networking.security.PlayerSource;
@@ -65,7 +65,7 @@ public class ContainerEssentiaTerminal
else
{
// Ask for a list update
new PacketServerEssentiaCellTerminal().createFullUpdateRequest( this.player ).sendPacketToServer();
Packet_S_EssentiaCellTerminal.sendFullUpdateRequest( this.player );
this.hasRequested = true;
}
@@ -96,7 +96,7 @@ public class ContainerEssentiaTerminal
// Send the aspect list
if( this.monitor != null )
{
new PacketClientEssentiaCellTerminal().createUpdateFullList( this.player, this.aspectStackList ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.sendFullList( this.player, this.aspectStackList );
}
}
@@ -126,7 +126,7 @@ public class ContainerEssentiaTerminal
public void onSortingModeChanged( final ComparatorMode sortingMode )
{
// Inform the client
new PacketClientEssentiaCellTerminal().createSortModeUpdate( this.player, sortingMode ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSortMode( this.player, sortingMode );
}
}
@@ -6,7 +6,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.packet.client.PacketClientEssentiaVibrationChamber;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaVibrationChamber;
import thaumicenergistics.tileentities.TileEssentiaVibrationChamber;
import thaumicenergistics.tileentities.abstraction.TileEVCBase;
import thaumicenergistics.util.EffectiveSide;
@@ -179,8 +179,9 @@ public class ContainerEssentiaVibrationChamber
if( EffectiveSide.isServerSide() )
{
// Send update packet
PacketClientEssentiaVibrationChamber updatePacket = new PacketClientEssentiaVibrationChamber();
updatePacket.createUpdatePacket( this.player, powerPerTick, maxPowerPerTick, ticksRemaining, totalTicks ).sendPacketToPlayer();
Packet_C_EssentiaVibrationChamber.sendUpdate(
this.player, powerPerTick,
maxPowerPerTick, ticksRemaining, totalTicks );
}
else
{
@@ -17,7 +17,7 @@ import thaumicenergistics.integration.tc.ArcaneCraftingPattern;
import thaumicenergistics.integration.tc.ArcaneRecipeHelper;
import thaumicenergistics.inventory.HandlerKnowledgeCore;
import thaumicenergistics.items.ItemKnowledgeCore;
import thaumicenergistics.network.packet.client.PacketClientKnowledgeInscriber;
import thaumicenergistics.network.packet.client.Packet_C_KnowledgeInscriber;
import thaumicenergistics.tileentities.TileKnowledgeInscriber;
import thaumicenergistics.util.EffectiveSide;
import appeng.api.storage.data.IAEItemStack;
@@ -435,7 +435,7 @@ public class ContainerKnowledgeInscriber
public void onClientRequestFullUpdate( final EntityPlayer player )
{
// Update the client
new PacketClientKnowledgeInscriber().createSendSaveState( player, this.getSaveState() ).sendPacketToPlayer();
Packet_C_KnowledgeInscriber.sendSaveState( player, this.getSaveState() );
}
/**
@@ -22,7 +22,7 @@ import thaumicenergistics.container.slot.SlotRestrictive;
import thaumicenergistics.gui.GuiArcaneCraftingTerminal;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.integration.tc.ArcaneRecipeHelper;
import thaumicenergistics.network.packet.client.PacketClientArcaneCraftingTerminal;
import thaumicenergistics.network.packet.client.Packet_C_ArcaneCraftingTerminal;
import thaumicenergistics.parts.AEPartArcaneCraftingTerminal;
import thaumicenergistics.util.EffectiveSide;
import thaumicenergistics.util.GuiHelper;
@@ -1027,7 +1027,7 @@ public class ContainerPartArcaneCraftingTerminal
}
// Send the update to the client
new PacketClientArcaneCraftingTerminal().createPlayerHoldingUpdate( player, leftOverStack ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.setPlayerHeldItem( player, leftOverStack );
}
/**
@@ -1234,8 +1234,8 @@ public class ContainerPartArcaneCraftingTerminal
this.monitor.extractItems( toExtract, Actionable.MODULATE, this.playerSource );
// Send the update to the client
new PacketClientArcaneCraftingTerminal().createPlayerHoldingUpdate( player,
AEApi.instance().storage().createItemStack( player.inventory.getItemStack() ) ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.setPlayerHeldItem( player,
AEApi.instance().storage().createItemStack( player.inventory.getItemStack() ) );
}
}
@@ -1248,8 +1248,8 @@ public class ContainerPartArcaneCraftingTerminal
public void onClientRequestFullUpdate( final EntityPlayer player )
{
// Send the sorting info
new PacketClientArcaneCraftingTerminal().createSortingUpdate( player, this.arcaneCraftingTerminalPart.getSortingOrder(),
this.arcaneCraftingTerminalPart.getSortingDirection(), this.arcaneCraftingTerminalPart.getViewMode() ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.sendModeChange( player, this.arcaneCraftingTerminalPart.getSortingOrder(),
this.arcaneCraftingTerminalPart.getSortingDirection(), this.arcaneCraftingTerminalPart.getViewMode() );
// Ensure we have a monitor
if( this.monitor != null )
@@ -1258,7 +1258,7 @@ public class ContainerPartArcaneCraftingTerminal
IItemList<IAEItemStack> fullList = this.monitor.getStorageList();
// Send to the client
new PacketClientArcaneCraftingTerminal().createFullListUpdate( player, fullList ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.sendAllNetworkItems( player, fullList );
}
}
@@ -1284,7 +1284,7 @@ public class ContainerPartArcaneCraftingTerminal
{
this.arcaneCraftingTerminalPart.swapStoredArmor( player );
this.detectAndSendChanges();
new PacketClientArcaneCraftingTerminal().createUpdateAspectCost( player ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.updateAspectCost( player );
}
/**
@@ -1391,7 +1391,7 @@ public class ContainerPartArcaneCraftingTerminal
}
// Send the change to the client
new PacketClientArcaneCraftingTerminal().createChangeUpdate( this.player, newAmount ).sendPacketToPlayer();
Packet_C_ArcaneCraftingTerminal.stackAmountChanged( this.player, newAmount );
}
}
@@ -5,8 +5,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.PacketClientEssentiaIOBus;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaIOBus;
import thaumicenergistics.parts.AbstractAEPartEssentiaIOBus;
import appeng.api.config.RedstoneMode;
@@ -111,22 +111,22 @@ public class ContainerPartEssentiaIOBus
public void setFilteredAspect( final List<Aspect> filteredAspects )
{
new PacketClientAspectSlot().createFilterListUpdate( filteredAspects, this.player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( filteredAspects, this.player );
}
public void setFilterSize( final byte filterSize )
{
new PacketClientEssentiaIOBus().createSetFilterSize( this.player, filterSize ).sendPacketToPlayer();
Packet_C_EssentiaIOBus.sendFilterSize( this.player, filterSize );
}
public void setRedstoneControlled( final boolean isRedstoneControlled )
{
new PacketClientEssentiaIOBus().createSetRedstoneControlled( this.player, isRedstoneControlled ).sendPacketToPlayer();
Packet_C_EssentiaIOBus.sendRedstoneControlled( this.player, isRedstoneControlled );
}
public void setRedstoneMode( final RedstoneMode redstoneMode )
{
new PacketClientEssentiaIOBus().createSetRedstoneMode( this.player, redstoneMode ).sendPacketToPlayer();
Packet_C_EssentiaIOBus.sendRedstoneMode( this.player, redstoneMode );
}
/**
@@ -5,7 +5,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.parts.AEPartEssentiaStorageBus;
public class ContainerPartEssentiaStorageBus
@@ -79,7 +79,7 @@ public class ContainerPartEssentiaStorageBus
public void setFilteredAspects( final List<Aspect> filteredAspects )
{
new PacketClientAspectSlot().createFilterListUpdate( filteredAspects, this.player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( filteredAspects, this.player );
}
@Override
@@ -2,7 +2,7 @@ package thaumicenergistics.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import thaumicenergistics.network.packet.client.PacketClientPriority;
import thaumicenergistics.network.packet.client.Packet_C_Priority;
import appeng.helpers.IPriorityHost;
public class ContainerPriority
@@ -34,7 +34,7 @@ public class ContainerPriority
private void sendPriorityToClient()
{
// Send the priority to the client
new PacketClientPriority().createSendPriority( this.host.getPriority(), this.player ).sendPacketToPlayer();
Packet_C_Priority.sendPriority( this.host.getPriority(), this.player );
}
/**
@@ -8,8 +8,8 @@ import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper.AspectItemType;
import thaumicenergistics.inventory.HandlerWirelessEssentiaTerminal;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.util.EffectiveSide;
import thaumicenergistics.util.PrivateInventory;
import appeng.api.config.Actionable;
@@ -92,7 +92,7 @@ public class ContainerWirelessEssentiaTerminal
else
{
// Request a full update from the server
new PacketServerEssentiaCellTerminal().createFullUpdateRequest( player ).sendPacketToServer();
Packet_S_EssentiaCellTerminal.sendFullUpdateRequest( player );
this.hasRequested = true;
}
}
@@ -185,10 +185,10 @@ public class ContainerWirelessEssentiaTerminal
public void onClientRequestFullUpdate()
{
// Send the sorting mode
new PacketClientEssentiaCellTerminal().createSortModeUpdate( this.player, this.handler.getSortingMode() ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSortMode( this.player, this.handler.getSortingMode() );
// Send the list
new PacketClientEssentiaCellTerminal().createUpdateFullList( this.player, this.aspectStackList ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.sendFullList( this.player, this.aspectStackList );
}
@Override
@@ -198,7 +198,7 @@ public class ContainerWirelessEssentiaTerminal
this.handler.setSortingMode( sortingMode );
// Send confirmation back to client
new PacketClientEssentiaCellTerminal().createSortModeUpdate( player, sortingMode ).sendPacketToPlayer();
Packet_C_EssentiaCellTerminal.setSortMode( player, sortingMode );
}
/**
@@ -26,7 +26,7 @@ import thaumicenergistics.gui.buttons.GuiButtonViewType;
import thaumicenergistics.gui.widget.AbstractWidget;
import thaumicenergistics.gui.widget.WidgetAEItem;
import thaumicenergistics.integration.tc.MEItemAspectBridgeContainer;
import thaumicenergistics.network.packet.server.PacketServerArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.Packet_S_ArcaneCraftingTerminal;
import thaumicenergistics.parts.AEPartArcaneCraftingTerminal;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.texture.AEStateIconsEnum;
@@ -213,7 +213,7 @@ public class GuiArcaneCraftingTerminal
if( slotClicked != null )
{
// Ask the server to move the inventory
new PacketServerArcaneCraftingTerminal().createRequestDepositRegion( this.player, slotClicked.slotNumber ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendDepositRegion( this.player, slotClicked.slotNumber );
// Do not pass to super
return true;
@@ -287,7 +287,7 @@ public class GuiArcaneCraftingTerminal
else
{
// Inform the server the user would like to deposit the currently held item into the ME network.
new PacketServerArcaneCraftingTerminal().createRequestDeposit( this.player, mouseButton ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendDeposit( this.player, mouseButton );
}
// Do not pass to super
@@ -321,7 +321,7 @@ public class GuiArcaneCraftingTerminal
if( this.player.inventory.getItemStack() != null )
{
// Inform the server the user would like to deposit 1 of the currently held items into the ME network.
new PacketServerArcaneCraftingTerminal().createRequestDeposit( this.player, GuiHelper.MOUSE_WHEEL_MOTION ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendDeposit( this.player, GuiHelper.MOUSE_WHEEL_MOTION );
}
}
else
@@ -443,7 +443,7 @@ public class GuiArcaneCraftingTerminal
{
if( ( widgetStack.isCraftable() ) && ( mouseButton != GuiHelper.MOUSE_BUTTON_RIGHT ) )
{
new PacketServerArcaneCraftingTerminal().createRequestAutoCraft( this.player, widgetStack ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendAutoCraft( this.player, widgetStack );
}
}
else
@@ -452,8 +452,7 @@ public class GuiArcaneCraftingTerminal
boolean isShiftHeld = Keyboard.isKeyDown( Keyboard.KEY_LSHIFT ) || Keyboard.isKeyDown( Keyboard.KEY_RSHIFT );
// Let the server know the user is requesting an itemstack.
new PacketServerArcaneCraftingTerminal().createRequestExtract( this.player, widgetStack, mouseButton, isShiftHeld )
.sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendExtract( this.player, widgetStack, mouseButton, isShiftHeld );
}
}
@@ -884,7 +883,7 @@ public class GuiArcaneCraftingTerminal
// Clear grid
case AbstractGuiConstantsACT.BUTTON_CLEAR_GRID_ID:
// Attempt to clear the grid
new PacketServerArcaneCraftingTerminal().createRequestClearGrid( this.player ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendClearGrid( this.player );
break;
// Sort order
@@ -937,7 +936,7 @@ public class GuiArcaneCraftingTerminal
// Swap armor
case AbstractGuiConstantsACT.BUTTON_SWAP_ARMOR_ID:
// Ask the server to swap the armor
new PacketServerArcaneCraftingTerminal().createSwapArmorRequest( this.player ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendSwapArmor( this.player );
break;
// Terminal style
@@ -998,8 +997,7 @@ public class GuiArcaneCraftingTerminal
this.lastTooltipUpdateTime = 0;
// Send to server
new PacketServerArcaneCraftingTerminal().createRequestSetSort( this.player, this.sortingOrder, this.sortingDirection, this.viewMode )
.sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendMode( this.player, this.sortingOrder, this.sortingDirection, this.viewMode );
}
}
@@ -1180,7 +1178,7 @@ public class GuiArcaneCraftingTerminal
( (ContainerPartArcaneCraftingTerminal)this.inventorySlots ).registerForUpdates();
// Request a full update from the server
new PacketServerArcaneCraftingTerminal().createRequestFullList( this.player ).sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendFullListRequest( this.player );
}
@@ -5,7 +5,7 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import thaumicenergistics.api.ICraftingIssuerTerminalHost;
import thaumicenergistics.network.packet.server.PacketServerConfirmCraftingJob;
import thaumicenergistics.network.packet.server.Packet_S_ConfirmCraftingJob;
import appeng.client.gui.implementations.GuiCraftAmount;
import appeng.client.gui.widgets.GuiNumberBox;
import appeng.client.gui.widgets.GuiTabButton;
@@ -67,7 +67,7 @@ public class GuiCraftAmountBridge
long amount = Long.parseLong( this.amountToCraft.getText() );
// Ask server to show confirm gui
new PacketServerConfirmCraftingJob().createRequestConfirmAutoCraft( this.player, amount, isShiftKeyDown() ).sendPacketToServer();
Packet_S_ConfirmCraftingJob.sendConfirmAutoCraft( this.player, amount, isShiftKeyDown() );
}
catch( final NumberFormatException e )
{
@@ -27,7 +27,7 @@ import thaumicenergistics.gui.widget.AbstractWidget;
import thaumicenergistics.gui.widget.IAspectSelectorGui;
import thaumicenergistics.gui.widget.WidgetAspectSelector;
import thaumicenergistics.gui.widget.WidgetAspectSelectorComparator;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.parts.AEPartEssentiaTerminal;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.texture.GuiTextureManager;
@@ -588,9 +588,8 @@ public class GuiEssentiaCellTerminal
if( button.id == GuiEssentiaCellTerminal.SORT_MODE_BUTTON_ID )
{
// Request update from server
new PacketServerEssentiaCellTerminal().createRequestChangeSortMode( this.player,
( this.sortMode == ComparatorMode.MODE_ALPHABETIC ? ComparatorMode.MODE_AMOUNT : ComparatorMode.MODE_ALPHABETIC ) )
.sendPacketToServer();
Packet_S_EssentiaCellTerminal.sendSortMode( this.player,
( this.sortMode == ComparatorMode.MODE_ALPHABETIC ? ComparatorMode.MODE_AMOUNT : ComparatorMode.MODE_ALPHABETIC ) );
}
}
@@ -14,7 +14,7 @@ import thaumicenergistics.gui.buttons.GuiButtonSetCellPartitioningToCurrent;
import thaumicenergistics.gui.widget.WidgetAspectSlot;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotGui;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellWorkbench;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellWorkbench;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.texture.AEStateIconsEnum;
import thaumicenergistics.texture.GuiTextureManager;
@@ -227,20 +227,18 @@ public class GuiEssentiaCellWorkbench
// Add?
if( ( widgetAspect == null ) && ( itemAspect != null ) )
{
new PacketServerEssentiaCellWorkbench().createRequestAddAspect( this.player, this.workbench, itemAspect ).sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendAddAspect( this.player, this.workbench, itemAspect );
}
// Remove?
else if( ( widgetAspect != null ) && ( itemAspect == null ) )
{
new PacketServerEssentiaCellWorkbench().createRequestRemoveAspect( this.player, this.workbench, widgetAspect )
.sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendRemoveAspect( this.player, this.workbench, widgetAspect );
}
// Replace?
else if( ( widgetAspect != null ) && ( itemAspect != null ) )
{
new PacketServerEssentiaCellWorkbench().createRequestReplaceAspect( this.player, this.workbench, widgetAspect, itemAspect )
.sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendReplaceAspect( this.player, this.workbench, widgetAspect, itemAspect );
}
@@ -257,11 +255,11 @@ public class GuiEssentiaCellWorkbench
switch ( button.id )
{
case GuiEssentiaCellWorkbench.BUTTON_CLEAR_ID:
new PacketServerEssentiaCellWorkbench().createRequestClearPartitioning( this.player, this.workbench ).sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendClearPartitioning( this.player, this.workbench );
break;
case GuiEssentiaCellWorkbench.BUTTON_PARTITION_CURRENT_ID:
new PacketServerEssentiaCellWorkbench().createRequestPartitionToContents( this.player, this.workbench ).sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendPartitionToContents( this.player, this.workbench );
break;
}
}
@@ -300,7 +298,7 @@ public class GuiEssentiaCellWorkbench
GuiEssentiaCellWorkbench.BUTTON_CLEAR_X, this.guiTop + GuiEssentiaCellWorkbench.BUTTON_CLEAR_Y ) );
// Request the list
new PacketServerEssentiaCellWorkbench().createRequestGetPartitionList( this.player, this.workbench ).sendPacketToServer();
Packet_S_EssentiaCellWorkbench.sendGetPartitionList( this.player, this.workbench );
}
/**
@@ -15,7 +15,7 @@ import thaumicenergistics.gui.widget.AbstractWidget;
import thaumicenergistics.gui.widget.WidgetAspectSlot;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotGui;
import thaumicenergistics.network.packet.server.PacketServerEssentiaIOBus;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaIOBus;
import thaumicenergistics.parts.AEPartEssentiaExportBus;
import thaumicenergistics.parts.AEPartEssentiaImportBus;
import thaumicenergistics.parts.AbstractAEPartEssentiaIOBus;
@@ -323,14 +323,14 @@ public class GuiEssentiaIO
// Was the clicked button the redstone mode button?
if( button.id == GuiEssentiaIO.REDSTONE_CONTROL_BUTTON_ID )
{
new PacketServerEssentiaIOBus().createRequestChangeRedstoneMode( this.player, this.part ).sendPacketToServer();
Packet_S_EssentiaIOBus.sendRedstoneModeChange( this.player, this.part );
}
// Void button?
else if( button.id == GuiEssentiaIO.ALLOW_VOID_BUTTON_ID )
{
if( this.part instanceof AEPartEssentiaExportBus )
{
new PacketServerEssentiaIOBus().createRequestChangeVoidMode( this.player, (AEPartEssentiaExportBus)this.part ).sendPacketToServer();
Packet_S_EssentiaIOBus.sendVoidModeChange( this.player, (AEPartEssentiaExportBus)this.part );
}
}
}
@@ -383,7 +383,7 @@ public class GuiEssentiaIO
}
// Request a full update from the server
new PacketServerEssentiaIOBus().createRequestFullUpdate( this.player, this.part ).sendPacketToServer();
Packet_S_EssentiaIOBus.sendFullUpdateRequest( this.player, this.part );
}
@@ -15,7 +15,7 @@ import thaumicenergistics.gui.widget.DigitTextField;
import thaumicenergistics.gui.widget.WidgetAspectSlot;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotGui;
import thaumicenergistics.network.packet.server.PacketServerEssentiaEmitter;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaEmitter;
import thaumicenergistics.parts.AEPartEssentiaLevelEmitter;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.texture.GuiTextureManager;
@@ -289,7 +289,7 @@ public class GuiEssentiaLevelEmitter
}
// Update the server
new PacketServerEssentiaEmitter().createWantedAmountUpdate( wantedAmount, this.part, this.player ).sendPacketToServer();
Packet_S_EssentiaEmitter.sendWantedAmount( wantedAmount, this.part, this.player );
}
}
@@ -328,7 +328,7 @@ public class GuiEssentiaLevelEmitter
int adjustment = Integer.parseInt( button.displayString );
// Update the server
new PacketServerEssentiaEmitter().createWantedAmountAdjustment( adjustment, this.part, this.player ).sendPacketToServer();
Packet_S_EssentiaEmitter.sendWantedAmountDelta( adjustment, this.part, this.player );
}
catch( NumberFormatException e )
{
@@ -338,7 +338,7 @@ public class GuiEssentiaLevelEmitter
else if( index == GuiEssentiaLevelEmitter.REDSTONE_MODE_BUTTON_INDEX )
{
// Update the server
new PacketServerEssentiaEmitter().createRedstoneModeToggle( this.part, this.player ).sendPacketToServer();
Packet_S_EssentiaEmitter.sendRedstoneModeToggle( this.part, this.player );
}
}
@@ -428,7 +428,7 @@ public class GuiEssentiaLevelEmitter
GuiEssentiaLevelEmitter.REDSTONE_BUTTON_SIZE, GuiEssentiaLevelEmitter.REDSTONE_BUTTON_SIZE, RedstoneMode.LOW_SIGNAL, true ) );
// Request an update from the server
new PacketServerEssentiaEmitter().createUpdateRequest( this.part, this.player ).sendPacketToServer();
Packet_S_EssentiaEmitter.sendUpdateRequest( this.part, this.player );
}
/**
@@ -17,8 +17,8 @@ import thaumicenergistics.gui.widget.AbstractWidget;
import thaumicenergistics.gui.widget.WidgetAspectSlot;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotGui;
import thaumicenergistics.network.packet.server.PacketServerChangeGui;
import thaumicenergistics.network.packet.server.PacketServerEssentiaStorageBus;
import thaumicenergistics.network.packet.server.Packet_S_ChangeGui;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaStorageBus;
import thaumicenergistics.parts.AEPartEssentiaStorageBus;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.texture.AEStateIconsEnum;
@@ -281,8 +281,8 @@ public class GuiEssentiaStorageBus
ForgeDirection side = this.storageBus.getSide();
// Ask the server to change to the priority gui
new PacketServerChangeGui().createChangeGuiRequest( ThEGuiHandler.generateSidedID( ThEGuiHandler.PRIORITY_ID, side ), this.player,
host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord ).sendPacketToServer();
Packet_S_ChangeGui.sendGuiChange( ThEGuiHandler.generateSidedID( ThEGuiHandler.PRIORITY_ID, side ), this.player,
host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord );
}
else if( button.id == GuiEssentiaStorageBus.BUTTON_ALLOW_VOID_ID )
@@ -294,7 +294,7 @@ public class GuiEssentiaStorageBus
( (GuiButtonAllowVoid)this.buttonList.get( GuiEssentiaStorageBus.BUTTON_ALLOW_VOID_ID ) ).isVoidAllowed = this.isVoidAllowed;
// Update the server
new PacketServerEssentiaStorageBus().createRequestSetVoidAllowed( this.player, this.storageBus, this.isVoidAllowed ).sendPacketToServer();
Packet_S_EssentiaStorageBus.setVoidAllowed( this.player, this.storageBus, this.isVoidAllowed );
}
}
@@ -325,7 +325,7 @@ public class GuiEssentiaStorageBus
GuiEssentiaStorageBus.BUTTON_ALLOW_VOID_X_POS, this.guiTop + GuiEssentiaStorageBus.BUTTON_ALLOW_VOID_Y_POS ) );
// Request an update
new PacketServerEssentiaStorageBus().createRequestFullUpdate( this.player, this.storageBus ).sendPacketToServer();
Packet_S_EssentiaStorageBus.sendFullUpdateRequest( this.player, this.storageBus );
}
/**
@@ -11,7 +11,7 @@ import thaumicenergistics.container.ContainerKnowledgeInscriber;
import thaumicenergistics.container.ContainerKnowledgeInscriber.CoreSaveState;
import thaumicenergistics.gui.abstraction.AbstractGuiBase;
import thaumicenergistics.gui.buttons.GuiButtonSaveDelete;
import thaumicenergistics.network.packet.server.PacketServerKnowledgeInscriber;
import thaumicenergistics.network.packet.server.Packet_S_KnowledgeInscriber;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.texture.GuiTextureManager;
@@ -129,7 +129,7 @@ public class GuiKnowledgeInscriber
if( button == this.saveButton )
{
// Send the request to the server
new PacketServerKnowledgeInscriber().createRequestSaveDelete( this.player ).sendPacketToServer();
Packet_S_KnowledgeInscriber.sendSaveDelete( this.player );
}
}
@@ -147,7 +147,7 @@ public class GuiKnowledgeInscriber
this.buttonList.add( this.saveButton );
// Request full update
new PacketServerKnowledgeInscriber().createRequestFullUpdate( this.player ).sendPacketToServer();
Packet_S_KnowledgeInscriber.sendFullUpdateRequest( this.player );
}
/**
@@ -10,8 +10,8 @@ import thaumicenergistics.container.ContainerPriority;
import thaumicenergistics.gui.abstraction.AbstractGuiBase;
import thaumicenergistics.gui.buttons.GuiButtonAETab;
import thaumicenergistics.gui.widget.DigitTextField;
import thaumicenergistics.network.packet.server.PacketServerChangeGui;
import thaumicenergistics.network.packet.server.PacketServerPriority;
import thaumicenergistics.network.packet.server.Packet_S_ChangeGui;
import thaumicenergistics.network.packet.server.Packet_S_Priority;
import thaumicenergistics.parts.AbstractAEPartBase;
import thaumicenergistics.texture.AEStateIconsEnum;
import thaumicenergistics.texture.GuiTextureManager;
@@ -292,7 +292,7 @@ public class GuiPriority
}
// Update the server
new PacketServerPriority().createRequestSetPriority( newPriority, this.player ).sendPacketToServer();
Packet_S_Priority.sendPriority( newPriority, this.player );
}
}
@@ -309,8 +309,7 @@ public class GuiPriority
TileEntity host = this.part.getHostTile();
// Ask the server to change to the priority gui
new PacketServerChangeGui().createChangeGuiRequest( this.part, this.player, host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord )
.sendPacketToServer();
Packet_S_ChangeGui.sendGuiChange( this.part, this.player, host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord );
return;
}
@@ -322,7 +321,7 @@ public class GuiPriority
AdjustmentButtonDef abDef = GuiPriority.ADJUSTMENT_BUTTONS[button.id - GuiPriority.ADJUSTMENT_BUTTONS_ID];
// Send the adjustment to the server
new PacketServerPriority().createRequestAdjustPriority( abDef.amount, this.player ).sendPacketToServer();
Packet_S_Priority.sendPriorityDelta( abDef.amount, this.player );
}
catch( IndexOutOfBoundsException e )
{
@@ -385,7 +384,7 @@ public class GuiPriority
this.amountField.setTextColor( 0xFFFFFFFF );
// Ask for the priority from the server
new PacketServerPriority().createRequestPriority( this.player ).sendPacketToServer();
Packet_S_Priority.sendPriorityRequest( this.player );
}
/**
@@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer;
import org.lwjgl.opengl.GL11;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.IAspectSlotPart;
import thaumicenergistics.network.packet.server.PacketServerAspectSlot;
import thaumicenergistics.network.packet.server.Packet_S_AspectSlot;
import thaumicenergistics.texture.GuiTextureManager;
public class WidgetAspectSlot
@@ -111,6 +111,6 @@ public class WidgetAspectSlot
{
this.setAspect( withAspect );
new PacketServerAspectSlot().createUpdatePartAspect( this.part, this.id, this.getAspect(), this.player ).sendPacketToServer();
Packet_S_AspectSlot.sendAspectChange( this.part, this.id, this.getAspect(), this.player );
}
}
@@ -11,7 +11,7 @@ import thaumicenergistics.gui.GuiArcaneCraftingTerminal;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.integration.tc.EssentiaConversionHelper;
import thaumicenergistics.inventory.HandlerWirelessEssentiaTerminal;
import thaumicenergistics.network.packet.server.PacketServerArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.Packet_S_ArcaneCraftingTerminal;
import appeng.api.AEApi;
import appeng.api.implementations.tiles.IWirelessAccessPoint;
import appeng.api.networking.IGrid;
@@ -195,8 +195,7 @@ public class ThEInteractionHelper
// Send the list to the server
if( hasItems )
{
new PacketServerArcaneCraftingTerminal().createNEIRequestSetCraftingGrid( Minecraft.getMinecraft().thePlayer, items )
.sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendSetCrafting_NEI( Minecraft.getMinecraft().thePlayer, items );
}
}
catch( Exception e )
@@ -6,7 +6,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import thaumicenergistics.container.ContainerPartArcaneCraftingTerminal;
import thaumicenergistics.gui.GuiArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.PacketServerArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.Packet_S_ArcaneCraftingTerminal;
import appeng.api.AEApi;
import appeng.api.storage.data.IAEItemStack;
import codechicken.nei.PositionedStack;
@@ -138,8 +138,7 @@ public class ModuleNEI
protected void addItemsToGUI( final IAEItemStack[] overlayItems )
{
// Send the list to the server
new PacketServerArcaneCraftingTerminal().createNEIRequestSetCraftingGrid( Minecraft.getMinecraft().thePlayer, overlayItems )
.sendPacketToServer();
Packet_S_ArcaneCraftingTerminal.sendSetCrafting_NEI( Minecraft.getMinecraft().thePlayer, overlayItems );
}
@Override
@@ -20,8 +20,8 @@ import thaumcraft.api.wands.ItemFocusBasic;
import thaumcraft.common.items.wands.ItemWandCasting;
import thaumcraft.common.tiles.TilePedestal;
import thaumicenergistics.ThaumicEnergistics;
import thaumicenergistics.network.packet.client.PacketAreaParticleFX;
import thaumicenergistics.network.packet.server.PacketServerWrenchFocus;
import thaumicenergistics.network.packet.client.Packet_R_ParticleFX;
import thaumicenergistics.network.packet.server.Packet_S_WrenchFocus;
import thaumicenergistics.registries.FeatureRegistry;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.util.ThEUtils;
@@ -73,8 +73,9 @@ public class ItemFocusAEWrench
wand.consumeAllVis( wandStack, player, ItemFocusAEWrench.castCost, true, false );
// Spawn beam
new PacketAreaParticleFX().createWrenchFX( player.worldObj, player.posX, player.posY, player.posZ, beamX, beamY, beamZ, Aspect.ENERGY )
.sendToAllAround( 20 );
Packet_R_ParticleFX.createWrenchFX(
player.worldObj, player.posX, player.posY, player.posZ,
beamX, beamY, beamZ, Aspect.ENERGY, 20 );
}
private static ItemStack getWrench()
@@ -232,7 +233,7 @@ public class ItemFocusAEWrench
// Send packet if client side
if( world.isRemote )
{
new PacketServerWrenchFocus().createWrenchFocusRequest( player, position ).sendPacketToServer();
Packet_S_WrenchFocus.sendWrenchFocusRequest( player, position );
}
return true;
@@ -1,133 +0,0 @@
package thaumicenergistics.network;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import thaumicenergistics.ThaumicEnergistics;
import thaumicenergistics.network.handlers.HandlerAreaParticleFX;
import thaumicenergistics.network.handlers.HandlerClientAspectSlot;
import thaumicenergistics.network.handlers.HandlerClientEssentiaCellTerminal;
import thaumicenergistics.network.handlers.HandlerClientEssentiaStorageBus;
import thaumicenergistics.network.handlers.HandlerClientEssentiaVibrationChamber;
import thaumicenergistics.network.handlers.HandlerClientKnowledgeInscriber;
import thaumicenergistics.network.handlers.HandlerClientPriority;
import thaumicenergistics.network.handlers.HandlerServerAspectSlot;
import thaumicenergistics.network.handlers.HandlerServerChangeGui;
import thaumicenergistics.network.handlers.HandlerServerConfirmCrafting;
import thaumicenergistics.network.handlers.HandlerServerEssentiaCellTerminal;
import thaumicenergistics.network.handlers.HandlerServerEssentiaCellWorkbench;
import thaumicenergistics.network.handlers.HandlerServerKnowledgeInscriber;
import thaumicenergistics.network.handlers.HandlerServerPriority;
import thaumicenergistics.network.handlers.HandlerServerWrenchFocus;
import thaumicenergistics.network.handlers.part.HandlerClientArcaneCraftingTerminal;
import thaumicenergistics.network.handlers.part.HandlerClientEssentiaIOBus;
import thaumicenergistics.network.handlers.part.HandlerClientEssentiaLevelEmitter;
import thaumicenergistics.network.handlers.part.HandlerServerArcaneCraftingTerminal;
import thaumicenergistics.network.handlers.part.HandlerServerEssentiaIOBus;
import thaumicenergistics.network.handlers.part.HandlerServerEssentiaLevelEmitter;
import thaumicenergistics.network.handlers.part.HandlerServerEssentiaStorageBus;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.client.PacketAreaParticleFX;
import thaumicenergistics.network.packet.client.PacketClientArcaneCraftingTerminal;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import thaumicenergistics.network.packet.client.PacketClientEssentiaEmitter;
import thaumicenergistics.network.packet.client.PacketClientEssentiaIOBus;
import thaumicenergistics.network.packet.client.PacketClientEssentiaStorageBus;
import thaumicenergistics.network.packet.client.PacketClientEssentiaVibrationChamber;
import thaumicenergistics.network.packet.client.PacketClientKnowledgeInscriber;
import thaumicenergistics.network.packet.client.PacketClientPriority;
import thaumicenergistics.network.packet.server.PacketServerArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.PacketServerAspectSlot;
import thaumicenergistics.network.packet.server.PacketServerChangeGui;
import thaumicenergistics.network.packet.server.PacketServerConfirmCraftingJob;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellWorkbench;
import thaumicenergistics.network.packet.server.PacketServerEssentiaEmitter;
import thaumicenergistics.network.packet.server.PacketServerEssentiaIOBus;
import thaumicenergistics.network.packet.server.PacketServerEssentiaStorageBus;
import thaumicenergistics.network.packet.server.PacketServerKnowledgeInscriber;
import thaumicenergistics.network.packet.server.PacketServerPriority;
import thaumicenergistics.network.packet.server.PacketServerWrenchFocus;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
public class ChannelHandler
{
// private static EnumMap<Side, FMLEmbeddedChannel> channels;
public static SimpleNetworkWrapper wrapper = NetworkRegistry.INSTANCE.newSimpleChannel( ThaumicEnergistics.MOD_ID );
public static void registerMessages()
{
byte discriminator = 0;
// Aspect slot
wrapper.registerMessage( HandlerClientAspectSlot.class, PacketClientAspectSlot.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerAspectSlot.class, PacketServerAspectSlot.class, discriminator++ , Side.SERVER );
// Essentia import/export bus
wrapper.registerMessage( HandlerClientEssentiaIOBus.class, PacketClientEssentiaIOBus.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerEssentiaIOBus.class, PacketServerEssentiaIOBus.class, discriminator++ , Side.SERVER );
// Essentia storage bus
wrapper.registerMessage( HandlerClientEssentiaStorageBus.class, PacketClientEssentiaStorageBus.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerEssentiaStorageBus.class, PacketServerEssentiaStorageBus.class, discriminator++ , Side.SERVER );
// Essentia level emitter
wrapper.registerMessage( HandlerClientEssentiaLevelEmitter.class, PacketClientEssentiaEmitter.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerEssentiaLevelEmitter.class, PacketServerEssentiaEmitter.class, discriminator++ , Side.SERVER );
// Essentia terminal
wrapper.registerMessage( HandlerServerEssentiaCellTerminal.class, PacketServerEssentiaCellTerminal.class, discriminator++ , Side.SERVER );
wrapper.registerMessage( HandlerClientEssentiaCellTerminal.class, PacketClientEssentiaCellTerminal.class, discriminator++ , Side.CLIENT );
// Arcane crafting terminal
wrapper.registerMessage( HandlerClientArcaneCraftingTerminal.class, PacketClientArcaneCraftingTerminal.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerArcaneCraftingTerminal.class, PacketServerArcaneCraftingTerminal.class, discriminator++ , Side.SERVER );
// Change GUI
wrapper.registerMessage( HandlerServerChangeGui.class, PacketServerChangeGui.class, discriminator++ , Side.SERVER );
// Priority GUI
wrapper.registerMessage( HandlerClientPriority.class, PacketClientPriority.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerPriority.class, PacketServerPriority.class, discriminator++ , Side.SERVER );
// Essentia cell workbench
wrapper.registerMessage( HandlerServerEssentiaCellWorkbench.class, PacketServerEssentiaCellWorkbench.class, discriminator++ , Side.SERVER );
// Knowledge inscriber
wrapper.registerMessage( HandlerClientKnowledgeInscriber.class, PacketClientKnowledgeInscriber.class, discriminator++ , Side.CLIENT );
wrapper.registerMessage( HandlerServerKnowledgeInscriber.class, PacketServerKnowledgeInscriber.class, discriminator++ , Side.SERVER );
// Particle FX
wrapper.registerMessage( HandlerAreaParticleFX.class, PacketAreaParticleFX.class, discriminator++ , Side.CLIENT );
// Wrench Focus
wrapper.registerMessage( HandlerServerWrenchFocus.class, PacketServerWrenchFocus.class, discriminator++ , Side.SERVER );
// Essentia Vibration Chamber
wrapper.registerMessage( HandlerClientEssentiaVibrationChamber.class, PacketClientEssentiaVibrationChamber.class, discriminator++ ,
Side.CLIENT );
// Confirm crafting
wrapper.registerMessage( HandlerServerConfirmCrafting.class, PacketServerConfirmCraftingJob.class, discriminator++ , Side.SERVER );
}
public static void sendPacketToAllAround( final AbstractPacket packet, final int dimension, final double x, final double y, final double z,
final int range )
{
TargetPoint p = new TargetPoint( dimension, x, y, z, range );
wrapper.sendToAllAround( packet, p );
}
public static void sendPacketToPlayer( final AbstractPacket packet, final EntityPlayer player )
{
wrapper.sendTo( packet, (EntityPlayerMP)player );
}
public static void sendPacketToServer( final AbstractPacket packet )
{
wrapper.sendToServer( packet );
}
}
@@ -0,0 +1,19 @@
package thaumicenergistics.network;
import thaumicenergistics.network.packet.client.WrapperPacket_C;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClient
implements IMessageHandler<WrapperPacket_C, IMessage>
{
@Override
public IMessage onMessage( final WrapperPacket_C message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -0,0 +1,18 @@
package thaumicenergistics.network;
import thaumicenergistics.network.packet.server.WrapperPacket_S;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServer
implements IMessageHandler<WrapperPacket_S, IMessage>
{
@Override
public IMessage onMessage( final WrapperPacket_S message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -0,0 +1,188 @@
package thaumicenergistics.network;
import java.util.HashMap;
import net.minecraft.entity.player.EntityPlayerMP;
import thaumicenergistics.ThaumicEnergistics;
import thaumicenergistics.network.packet.ThEAreaPacket;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEClientPacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.network.packet.WrapperPacket;
import thaumicenergistics.network.packet.client.Packet_C_ArcaneCraftingTerminal;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaCellTerminal;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaEmitter;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaIOBus;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaStorageBus;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaVibrationChamber;
import thaumicenergistics.network.packet.client.Packet_C_KnowledgeInscriber;
import thaumicenergistics.network.packet.client.Packet_C_Priority;
import thaumicenergistics.network.packet.client.Packet_R_ParticleFX;
import thaumicenergistics.network.packet.client.WrapperPacket_C;
import thaumicenergistics.network.packet.server.Packet_S_ArcaneCraftingTerminal;
import thaumicenergistics.network.packet.server.Packet_S_AspectSlot;
import thaumicenergistics.network.packet.server.Packet_S_ChangeGui;
import thaumicenergistics.network.packet.server.Packet_S_ConfirmCraftingJob;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellTerminal;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaCellWorkbench;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaEmitter;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaIOBus;
import thaumicenergistics.network.packet.server.Packet_S_EssentiaStorageBus;
import thaumicenergistics.network.packet.server.Packet_S_KnowledgeInscriber;
import thaumicenergistics.network.packet.server.Packet_S_Priority;
import thaumicenergistics.network.packet.server.Packet_S_WrenchFocus;
import thaumicenergistics.network.packet.server.WrapperPacket_S;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.relauncher.Side;
public class NetworkHandler
{
/**
* Channel used to send packets.
*/
private static SimpleNetworkWrapper channel = NetworkRegistry.INSTANCE.newSimpleChannel( ThaumicEnergistics.MOD_ID );
/**
* Next packet ID.
*/
private static int nextID = 0;
/**
* Maps a class to a unique id.
*/
private static HashMap<Class, Integer> ClassToID = new HashMap<Class, Integer>();
/**
* Maps a unique id to a class.
*/
private static HashMap<Integer, Class> IDToClass = new HashMap<Integer, Class>();
/**
* Registers a packet.
*
* @param packet
*/
private static void registerPacket( final Class<? extends ThEBasePacket> packetClass )
{
NetworkHandler.ClassToID.put( packetClass, NetworkHandler.nextID );
NetworkHandler.IDToClass.put( NetworkHandler.nextID, packetClass );
++NetworkHandler.nextID;
}
/**
* Get's the class for the packet with the specified ID.
*
* @param id
* @return
*/
public static Class getPacketClassFromID( final Integer id )
{
return NetworkHandler.IDToClass.getOrDefault( id, null );
}
/**
* Gets the ID for the specified packet.
*
* @param packet
* @return
*/
public static int getPacketID( final ThEBasePacket packet )
{
return NetworkHandler.ClassToID.getOrDefault( packet.getClass(), -1 );
}
/**
* Registers all packets
*/
public static void registerPackets()
{
// Register channel client side handler
NetworkHandler.channel.registerMessage( HandlerClient.class, WrapperPacket_C.class, 1, Side.CLIENT );
// Register channel server side handler
NetworkHandler.channel.registerMessage( HandlerServer.class, WrapperPacket_S.class, 2, Side.SERVER );
// Aspect slot
registerPacket( Packet_C_AspectSlot.class );
registerPacket( Packet_S_AspectSlot.class );
// Essentia import/export bus
registerPacket( Packet_C_EssentiaIOBus.class );
registerPacket( Packet_S_EssentiaIOBus.class );
// Essentia storage bus
registerPacket( Packet_C_EssentiaStorageBus.class );
registerPacket( Packet_S_EssentiaStorageBus.class );
// Essentia level emitter
registerPacket( Packet_C_EssentiaEmitter.class );
registerPacket( Packet_S_EssentiaEmitter.class );
// Essentia terminal
registerPacket( Packet_C_EssentiaCellTerminal.class );
registerPacket( Packet_S_EssentiaCellTerminal.class );
// Arcane crafting terminal
registerPacket( Packet_C_ArcaneCraftingTerminal.class );
registerPacket( Packet_S_ArcaneCraftingTerminal.class );
// Change GUI
registerPacket( Packet_S_ChangeGui.class );
// Priority GUI
registerPacket( Packet_C_Priority.class );
registerPacket( Packet_S_Priority.class );
// Essentia cell workbench
registerPacket( Packet_S_EssentiaCellWorkbench.class );
// Knowledge inscriber
registerPacket( Packet_C_KnowledgeInscriber.class );
registerPacket( Packet_S_KnowledgeInscriber.class );
// Particle FX
registerPacket( Packet_R_ParticleFX.class );
// Wrench Focus
registerPacket( Packet_S_WrenchFocus.class );
// Essentia Vibration Chamber
registerPacket( Packet_C_EssentiaVibrationChamber.class );
// Confirm crafting
registerPacket( Packet_S_ConfirmCraftingJob.class );
}
public static void sendAreaPacketToClients( final ThEAreaPacket areaPacket, final int range )
{
// Create the wrapper packet
WrapperPacket wrapper = new WrapperPacket_C( areaPacket );
// Create the target point
TargetPoint targetPoint = new TargetPoint( areaPacket.getDimension(), areaPacket.getX(), areaPacket.getY(), areaPacket.getZ(), range );
// Send the packet
NetworkHandler.channel.sendToAllAround( wrapper, targetPoint );
}
public static void sendPacketToClient( final ThEClientPacket clientPacket )
{
// Create the wrapper packet
WrapperPacket wrapper = new WrapperPacket_C( clientPacket );
// Send the packet
NetworkHandler.channel.sendTo( wrapper, (EntityPlayerMP)clientPacket.player );
}
public static void sendPacketToServer( final ThEServerPacket serverPacket )
{
// Create the wrapper packet
WrapperPacket wrapper = new WrapperPacket_S( serverPacket );
// Send the packet
NetworkHandler.channel.sendToServer( wrapper );
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketAreaParticleFX;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerAreaParticleFX
implements IMessageHandler<PacketAreaParticleFX, IMessage>
{
@Override
public IMessage onMessage( final PacketAreaParticleFX message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientAspectSlot
implements IMessageHandler<PacketClientAspectSlot, IMessage>
{
@Override
public IMessage onMessage( final PacketClientAspectSlot message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientEssentiaCellTerminal;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientEssentiaCellTerminal
implements IMessageHandler<PacketClientEssentiaCellTerminal, IMessage>
{
@Override
public IMessage onMessage( final PacketClientEssentiaCellTerminal message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientEssentiaStorageBus;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientEssentiaStorageBus
implements IMessageHandler<PacketClientEssentiaStorageBus, IMessage>
{
@Override
public IMessage onMessage( final PacketClientEssentiaStorageBus message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientEssentiaVibrationChamber;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientEssentiaVibrationChamber
implements IMessageHandler<PacketClientEssentiaVibrationChamber, IMessage>
{
@Override
public IMessage onMessage( final PacketClientEssentiaVibrationChamber message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientKnowledgeInscriber;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientKnowledgeInscriber
implements IMessageHandler<PacketClientKnowledgeInscriber, IMessage>
{
@Override
public IMessage onMessage( final PacketClientKnowledgeInscriber message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.client.PacketClientPriority;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientPriority
implements IMessageHandler<PacketClientPriority, IMessage>
{
@Override
public IMessage onMessage( final PacketClientPriority message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerAspectSlot;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerAspectSlot
implements IMessageHandler<PacketServerAspectSlot, IMessage>
{
@Override
public IMessage onMessage( final PacketServerAspectSlot message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerChangeGui;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerChangeGui
implements IMessageHandler<PacketServerChangeGui, IMessage>
{
@Override
public IMessage onMessage( final PacketServerChangeGui message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerConfirmCraftingJob;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerConfirmCrafting
implements IMessageHandler<PacketServerConfirmCraftingJob, IMessage>
{
@Override
public IMessage onMessage( final PacketServerConfirmCraftingJob message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellTerminal;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerEssentiaCellTerminal
implements IMessageHandler<PacketServerEssentiaCellTerminal, IMessage>
{
@Override
public IMessage onMessage( final PacketServerEssentiaCellTerminal message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,18 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerEssentiaCellWorkbench;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerEssentiaCellWorkbench
implements IMessageHandler<PacketServerEssentiaCellWorkbench, IMessage>
{
@Override
public IMessage onMessage( final PacketServerEssentiaCellWorkbench message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerKnowledgeInscriber;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerKnowledgeInscriber
implements IMessageHandler<PacketServerKnowledgeInscriber, IMessage>
{
@Override
public IMessage onMessage( final PacketServerKnowledgeInscriber message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerPriority;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerPriority
implements IMessageHandler<PacketServerPriority, IMessage>
{
@Override
public IMessage onMessage( final PacketServerPriority message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers;
import thaumicenergistics.network.packet.server.PacketServerWrenchFocus;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerWrenchFocus
implements IMessageHandler<PacketServerWrenchFocus, IMessage>
{
@Override
public IMessage onMessage( final PacketServerWrenchFocus message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.client.PacketClientArcaneCraftingTerminal;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientArcaneCraftingTerminal
implements IMessageHandler<PacketClientArcaneCraftingTerminal, IMessage>
{
@Override
public IMessage onMessage( final PacketClientArcaneCraftingTerminal message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.client.PacketClientEssentiaIOBus;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientEssentiaIOBus
implements IMessageHandler<PacketClientEssentiaIOBus, IMessage>
{
@Override
public IMessage onMessage( final PacketClientEssentiaIOBus message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.client.PacketClientEssentiaEmitter;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerClientEssentiaLevelEmitter
implements IMessageHandler<PacketClientEssentiaEmitter, IMessage>
{
@Override
public IMessage onMessage( final PacketClientEssentiaEmitter message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.server.PacketServerArcaneCraftingTerminal;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerArcaneCraftingTerminal
implements IMessageHandler<PacketServerArcaneCraftingTerminal, IMessage>
{
@Override
public IMessage onMessage( final PacketServerArcaneCraftingTerminal message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.server.PacketServerEssentiaIOBus;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerEssentiaIOBus
implements IMessageHandler<PacketServerEssentiaIOBus, IMessage>
{
@Override
public IMessage onMessage( final PacketServerEssentiaIOBus message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.server.PacketServerEssentiaEmitter;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerEssentiaLevelEmitter
implements IMessageHandler<PacketServerEssentiaEmitter, IMessage>
{
@Override
public IMessage onMessage( final PacketServerEssentiaEmitter message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,19 +0,0 @@
package thaumicenergistics.network.handlers.part;
import thaumicenergistics.network.packet.server.PacketServerEssentiaStorageBus;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class HandlerServerEssentiaStorageBus
implements IMessageHandler<PacketServerEssentiaStorageBus, IMessage>
{
@Override
public IMessage onMessage( final PacketServerEssentiaStorageBus message, final MessageContext ctx )
{
message.execute();
return null;
}
}
@@ -1,21 +0,0 @@
package thaumicenergistics.network.packet;
import thaumicenergistics.network.ChannelHandler;
/**
* Packet to be sent to the server.
*
* @author Nividica
*
*/
public abstract class AbstractServerPacket
extends AbstractPacket
{
/**
* Send this packet to the server.
*/
public void sendPacketToServer()
{
ChannelHandler.sendPacketToServer( this );
}
}
@@ -2,14 +2,12 @@ package thaumicenergistics.network.packet;
import io.netty.buffer.ByteBuf;
import net.minecraft.world.World;
import thaumicenergistics.network.ChannelHandler;
import thaumicenergistics.util.EffectiveSide;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public abstract class AbstractAreaPacket
extends AbstractPacket
public abstract class ThEAreaPacket
extends ThEClientPacket
{
/**
@@ -46,31 +44,34 @@ public abstract class AbstractAreaPacket
stream.writeFloat( this.targetZ );
}
@Override
public final void execute()
{
// Ensure this is client side
if( EffectiveSide.isClientSide() )
{
this.setClientWorld();
this.wrappedExecute();
}
}
/**
* Sends the packet to all players within range
*
* @param dimension
* @param x
* @param y
* @param z
* @param range
*/
public void sendToAllAround( final int range )
{
ChannelHandler.sendPacketToAllAround( this, this.targetWorld.provider.dimensionId, this.targetX, this.targetY, this.targetZ, range );
}
@SideOnly(Side.CLIENT)
public abstract void wrappedExecute();
public abstract void areaExecute();
public int getDimension()
{
return this.targetWorld.provider.dimensionId;
}
public float getX()
{
return this.targetX;
}
public float getY()
{
return this.targetY;
}
public float getZ()
{
return this.targetZ;
}
@Override
@SideOnly(Side.CLIENT)
public final void wrappedExecute()
{
this.setClientWorld();
this.areaExecute();
}
}
@@ -33,7 +33,7 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Nividica
*
*/
public abstract class AbstractPacket
public abstract class ThEBasePacket
implements IMessage
{
/**
@@ -59,7 +59,7 @@ public abstract class AbstractPacket
/**
* Creates an empty packet (called from the netty core)
*/
public AbstractPacket()
public ThEBasePacket()
{
this.player = null;
this.mode = -1;
@@ -121,7 +121,7 @@ public abstract class AbstractPacket
{
ForgeDirection side = ForgeDirection.getOrientation( stream.readInt() );
IPartHost host = (IPartHost)AbstractPacket.readTileEntity( stream );
IPartHost host = (IPartHost)ThEBasePacket.readTileEntity( stream );
return (AbstractAEPartBase)host.getPart( side );
}
@@ -168,7 +168,7 @@ public abstract class AbstractPacket
*/
protected static TileEntity readTileEntity( final ByteBuf stream )
{
World world = AbstractPacket.readWorld( stream );
World world = ThEBasePacket.readWorld( stream );
return world.getTileEntity( stream.readInt(), stream.readInt(), stream.readInt() );
}
@@ -340,7 +340,7 @@ public abstract class AbstractPacket
private void fromCompressedBytes( final ByteBuf packetStream )
{
// Create a new data stream
ByteBuf decompressedStream = Unpooled.buffer( AbstractPacket.COMPRESSED_BUFFER_SIZE );
ByteBuf decompressedStream = Unpooled.buffer( ThEBasePacket.COMPRESSED_BUFFER_SIZE );
GZIPInputStream decompressor = null;
try
@@ -416,7 +416,7 @@ public abstract class AbstractPacket
private void toCompressedBytes( final ByteBuf packetStream )
{
// Create a new data stream
ByteBuf streamToCompress = Unpooled.buffer( AbstractPacket.COMPRESSED_BUFFER_SIZE );
ByteBuf streamToCompress = Unpooled.buffer( ThEBasePacket.COMPRESSED_BUFFER_SIZE );
// Pass to subclass
this.writeData( streamToCompress );
@@ -490,7 +490,7 @@ public abstract class AbstractPacket
public void fromBytes( final ByteBuf stream )
{
this.mode = stream.readByte();
this.player = AbstractPacket.readPlayer( stream );
this.player = ThEBasePacket.readPlayer( stream );
this.useCompression = stream.readBoolean();
// Is there a compressed substream?
@@ -515,7 +515,7 @@ public abstract class AbstractPacket
stream.writeByte( this.mode );
// Write the player
AbstractPacket.writePlayer( this.player, stream );
ThEBasePacket.writePlayer( this.player, stream );
// Write if there is a compressed sub-stream.
stream.writeBoolean( this.useCompression );
@@ -1,6 +1,5 @@
package thaumicenergistics.network.packet;
import thaumicenergistics.network.ChannelHandler;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -11,8 +10,8 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author Nividica
*
*/
public abstract class AbstractClientPacket
extends AbstractPacket
public abstract class ThEClientPacket
extends ThEBasePacket
{
@SideOnly(Side.CLIENT)
protected abstract void wrappedExecute();
@@ -32,14 +31,4 @@ public abstract class AbstractClientPacket
this.wrappedExecute();
}
}
/**
* Send this packet to the player.
*
* @param player
*/
public void sendPacketToPlayer()
{
ChannelHandler.sendPacketToPlayer( this, this.player );
}
}
@@ -0,0 +1,14 @@
package thaumicenergistics.network.packet;
/**
* Packet to be sent to the server.
*
* @author Nividica
*
*/
public abstract class ThEServerPacket
extends ThEBasePacket
{
}
@@ -0,0 +1,86 @@
package thaumicenergistics.network.packet;
import io.netty.buffer.ByteBuf;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.util.ThELog;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
public abstract class WrapperPacket
implements IMessage
{
private ThEBasePacket embeddedPacket;
/**
* Required.
*/
public WrapperPacket()
{
}
public WrapperPacket( final ThEBasePacket packet )
{
this.embeddedPacket = packet;
}
public void execute()
{
if( this.embeddedPacket != null )
{
this.embeddedPacket.execute();
}
}
@Override
public void fromBytes( final ByteBuf stream )
{
// Read the id
int id = stream.readInt();
if( id == -1 )
{
// Invalid packet
ThELog.warning( "Invalid packet ID detected" );
return;
}
// Get the class for that id
Class epClass = NetworkHandler.getPacketClassFromID( id );
if( epClass == null )
{
return;
}
// Construct the class
try
{
this.embeddedPacket = (ThEBasePacket)epClass.newInstance();
// Pass to packet
this.embeddedPacket.fromBytes( stream );
}
catch( Exception e )
{
// Packet did not have default constructor
ThELog.warning( "Unable to construct packet %s", epClass.getCanonicalName() );
}
}
@Override
public void toBytes( final ByteBuf stream )
{
if( this.embeddedPacket != null )
{
// Write the id
int id = NetworkHandler.getPacketID( this.embeddedPacket );
stream.writeInt( id );
// Call embedded
this.embeddedPacket.toBytes( stream );
}
else
{
// Write -1
stream.writeInt( -1 );
}
}
}
@@ -1,183 +0,0 @@
package thaumicenergistics.network.packet.client;
import io.netty.buffer.ByteBuf;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.aspect.AspectStack;
import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.gui.GuiEssentiaCellTerminal;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.packet.AbstractPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientEssentiaCellTerminal
extends AbstractClientPacket
{
private static final byte MODE_FULL_LIST = 0;
private static final byte MODE_SELECTED_ASPECT = 1;
private static final byte MODE_SORT_MODE_CHANGED = 2;
private static final byte MODE_LIST_CHANGED = 3;
private List<AspectStack> aspectStackList;
private Aspect selectedAspect;
private ComparatorMode sortMode;
private AspectStack change;
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
{
Gui gui = Minecraft.getMinecraft().currentScreen;
if( gui instanceof GuiEssentiaCellTerminal )
{
switch ( this.mode )
{
case PacketClientEssentiaCellTerminal.MODE_FULL_LIST:
( (GuiEssentiaCellTerminal)gui ).onReceiveAspectList( this.aspectStackList );
break;
case PacketClientEssentiaCellTerminal.MODE_SELECTED_ASPECT:
( (GuiEssentiaCellTerminal)gui ).onReceiveSelectedAspect( this.selectedAspect );
break;
case PacketClientEssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Update the sorting mode
( (GuiEssentiaCellTerminal)gui ).onSortModeChanged( this.sortMode );
break;
case PacketClientEssentiaCellTerminal.MODE_LIST_CHANGED:
// Update the list
( (GuiEssentiaCellTerminal)gui ).onReceiveAspectListChange( this.change );
break;
}
}
}
public PacketClientEssentiaCellTerminal createListChanged( final EntityPlayer player, final AspectStack change )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaCellTerminal.MODE_LIST_CHANGED;
// Set the change
this.change = change;
return this;
}
public PacketClientEssentiaCellTerminal createSelectedAspectUpdate( final EntityPlayer player, final Aspect selectedAspect )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaCellTerminal.MODE_SELECTED_ASPECT;
// Set the selected aspect
this.selectedAspect = selectedAspect;
return this;
}
public PacketClientEssentiaCellTerminal createSortModeUpdate( final EntityPlayer player, final ComparatorMode sortMode )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaCellTerminal.MODE_SORT_MODE_CHANGED;
// Set the sort mode
this.sortMode = sortMode;
return this;
}
public PacketClientEssentiaCellTerminal createUpdateFullList( final EntityPlayer player, final List<AspectStack> list )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaCellTerminal.MODE_FULL_LIST;
// Mark to use compression
this.useCompression = true;
// Set the list
this.aspectStackList = list;
return this;
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientEssentiaCellTerminal.MODE_FULL_LIST:
this.aspectStackList = new ArrayList<AspectStack>();
while( stream.readableBytes() > 0 )
{
this.aspectStackList.add( new AspectStack( AbstractPacket.readAspect( stream ), stream.readLong() ) );
}
break;
case PacketClientEssentiaCellTerminal.MODE_SELECTED_ASPECT:
this.selectedAspect = AbstractPacket.readAspect( stream );
break;
case PacketClientEssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Read the mode ordinal
this.sortMode = ComparatorMode.VALUES[stream.readInt()];
break;
case PacketClientEssentiaCellTerminal.MODE_LIST_CHANGED:
// Read the stack
this.change = new AspectStack( AbstractPacket.readAspect( stream ), stream.readLong() );
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientEssentiaCellTerminal.MODE_FULL_LIST:
for( AspectStack stack : this.aspectStackList )
{
AbstractPacket.writeAspect( stack.aspect, stream );
stream.writeLong( stack.stackSize );
}
break;
case PacketClientEssentiaCellTerminal.MODE_SELECTED_ASPECT:
AbstractPacket.writeAspect( this.selectedAspect, stream );
break;
case PacketClientEssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Write the mode ordinal
stream.writeInt( this.sortMode.ordinal() );
break;
case PacketClientEssentiaCellTerminal.MODE_LIST_CHANGED:
// Write the aspect
AbstractPacket.writeAspect( this.change.aspect, stream );
// Write the amount
stream.writeLong( this.change.stackSize );
}
}
}
@@ -6,8 +6,9 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.gui.GuiArcaneCraftingTerminal;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEClientPacket;
import thaumicenergistics.registries.EnumCache;
import appeng.api.AEApi;
import appeng.api.config.SortDir;
@@ -18,13 +19,16 @@ import appeng.api.storage.data.IItemList;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientArcaneCraftingTerminal
extends AbstractClientPacket
public class Packet_C_ArcaneCraftingTerminal
extends ThEClientPacket
{
/**
* Packet modes
*/
private static final byte MODE_RECEIVE_CHANGE = 0, MODE_RECEIVE_FULL_LIST = 1, MODE_RECEIVE_PLAYER_HOLDING = 2, MODE_RECEIVE_SORTS = 3,
private static final byte MODE_RECEIVE_CHANGE = 0,
MODE_RECEIVE_FULL_LIST = 1,
MODE_RECEIVE_PLAYER_HOLDING = 2,
MODE_RECEIVE_SORTS = 3,
MODE_UPDATE_COSTS = 4;
private IAEItemStack changedStack;
@@ -34,6 +38,124 @@ public class PacketClientArcaneCraftingTerminal
private SortDir sortingDirection;
private ViewItems viewMode;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_C_ArcaneCraftingTerminal newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = new Packet_C_ArcaneCraftingTerminal();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
/**
* Creates a packet with the full list of items in the AE network.
* Only send in response to a request.
*
* @param player
* @param fullList
*/
public static void sendAllNetworkItems( final EntityPlayer player, final IItemList<IAEItemStack> fullList )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = newPacket( player, Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST );
// Enable compression
packet.useCompression = true;
// Set the full list
packet.fullList = fullList;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Creates a packet with an update to the sorting order and direction.
*
* @param player
* @param order
* @param direction
* @return
*/
public static void sendModeChange( final EntityPlayer player, final SortOrder order, final SortDir direction,
final ViewItems viewMode )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = newPacket( player, Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_SORTS );
// Set the sorts
packet.sortingDirection = direction;
packet.sortingOrder = order;
packet.viewMode = viewMode;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Creates a packet with an update to what itemstack the player is holding.
*
* @param player
* @param heldItem
* @return
*/
public static void setPlayerHeldItem( final EntityPlayer player, final IAEItemStack heldItem )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = newPacket( player, Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING );
// Set the held item
packet.changedStack = heldItem;
// Is the player holding anything?
packet.isHeldEmpty = ( heldItem == null );
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Creates a packet with a changed network stack amount
*
* @param player
* @param change
*/
public static void stackAmountChanged( final EntityPlayer player, final IAEItemStack change )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = newPacket( player, Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_CHANGE );
// Set the change
packet.changedStack = change;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Forces the client to re-calculate the displayed aspect costs
*
* @return
*/
public static void updateAspectCost( final EntityPlayer player )
{
// Create the packet
Packet_C_ArcaneCraftingTerminal packet = newPacket( player, Packet_C_ArcaneCraftingTerminal.MODE_UPDATE_COSTS );
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
@@ -46,148 +168,39 @@ public class PacketClientArcaneCraftingTerminal
{
switch ( this.mode )
{
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
// Set the item list
( (GuiArcaneCraftingTerminal)gui ).onReceiveFullList( this.fullList );
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
// Update the item list
( (GuiArcaneCraftingTerminal)gui ).onReceiveChange( this.changedStack );
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
// Set the held item
( (GuiArcaneCraftingTerminal)gui ).onReceivePlayerHeld( this.changedStack );
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
( (GuiArcaneCraftingTerminal)gui ).onReceiveSorting( this.sortingOrder, this.sortingDirection, this.viewMode );
break;
case PacketClientArcaneCraftingTerminal.MODE_UPDATE_COSTS:
case Packet_C_ArcaneCraftingTerminal.MODE_UPDATE_COSTS:
( (GuiArcaneCraftingTerminal)gui ).onServerSendForceUpdateCost();
break;
}
}
}
/**
* Creates a packet with a changed network stack amount
*
* @param player
* @param change
*/
public PacketClientArcaneCraftingTerminal createChangeUpdate( final EntityPlayer player, final IAEItemStack change )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientArcaneCraftingTerminal.MODE_RECEIVE_CHANGE;
// Set the change
this.changedStack = change;
return this;
}
/**
* Creates a packet with the full list of items in the AE network.
* Only send in response to a request.
*
* @param player
* @param fullList
*/
public PacketClientArcaneCraftingTerminal createFullListUpdate( final EntityPlayer player, final IItemList<IAEItemStack> fullList )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST;
// Enable compression
this.useCompression = true;
// Set the full list
this.fullList = fullList;
return this;
}
/**
* Creates a packet with an update to what itemstack the player is holding.
*
* @param player
* @param heldItem
* @return
*/
public PacketClientArcaneCraftingTerminal createPlayerHoldingUpdate( final EntityPlayer player, final IAEItemStack heldItem )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING;
// Set the held item
this.changedStack = heldItem;
// Is the player holding anything?
this.isHeldEmpty = ( heldItem == null );
return this;
}
/**
* Creates a packet with an update to the sorting order and direction.
*
* @param player
* @param order
* @param direction
* @return
*/
public PacketClientArcaneCraftingTerminal createSortingUpdate( final EntityPlayer player, final SortOrder order, final SortDir direction,
final ViewItems viewMode )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientArcaneCraftingTerminal.MODE_RECEIVE_SORTS;
// Set the sorts
this.sortingDirection = direction;
this.sortingOrder = order;
this.viewMode = viewMode;
return this;
}
/**
* Forces the client to re-calculate the displayed aspect costs
*
* @return
*/
public PacketClientArcaneCraftingTerminal createUpdateAspectCost( final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientArcaneCraftingTerminal.MODE_UPDATE_COSTS;
return this;
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
// Create a new list
this.fullList = AEApi.instance().storage().createItemList();
@@ -203,7 +216,7 @@ public class PacketClientArcaneCraftingTerminal
}
// Read the itemstack
IAEItemStack itemStack = AbstractPacket.readAEItemStack( stream );
IAEItemStack itemStack = ThEBasePacket.readAEItemStack( stream );
// Ensure it is not null
if( itemStack != null )
@@ -214,26 +227,26 @@ public class PacketClientArcaneCraftingTerminal
}
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
// Read the change amount
int changeAmount = stream.readInt();
// Read the item
this.changedStack = AbstractPacket.readAEItemStack( stream );
this.changedStack = ThEBasePacket.readAEItemStack( stream );
// Adjust it's size
this.changedStack.setStackSize( changeAmount );
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
// Read if the itemstack is empty
this.isHeldEmpty = stream.readBoolean();
// Is it not empty?
if( !this.isHeldEmpty )
{
this.changedStack = AbstractPacket.readAEItemStack( stream );
this.changedStack = ThEBasePacket.readAEItemStack( stream );
}
else
{
@@ -241,7 +254,7 @@ public class PacketClientArcaneCraftingTerminal
}
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
// Read sorts
this.sortingDirection = EnumCache.AE_SORT_DIRECTIONS[stream.readInt()];
this.sortingOrder = EnumCache.AE_SORT_ORDERS[stream.readInt()];
@@ -255,7 +268,7 @@ public class PacketClientArcaneCraftingTerminal
{
switch ( this.mode )
{
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_FULL_LIST:
// Is the list null?
if( this.fullList == null )
{
@@ -273,19 +286,19 @@ public class PacketClientArcaneCraftingTerminal
// Write each item
while( listIterator.hasNext() )
{
AbstractPacket.writeAEItemStack( listIterator.next(), stream );
ThEBasePacket.writeAEItemStack( listIterator.next(), stream );
}
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_CHANGE:
// Write the change amount
stream.writeInt( (int)this.changedStack.getStackSize() );
// Write the change
AbstractPacket.writeAEItemStack( this.changedStack, stream );
ThEBasePacket.writeAEItemStack( this.changedStack, stream );
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_PLAYER_HOLDING:
// Write if the held item is empty
stream.writeBoolean( this.isHeldEmpty );
@@ -293,12 +306,12 @@ public class PacketClientArcaneCraftingTerminal
if( !this.isHeldEmpty )
{
// Write the stack
AbstractPacket.writeAEItemStack( this.changedStack, stream );
ThEBasePacket.writeAEItemStack( this.changedStack, stream );
}
break;
case PacketClientArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
case Packet_C_ArcaneCraftingTerminal.MODE_RECEIVE_SORTS:
// Write the sorts
stream.writeInt( this.sortingDirection.ordinal() );
stream.writeInt( this.sortingOrder.ordinal() );
@@ -8,18 +8,39 @@ import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.IAspectSlotGui;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientAspectSlot
extends AbstractClientPacket
public class Packet_C_AspectSlot
extends ThEClientPacket
{
private static final byte MODE_LIST_UPDATE = 0;
private List<Aspect> filterAspects;
public static void setFilterList( final List<Aspect> filterAspects, final EntityPlayer player )
{
Packet_C_AspectSlot packet = new Packet_C_AspectSlot();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_C_AspectSlot.MODE_LIST_UPDATE;
// Mark to use compression
packet.useCompression = true;
// Set the list
packet.filterAspects = filterAspects;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
@@ -35,36 +56,19 @@ public class PacketClientAspectSlot
switch ( this.mode )
{
case PacketClientAspectSlot.MODE_LIST_UPDATE:
case Packet_C_AspectSlot.MODE_LIST_UPDATE:
( (IAspectSlotGui)gui ).updateAspects( this.filterAspects );
break;
}
}
public PacketClientAspectSlot createFilterListUpdate( final List<Aspect> filterAspects, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientAspectSlot.MODE_LIST_UPDATE;
// Mark to use compression
this.useCompression = true;
// Set the list
this.filterAspects = filterAspects;
return this;
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientAspectSlot.MODE_LIST_UPDATE:
case Packet_C_AspectSlot.MODE_LIST_UPDATE:
// Read the size
int size = stream.readInt();
@@ -74,7 +78,7 @@ public class PacketClientAspectSlot
// Read each aspect
for( int i = 0; i < size; i++ )
{
this.filterAspects.add( AbstractPacket.readAspect( stream ) );
this.filterAspects.add( ThEBasePacket.readAspect( stream ) );
}
break;
}
@@ -85,14 +89,14 @@ public class PacketClientAspectSlot
{
switch ( this.mode )
{
case PacketClientAspectSlot.MODE_LIST_UPDATE:
case Packet_C_AspectSlot.MODE_LIST_UPDATE:
// Write the size of the list
stream.writeInt( this.filterAspects.size() );
// Write each aspect
for( int index = 0; index < this.filterAspects.size(); index++ )
{
AbstractPacket.writeAspect( this.filterAspects.get( index ), stream );
ThEBasePacket.writeAspect( this.filterAspects.get( index ), stream );
}
break;
}
@@ -0,0 +1,216 @@
package thaumicenergistics.network.packet.client;
import io.netty.buffer.ByteBuf;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.aspect.AspectStack;
import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.gui.GuiEssentiaCellTerminal;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class Packet_C_EssentiaCellTerminal
extends ThEClientPacket
{
private static final byte MODE_FULL_LIST = 0;
private static final byte MODE_SELECTED_ASPECT = 1;
private static final byte MODE_SORT_MODE_CHANGED = 2;
private static final byte MODE_LIST_CHANGED = 3;
private List<AspectStack> aspectStackList;
private Aspect selectedAspect;
private ComparatorMode sortMode;
private AspectStack change;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_C_EssentiaCellTerminal newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_C_EssentiaCellTerminal packet = new Packet_C_EssentiaCellTerminal();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
/**
* Called to send the full list of aspects.
*
* @param player
* @param list
*/
public static void sendFullList( final EntityPlayer player, final List<AspectStack> list )
{
Packet_C_EssentiaCellTerminal packet = newPacket( player, MODE_FULL_LIST );
// Set the player
// Mark to use compression
packet.useCompression = true;
// Set the list
packet.aspectStackList = list;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Called when an aspect amount changes.
*
* @param player
* @param change
*/
public static void setAspectAmount( final EntityPlayer player, final AspectStack change )
{
Packet_C_EssentiaCellTerminal packet = newPacket( player, MODE_LIST_CHANGED );
// Set the change
packet.change = change;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Called when the selected aspect changes.
*
* @param player
* @param selectedAspect
*/
public static void setSelectedAspect( final EntityPlayer player, final Aspect selectedAspect )
{
Packet_C_EssentiaCellTerminal packet = newPacket( player, MODE_SELECTED_ASPECT );
// Set the selected aspect
packet.selectedAspect = selectedAspect;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Sends the sorting mode.
*
* @param player
* @param sortMode
*/
public static void setSortMode( final EntityPlayer player, final ComparatorMode sortMode )
{
Packet_C_EssentiaCellTerminal packet = newPacket( player, MODE_SORT_MODE_CHANGED );
// Set the sort mode
packet.sortMode = sortMode;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
{
Gui gui = Minecraft.getMinecraft().currentScreen;
if( gui instanceof GuiEssentiaCellTerminal )
{
switch ( this.mode )
{
case Packet_C_EssentiaCellTerminal.MODE_FULL_LIST:
( (GuiEssentiaCellTerminal)gui ).onReceiveAspectList( this.aspectStackList );
break;
case Packet_C_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
( (GuiEssentiaCellTerminal)gui ).onReceiveSelectedAspect( this.selectedAspect );
break;
case Packet_C_EssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Update the sorting mode
( (GuiEssentiaCellTerminal)gui ).onSortModeChanged( this.sortMode );
break;
case Packet_C_EssentiaCellTerminal.MODE_LIST_CHANGED:
// Update the list
( (GuiEssentiaCellTerminal)gui ).onReceiveAspectListChange( this.change );
break;
}
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_C_EssentiaCellTerminal.MODE_FULL_LIST:
this.aspectStackList = new ArrayList<AspectStack>();
while( stream.readableBytes() > 0 )
{
this.aspectStackList.add( new AspectStack( ThEBasePacket.readAspect( stream ), stream.readLong() ) );
}
break;
case Packet_C_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
this.selectedAspect = ThEBasePacket.readAspect( stream );
break;
case Packet_C_EssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Read the mode ordinal
this.sortMode = ComparatorMode.VALUES[stream.readInt()];
break;
case Packet_C_EssentiaCellTerminal.MODE_LIST_CHANGED:
// Read the stack
this.change = new AspectStack( ThEBasePacket.readAspect( stream ), stream.readLong() );
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_C_EssentiaCellTerminal.MODE_FULL_LIST:
for( AspectStack stack : this.aspectStackList )
{
ThEBasePacket.writeAspect( stack.aspect, stream );
stream.writeLong( stack.stackSize );
}
break;
case Packet_C_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
ThEBasePacket.writeAspect( this.selectedAspect, stream );
break;
case Packet_C_EssentiaCellTerminal.MODE_SORT_MODE_CHANGED:
// Write the mode ordinal
stream.writeInt( this.sortMode.ordinal() );
break;
case Packet_C_EssentiaCellTerminal.MODE_LIST_CHANGED:
// Write the aspect
ThEBasePacket.writeAspect( this.change.aspect, stream );
// Write the amount
stream.writeLong( this.change.stackSize );
}
}
}
@@ -5,14 +5,15 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.gui.GuiEssentiaLevelEmitter;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import thaumicenergistics.registries.EnumCache;
import appeng.api.config.RedstoneMode;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientEssentiaEmitter
extends AbstractClientPacket
public class Packet_C_EssentiaEmitter
extends ThEClientPacket
{
private static final byte MODE_FULL_UPDATE = 0;
@@ -24,6 +25,76 @@ public class PacketClientEssentiaEmitter
private long wantedAmount;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_C_EssentiaEmitter newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_C_EssentiaEmitter packet = new Packet_C_EssentiaEmitter();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
/**
* Creates a packet containing the emitter state.
*
* @param redstoneMode
* @param wantedAmount
* @param player
* @return
*/
public static void sendEmitterState( final RedstoneMode redstoneMode, final long wantedAmount, final EntityPlayer player )
{
Packet_C_EssentiaEmitter packet = newPacket( player, MODE_FULL_UPDATE );
// Set the redstone mode
packet.redstoneMode = redstoneMode;
// Set the wanted amount
packet.wantedAmount = wantedAmount;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
public static void sendRedstoneMode( final RedstoneMode redstoneMode, final EntityPlayer player )
{
Packet_C_EssentiaEmitter packet = newPacket( player, MODE_UPDATE_REDSTONE );
// Set the redstone mode
packet.redstoneMode = redstoneMode;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Create a packet to update a client with a new wanted amount.
*
* @param wantedAmount
* @param player
* @return
*/
public static void setWantedAmount( final long wantedAmount, final EntityPlayer player )
{
Packet_C_EssentiaEmitter packet = newPacket( player, MODE_UPDATE_WANTED );
// Set the wanted amount
packet.wantedAmount = wantedAmount;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
@@ -37,18 +108,18 @@ public class PacketClientEssentiaEmitter
switch ( this.mode )
{
case PacketClientEssentiaEmitter.MODE_FULL_UPDATE:
case Packet_C_EssentiaEmitter.MODE_FULL_UPDATE:
// Full update
( (GuiEssentiaLevelEmitter)gui ).onServerUpdateWantedAmount( this.wantedAmount );
( (GuiEssentiaLevelEmitter)gui ).onServerUpdateRedstoneMode( this.redstoneMode );
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_WANTED:
case Packet_C_EssentiaEmitter.MODE_UPDATE_WANTED:
// Update wanted amount
( (GuiEssentiaLevelEmitter)gui ).onServerUpdateWantedAmount( this.wantedAmount );
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_REDSTONE:
case Packet_C_EssentiaEmitter.MODE_UPDATE_REDSTONE:
// Update redstone mode
( (GuiEssentiaLevelEmitter)gui ).onServerUpdateRedstoneMode( this.redstoneMode );
break;
@@ -56,72 +127,12 @@ public class PacketClientEssentiaEmitter
}
}
/**
* Creates a packet containing the emitter state.
*
* @param redstoneMode
* @param wantedAmount
* @param player
* @return
*/
public PacketClientEssentiaEmitter createFullUpdate( final RedstoneMode redstoneMode, final long wantedAmount, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaEmitter.MODE_FULL_UPDATE;
// Set the redstone mode
this.redstoneMode = redstoneMode;
// Set the wanted amount
this.wantedAmount = wantedAmount;
return this;
}
public PacketClientEssentiaEmitter createRedstoneModeUpdate( final RedstoneMode redstoneMode, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaEmitter.MODE_UPDATE_REDSTONE;
// Set the redstone mode
this.redstoneMode = redstoneMode;
return this;
}
/**
* Create a packet to update a client with a new wanted amount.
*
* @param wantedAmount
* @param player
* @return
*/
public PacketClientEssentiaEmitter createWantedAmountUpdate( final long wantedAmount, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaEmitter.MODE_UPDATE_WANTED;
// Set the wanted amount
this.wantedAmount = wantedAmount;
return this;
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientEssentiaEmitter.MODE_FULL_UPDATE:
case Packet_C_EssentiaEmitter.MODE_FULL_UPDATE:
// Read the redstone mode ordinal
this.redstoneMode = EnumCache.AE_REDSTONE_MODES[stream.readInt()];
@@ -129,12 +140,12 @@ public class PacketClientEssentiaEmitter
this.wantedAmount = stream.readLong();
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_WANTED:
case Packet_C_EssentiaEmitter.MODE_UPDATE_WANTED:
// Read the wanted amount
this.wantedAmount = stream.readLong();
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_REDSTONE:
case Packet_C_EssentiaEmitter.MODE_UPDATE_REDSTONE:
// Read the redstone mode ordinal
this.redstoneMode = EnumCache.AE_REDSTONE_MODES[stream.readInt()];
break;
@@ -146,7 +157,7 @@ public class PacketClientEssentiaEmitter
{
switch ( this.mode )
{
case PacketClientEssentiaEmitter.MODE_FULL_UPDATE:
case Packet_C_EssentiaEmitter.MODE_FULL_UPDATE:
// Write the redstone mode ordinal
stream.writeInt( this.redstoneMode.ordinal() );
@@ -154,12 +165,12 @@ public class PacketClientEssentiaEmitter
stream.writeLong( this.wantedAmount );
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_WANTED:
case Packet_C_EssentiaEmitter.MODE_UPDATE_WANTED:
// Write the wanted amount
stream.writeLong( this.wantedAmount );
break;
case PacketClientEssentiaEmitter.MODE_UPDATE_REDSTONE:
case Packet_C_EssentiaEmitter.MODE_UPDATE_REDSTONE:
// Write the redstone mode ordinal
stream.writeInt( this.redstoneMode.ordinal() );
@@ -5,14 +5,15 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.gui.GuiEssentiaIO;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import thaumicenergistics.registries.EnumCache;
import appeng.api.config.RedstoneMode;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientEssentiaIOBus
extends AbstractClientPacket
public class Packet_C_EssentiaIOBus
extends ThEClientPacket
{
private static final byte MODE_SET_REDSTONE_CONTROLLED = 0, MODE_SET_REDSTONE_MODE = 1, MODE_SET_FILTER_SIZE = 2, MODE_SEND_FULL_UPDATE = 3,
MODE_SEND_VOID_MODE = 4;
@@ -23,6 +24,116 @@ public class PacketClientEssentiaIOBus
private boolean redstoneControlled, isVoidAllowed;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_C_EssentiaIOBus newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_C_EssentiaIOBus packet = new Packet_C_EssentiaIOBus();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
public static void sendBusState( final EntityPlayer player, final RedstoneMode redstoneMode, final byte filterSize,
final boolean redstoneControlled )
{
Packet_C_EssentiaIOBus packet = newPacket( player, MODE_SEND_FULL_UPDATE );
// Set the redstone mode
packet.redstoneMode = redstoneMode;
// Set the filter size
packet.filterSize = filterSize;
// Set controlled
packet.redstoneControlled = redstoneControlled;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Create a packet to update the clients filter size.
*
* @param player
* @param filterSize
* @return
*/
public static void sendFilterSize( final EntityPlayer player, final byte filterSize )
{
Packet_C_EssentiaIOBus packet = newPacket( player, MODE_SET_FILTER_SIZE );
// Set the filter size
packet.filterSize = filterSize;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Create a packet to update the client whether the bus is controlled
* by redstone or not.
*
* @param player
* @param redstoneControlled
* @return
*/
public static void sendRedstoneControlled( final EntityPlayer player, final boolean redstoneControlled )
{
Packet_C_EssentiaIOBus packet = newPacket( player, MODE_SET_REDSTONE_CONTROLLED );
// Set controlled
packet.redstoneControlled = redstoneControlled;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Create a packet to update the clients redstone mode.
*
* @param player
* @param redstoneMode
* @return
*/
public static void sendRedstoneMode( final EntityPlayer player, final RedstoneMode redstoneMode )
{
Packet_C_EssentiaIOBus packet = newPacket( player, MODE_SET_REDSTONE_MODE );
// Set the redstone mode
packet.redstoneMode = redstoneMode;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
/**
* Sends an update the client informing it of the void mode.
*
* @param player
* @param isVoidAllowed
* @return
*/
public static void sendVoidMode( final EntityPlayer player, final boolean isVoidAllowed )
{
Packet_C_EssentiaIOBus packet = newPacket( player, MODE_SEND_VOID_MODE );
// Set the void mode
packet.isVoidAllowed = isVoidAllowed;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@SideOnly(Side.CLIENT)
@Override
protected void wrappedExecute()
@@ -38,22 +149,22 @@ public class PacketClientEssentiaIOBus
switch ( this.mode )
{
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
// Set redstone controlled
( (GuiEssentiaIO)gui ).onReceiveRedstoneControlled( this.redstoneControlled );
break;
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_MODE:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_MODE:
// Set redstone mode
( (GuiEssentiaIO)gui ).onReceiveRedstoneMode( this.redstoneMode );
break;
case PacketClientEssentiaIOBus.MODE_SET_FILTER_SIZE:
case Packet_C_EssentiaIOBus.MODE_SET_FILTER_SIZE:
// Set filter size
( (GuiEssentiaIO)gui ).onReceiveFilterSize( this.filterSize );
break;
case PacketClientEssentiaIOBus.MODE_SEND_FULL_UPDATE:
case Packet_C_EssentiaIOBus.MODE_SEND_FULL_UPDATE:
// Set redstone mode
( (GuiEssentiaIO)gui ).onReceiveRedstoneMode( this.redstoneMode );
@@ -64,140 +175,34 @@ public class PacketClientEssentiaIOBus
( (GuiEssentiaIO)gui ).onReceiveFilterSize( this.filterSize );
break;
case PacketClientEssentiaIOBus.MODE_SEND_VOID_MODE:
case Packet_C_EssentiaIOBus.MODE_SEND_VOID_MODE:
// Set void mode
( (GuiEssentiaIO)gui ).onServerSendVoidMode( this.isVoidAllowed );
break;
}
}
public PacketClientEssentiaIOBus createFullUpdate( final EntityPlayer player, final RedstoneMode redstoneMode, final byte filterSize,
final boolean redstoneControlled )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaIOBus.MODE_SEND_FULL_UPDATE;
// Set the redstone mode
this.redstoneMode = redstoneMode;
// Set the filter size
this.filterSize = filterSize;
// Set controlled
this.redstoneControlled = redstoneControlled;
return this;
}
/**
* Create a packet to update the clients filter size.
*
* @param player
* @param filterSize
* @return
*/
public PacketClientEssentiaIOBus createSetFilterSize( final EntityPlayer player, final byte filterSize )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaIOBus.MODE_SET_FILTER_SIZE;
// Set the filter size
this.filterSize = filterSize;
return this;
}
/**
* Create a packet to update the client whether the bus is controlled
* by redstone or not.
*
* @param player
* @param redstoneControlled
* @return
*/
public PacketClientEssentiaIOBus createSetRedstoneControlled( final EntityPlayer player, final boolean redstoneControlled )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED;
// Set controlled
this.redstoneControlled = redstoneControlled;
return this;
}
/**
* Create a packet to update the clients redstone mode.
*
* @param player
* @param redstoneMode
* @return
*/
public PacketClientEssentiaIOBus createSetRedstoneMode( final EntityPlayer player, final RedstoneMode redstoneMode )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaIOBus.MODE_SET_REDSTONE_MODE;
// Set the redstone mode
this.redstoneMode = redstoneMode;
return this;
}
/**
* Sends an update the client informing it of the void mode.
*
* @param player
* @param isVoidAllowed
* @return
*/
public PacketClientEssentiaIOBus createVoidModeUpdate( final EntityPlayer player, final boolean isVoidAllowed )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaIOBus.MODE_SEND_VOID_MODE;
// Set the void mode
this.isVoidAllowed = isVoidAllowed;
return this;
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
// Read redstone controlled
this.redstoneControlled = stream.readBoolean();
break;
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_MODE:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_MODE:
// Read the redstone mode ordinal
this.redstoneMode = EnumCache.AE_REDSTONE_MODES[stream.readByte()];
break;
case PacketClientEssentiaIOBus.MODE_SET_FILTER_SIZE:
case Packet_C_EssentiaIOBus.MODE_SET_FILTER_SIZE:
// Read the filter size
this.filterSize = stream.readByte();
break;
case PacketClientEssentiaIOBus.MODE_SEND_FULL_UPDATE:
case Packet_C_EssentiaIOBus.MODE_SEND_FULL_UPDATE:
// Read redstone controlled
this.redstoneControlled = stream.readBoolean();
@@ -208,7 +213,7 @@ public class PacketClientEssentiaIOBus
this.filterSize = stream.readByte();
break;
case PacketClientEssentiaIOBus.MODE_SEND_VOID_MODE:
case Packet_C_EssentiaIOBus.MODE_SEND_VOID_MODE:
// Read void mode
this.isVoidAllowed = stream.readBoolean();
break;
@@ -220,22 +225,22 @@ public class PacketClientEssentiaIOBus
{
switch ( this.mode )
{
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_CONTROLLED:
// Write redstone controlled
stream.writeBoolean( this.redstoneControlled );
break;
case PacketClientEssentiaIOBus.MODE_SET_REDSTONE_MODE:
case Packet_C_EssentiaIOBus.MODE_SET_REDSTONE_MODE:
// Write the redstone mode ordinal
stream.writeByte( (byte)this.redstoneMode.ordinal() );
break;
case PacketClientEssentiaIOBus.MODE_SET_FILTER_SIZE:
case Packet_C_EssentiaIOBus.MODE_SET_FILTER_SIZE:
// Write the filter size
stream.writeByte( this.filterSize );
break;
case PacketClientEssentiaIOBus.MODE_SEND_FULL_UPDATE:
case Packet_C_EssentiaIOBus.MODE_SEND_FULL_UPDATE:
// Write redstone controlled
stream.writeBoolean( this.redstoneControlled );
@@ -246,7 +251,7 @@ public class PacketClientEssentiaIOBus
stream.writeByte( this.filterSize );
break;
case PacketClientEssentiaIOBus.MODE_SEND_VOID_MODE:
case Packet_C_EssentiaIOBus.MODE_SEND_VOID_MODE:
// Write void mode
stream.writeBoolean( this.isVoidAllowed );
break;
@@ -5,23 +5,41 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.gui.GuiEssentiaStorageBus;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientEssentiaStorageBus
extends AbstractClientPacket
public class Packet_C_EssentiaStorageBus
extends ThEClientPacket
{
private static final byte MODE_SET_VOID = 0;
private boolean isVoidAllowed;
public static void sendIsVoidAllowed( final EntityPlayer player, final boolean isVoidAllowed )
{
Packet_C_EssentiaStorageBus packet = new Packet_C_EssentiaStorageBus();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_C_EssentiaStorageBus.MODE_SET_VOID;
// Set void
packet.isVoidAllowed = isVoidAllowed;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketClientEssentiaStorageBus.MODE_SET_VOID:
case Packet_C_EssentiaStorageBus.MODE_SET_VOID:
// Read void mode
this.isVoidAllowed = stream.readBoolean();
break;
@@ -43,7 +61,7 @@ public class PacketClientEssentiaStorageBus
switch ( this.mode )
{
case PacketClientEssentiaStorageBus.MODE_SET_VOID:
case Packet_C_EssentiaStorageBus.MODE_SET_VOID:
// Set void mode
( (GuiEssentiaStorageBus)gui ).onServerSentVoidMode( this.isVoidAllowed );
break;
@@ -56,25 +74,11 @@ public class PacketClientEssentiaStorageBus
{
switch ( this.mode )
{
case PacketClientEssentiaStorageBus.MODE_SET_VOID:
case Packet_C_EssentiaStorageBus.MODE_SET_VOID:
// Write void mode
stream.writeBoolean( this.isVoidAllowed );
break;
}
}
public PacketClientEssentiaStorageBus createSetIsVoidAllowed( final EntityPlayer player, final boolean isVoidAllowed )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaStorageBus.MODE_SET_VOID;
// Set void
this.isVoidAllowed = isVoidAllowed;
return this;
}
}
@@ -7,22 +7,53 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import thaumicenergistics.container.ContainerEssentiaVibrationChamber;
import thaumicenergistics.gui.GuiEssentiaVibrationChamber;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientEssentiaVibrationChamber
extends AbstractClientPacket
public class Packet_C_EssentiaVibrationChamber
extends ThEClientPacket
{
private static final byte MODE_UPDATE = 1;
private float powerPerTick, maxPowerPerTick;
private int ticksRemaining, totalTicks;
/**
* Creates an update packet.
*
* @param player
* @param powerPerTick
* @param ticksRemaining
* @param totalTicks
* @return
*/
public static void sendUpdate( final EntityPlayer player, final float powerPerTick, final float maxPowerPerTick,
final int ticksRemaining, final int totalTicks )
{
Packet_C_EssentiaVibrationChamber packet = new Packet_C_EssentiaVibrationChamber();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_C_EssentiaVibrationChamber.MODE_UPDATE;
// Set values
packet.powerPerTick = powerPerTick;
packet.maxPowerPerTick = maxPowerPerTick;
packet.ticksRemaining = ticksRemaining;
packet.totalTicks = totalTicks;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
if( this.mode == PacketClientEssentiaVibrationChamber.MODE_UPDATE )
if( this.mode == Packet_C_EssentiaVibrationChamber.MODE_UPDATE )
{
// Read PPT
this.powerPerTick = stream.readFloat();
@@ -55,7 +86,7 @@ public class PacketClientEssentiaVibrationChamber
// Get the container
Container container = ( (GuiEssentiaVibrationChamber)gui ).inventorySlots;
if( this.mode == PacketClientEssentiaVibrationChamber.MODE_UPDATE )
if( this.mode == Packet_C_EssentiaVibrationChamber.MODE_UPDATE )
{
// Call update
( (ContainerEssentiaVibrationChamber)container ).onChamberUpdate( this.powerPerTick, this.maxPowerPerTick, this.ticksRemaining,
@@ -66,7 +97,7 @@ public class PacketClientEssentiaVibrationChamber
@Override
protected void writeData( final ByteBuf stream )
{
if( this.mode == PacketClientEssentiaVibrationChamber.MODE_UPDATE )
if( this.mode == Packet_C_EssentiaVibrationChamber.MODE_UPDATE )
{
// Write PPT
stream.writeFloat( this.powerPerTick );
@@ -82,31 +113,4 @@ public class PacketClientEssentiaVibrationChamber
}
}
/**
* Creates an update packet.
*
* @param player
* @param powerPerTick
* @param ticksRemaining
* @param totalTicks
* @return
*/
public PacketClientEssentiaVibrationChamber createUpdatePacket( final EntityPlayer player, final float powerPerTick, final float maxPowerPerTick,
final int ticksRemaining, final int totalTicks )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientEssentiaVibrationChamber.MODE_UPDATE;
// Set values
this.powerPerTick = powerPerTick;
this.maxPowerPerTick = maxPowerPerTick;
this.ticksRemaining = ticksRemaining;
this.totalTicks = totalTicks;
return this;
}
}
@@ -6,12 +6,13 @@ import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.container.ContainerKnowledgeInscriber.CoreSaveState;
import thaumicenergistics.gui.GuiKnowledgeInscriber;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientKnowledgeInscriber
extends AbstractClientPacket
public class Packet_C_KnowledgeInscriber
extends ThEClientPacket
{
private static final byte MODE_SENDSAVE = 0;
@@ -20,10 +21,27 @@ public class PacketClientKnowledgeInscriber
private CoreSaveState saveState;
public static void sendSaveState( final EntityPlayer player, final CoreSaveState saveState )
{
Packet_C_KnowledgeInscriber packet = new Packet_C_KnowledgeInscriber();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_C_KnowledgeInscriber.MODE_SENDSAVE;
// Set the state
packet.saveState = saveState;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
this.saveState = PacketClientKnowledgeInscriber.SAVE_STATES[stream.readInt()];
this.saveState = Packet_C_KnowledgeInscriber.SAVE_STATES[stream.readInt()];
}
@SideOnly(Side.CLIENT)
@@ -47,18 +65,4 @@ public class PacketClientKnowledgeInscriber
stream.writeInt( this.saveState.ordinal() );
}
public PacketClientKnowledgeInscriber createSendSaveState( final EntityPlayer player, final CoreSaveState saveState )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientKnowledgeInscriber.MODE_SENDSAVE;
// Set the state
this.saveState = saveState;
return this;
}
}
@@ -5,21 +5,39 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.gui.GuiPriority;
import thaumicenergistics.network.packet.AbstractClientPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEClientPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketClientPriority
extends AbstractClientPacket
public class Packet_C_Priority
extends ThEClientPacket
{
private static final byte MODE_SEND = 0;
private int priority;
public static void sendPriority( final int priority, final EntityPlayer player )
{
Packet_C_Priority packet = new Packet_C_Priority();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_C_Priority.MODE_SEND;
// Set the priority
packet.priority = priority;
// Send it
NetworkHandler.sendPacketToClient( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
if( this.mode == PacketClientPriority.MODE_SEND )
if( this.mode == Packet_C_Priority.MODE_SEND )
{
// Read the priority
this.priority = stream.readInt();
@@ -45,7 +63,7 @@ public class PacketClientPriority
return;
}
if( this.mode == PacketClientPriority.MODE_SEND )
if( this.mode == Packet_C_Priority.MODE_SEND )
{
// Set the priority
( (GuiPriority)gui ).onServerSendPriority( this.priority );
@@ -55,25 +73,11 @@ public class PacketClientPriority
@Override
protected void writeData( final ByteBuf stream )
{
if( this.mode == PacketClientPriority.MODE_SEND )
if( this.mode == Packet_C_Priority.MODE_SEND )
{
// Write the priority
stream.writeInt( this.priority );
}
}
public PacketClientPriority createSendPriority( final int priority, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketClientPriority.MODE_SEND;
// Set the priority
this.priority = priority;
return this;
}
}
@@ -7,12 +7,13 @@ import net.minecraft.world.World;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.client.fx.ParticleEngine;
import thaumcraft.client.fx.beams.FXBeam;
import thaumicenergistics.network.packet.AbstractAreaPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEAreaPacket;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class PacketAreaParticleFX
extends AbstractAreaPacket
public class Packet_R_ParticleFX
extends ThEAreaPacket
{
private static final byte MODE_WRENCH_FX = 0;
@@ -27,6 +28,48 @@ public class PacketAreaParticleFX
*/
private int aspectColor;
/**
* Creates an FX packet.
*
* @param world
* @param sourceX
* @param sourceY
* @param sourceZ
* @param destinationX
* @param destinationY
* @param destinationZ
* @param aspectColor
* @param range
*/
public static void createWrenchFX( final World world, final double sourceX, final double sourceY, final double sourceZ,
final double destinationX, final double destinationY, final double destinationZ,
final Aspect aspectColor, final int range )
{
Packet_R_ParticleFX packet = new Packet_R_ParticleFX();
// Set the mode
packet.mode = Packet_R_ParticleFX.MODE_WRENCH_FX;
// Set the world
packet.targetWorld = world;
// Set the target coords
packet.targetX = (float)sourceX;
packet.targetY = (float)sourceY;
packet.targetZ = (float)sourceZ;
// Set the destination values
packet.dX = (float)destinationX;
packet.dY = (float)destinationY;
packet.dZ = (float)destinationZ;
// Set the aspect color
packet.aspectColor = aspectColor.getColor();
// Send it
NetworkHandler.sendAreaPacketToClients( packet, range );
}
@SideOnly(Side.CLIENT)
private void addWrenchFX()
{
@@ -52,7 +95,7 @@ public class PacketAreaParticleFX
switch ( this.mode )
{
case PacketAreaParticleFX.MODE_WRENCH_FX:
case Packet_R_ParticleFX.MODE_WRENCH_FX:
// Read the destination
this.dX = stream.readFloat();
@@ -74,7 +117,7 @@ public class PacketAreaParticleFX
switch ( this.mode )
{
case PacketAreaParticleFX.MODE_WRENCH_FX:
case Packet_R_ParticleFX.MODE_WRENCH_FX:
// Write the destination
stream.writeFloat( this.dX );
stream.writeFloat( this.dY );
@@ -86,48 +129,9 @@ public class PacketAreaParticleFX
}
}
/**
* Creates an FX packet.
*
* @param world
* @param sourceX
* @param sourceY
* @param sourceZ
* @param destinationX
* @param destinationY
* @param destinationZ
* @param aspectColor
* @return
*/
public PacketAreaParticleFX createWrenchFX( final World world, final double sourceX, final double sourceY, final double sourceZ,
final double destinationX, final double destinationY, final double destinationZ,
final Aspect aspectColor )
{
// Set the mode
this.mode = PacketAreaParticleFX.MODE_WRENCH_FX;
// Set the world
this.targetWorld = world;
// Set the target coords
this.targetX = (float)sourceX;
this.targetY = (float)sourceY;
this.targetZ = (float)sourceZ;
// Set the destination values
this.dX = (float)destinationX;
this.dY = (float)destinationY;
this.dZ = (float)destinationZ;
// Set the aspect color
this.aspectColor = aspectColor.getColor();
return this;
}
@SideOnly(Side.CLIENT)
@Override
public void wrappedExecute()
public void areaExecute()
{
// Ensure the world is valid
if( this.targetWorld == null )
@@ -143,7 +147,7 @@ public class PacketAreaParticleFX
switch ( this.mode )
{
case PacketAreaParticleFX.MODE_WRENCH_FX:
case Packet_R_ParticleFX.MODE_WRENCH_FX:
this.addWrenchFX();
break;
}
@@ -0,0 +1,18 @@
package thaumicenergistics.network.packet.client;
import thaumicenergistics.network.packet.ThEClientPacket;
import thaumicenergistics.network.packet.WrapperPacket;
public class WrapperPacket_C
extends WrapperPacket
{
public WrapperPacket_C()
{
}
public WrapperPacket_C( final ThEClientPacket packet )
{
super( packet );
}
}
@@ -1,132 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.parts.AbstractAEPartBase;
public class PacketServerChangeGui
extends AbstractServerPacket
{
private static final byte MODE_REGULAR = 0;
private static final byte MODE_PART = 1;
private int guiID;
private AbstractAEPartBase part;
private World world;
private int x;
private int y;
private int z;
public PacketServerChangeGui createChangeGuiRequest( final AbstractAEPartBase part, final EntityPlayer player, final World world, final int x,
final int y, final int z )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerChangeGui.MODE_PART;
// Set the part
this.part = part;
// Set the world
this.world = world;
// Set the coords
this.x = x;
this.y = y;
this.z = z;
return this;
}
public PacketServerChangeGui createChangeGuiRequest( final int guiID, final EntityPlayer player, final World world, final int x, final int y,
final int z )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerChangeGui.MODE_REGULAR;
// Set the guiID
this.guiID = guiID;
// Set the world
this.world = world;
// Set the coords
this.x = x;
this.y = y;
this.z = z;
return this;
}
@Override
public void execute()
{
if( this.mode == PacketServerChangeGui.MODE_REGULAR )
{
// Launch regular
ThEGuiHandler.launchGui( this.guiID, this.player, this.world, this.x, this.y, this.z );
}
else if( this.mode == PacketServerChangeGui.MODE_PART )
{
// Launch part
ThEGuiHandler.launchGui( this.part, this.player, this.world, this.x, this.y, this.z );
}
}
@Override
public void readData( final ByteBuf stream )
{
if( this.mode == PacketServerChangeGui.MODE_REGULAR )
{
// Read the ID
this.guiID = stream.readInt();
}
else if( this.mode == PacketServerChangeGui.MODE_PART )
{
// Read the part
this.part = AbstractPacket.readPart( stream );
}
// Read the world
this.world = AbstractPacket.readWorld( stream );
// Read the coords
this.x = stream.readInt();
this.y = stream.readInt();
this.z = stream.readInt();
}
@Override
public void writeData( final ByteBuf stream )
{
if( this.mode == PacketServerChangeGui.MODE_REGULAR )
{
// Write the ID
stream.writeInt( this.guiID );
}
else if( this.mode == PacketServerChangeGui.MODE_PART )
{
// Write the part
AbstractPacket.writePart( this.part, stream );
}
// Write the world
AbstractPacket.writeWorld( this.world, stream );
// Write the coords
stream.writeInt( this.x );
stream.writeInt( this.y );
stream.writeInt( this.z );
}
}
@@ -1,123 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.container.AbstractContainerCellTerminalBase;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
public class PacketServerEssentiaCellTerminal
extends AbstractServerPacket
{
private static final byte MODE_SELECTED_ASPECT = 0;
private static final byte MODE_FULL_UPDATE = 1;
private static final byte MODE_SORT_CHANGE = 2;
private Aspect currentAspect;
private ComparatorMode sortMode;
public PacketServerEssentiaCellTerminal createFullUpdateRequest( final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellTerminal.MODE_FULL_UPDATE;
return this;
}
public PacketServerEssentiaCellTerminal createRequestChangeSortMode( final EntityPlayer player, final ComparatorMode sortMode )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellTerminal.MODE_SORT_CHANGE;
// Set the sort mode
this.sortMode = sortMode;
return this;
}
public PacketServerEssentiaCellTerminal createUpdateSelectedAspect( final EntityPlayer player, final Aspect currentAspect )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellTerminal.MODE_SELECTED_ASPECT;
// Set the current aspect
this.currentAspect = currentAspect;
return this;
}
@Override
public void execute()
{
switch ( this.mode )
{
case PacketServerEssentiaCellTerminal.MODE_SELECTED_ASPECT:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onReceivedSelectedAspect( this.currentAspect );
}
break;
case PacketServerEssentiaCellTerminal.MODE_FULL_UPDATE:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onClientRequestFullUpdate();
}
break;
case PacketServerEssentiaCellTerminal.MODE_SORT_CHANGE:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onClientRequestSortModeChange( this.sortMode, this.player );
}
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaCellTerminal.MODE_SELECTED_ASPECT:
this.currentAspect = AbstractPacket.readAspect( stream );
break;
case PacketServerEssentiaCellTerminal.MODE_SORT_CHANGE:
// Read the mode ordinal
this.sortMode = ComparatorMode.VALUES[stream.readInt()];
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaCellTerminal.MODE_SELECTED_ASPECT:
AbstractPacket.writeAspect( this.currentAspect, stream );
break;
case PacketServerEssentiaCellTerminal.MODE_SORT_CHANGE:
// Write the mode ordinal
stream.writeInt( this.sortMode.ordinal() );
break;
}
}
}
@@ -1,205 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.tileentities.TileEssentiaCellWorkbench;
public class PacketServerEssentiaCellWorkbench
extends AbstractServerPacket
{
/**
* Packet modes.
*/
private static final byte MODE_REQUEST_ADD_ASPECT = 0, MODE_REQUEST_REMOVE_ASPECT = 1, MODE_REQUEST_REPLACE_ASPECT = 2,
MODE_REQUEST_FULL_LIST = 4, MODE_REQUEST_CLEAR = 5, MODE_REQUEST_PARITION_CONTENTS = 6;
private Aspect arAspect, replaceAspect;
private TileEssentiaCellWorkbench workbench;
@Override
protected void readData( final ByteBuf stream )
{
// Read the workbench
this.workbench = (TileEssentiaCellWorkbench)AbstractPacket.readTileEntity( stream );
switch ( this.mode )
{
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Read the aspect
this.arAspect = AbstractPacket.readAspect( stream );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Read the original aspect
this.arAspect = AbstractPacket.readAspect( stream );
// Read the replacement aspect
this.replaceAspect = AbstractPacket.readAspect( stream );
break;
}
}
@Override
protected void writeData( final ByteBuf stream )
{
// Write the workbench
AbstractPacket.writeTileEntity( this.workbench, stream );
switch ( this.mode )
{
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Write the aspect
AbstractPacket.writeAspect( this.arAspect, stream );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Write the original aspect
AbstractPacket.writeAspect( this.arAspect, stream );
// Write the replacement aspect
AbstractPacket.writeAspect( this.replaceAspect, stream );
break;
}
}
public PacketServerEssentiaCellWorkbench createRequestAddAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect aspect )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT;
// Set the aspect
this.arAspect = aspect;
// Set the workbench
this.workbench = workbench;
return this;
}
public PacketServerEssentiaCellWorkbench createRequestClearPartitioning( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_CLEAR;
// Set the workbench
this.workbench = workbench;
return this;
}
public PacketServerEssentiaCellWorkbench createRequestGetPartitionList( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_FULL_LIST;
// Set the workbench
this.workbench = workbench;
return this;
}
public PacketServerEssentiaCellWorkbench createRequestPartitionToContents( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_PARITION_CONTENTS;
// Set the workbench
this.workbench = workbench;
return this;
}
public PacketServerEssentiaCellWorkbench createRequestRemoveAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect aspect )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT;
// Set the aspect
this.arAspect = aspect;
// Set the workbench
this.workbench = workbench;
return this;
}
public PacketServerEssentiaCellWorkbench createRequestReplaceAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect originalAspect, final Aspect newAspect )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT;
// Set the aspects
this.arAspect = originalAspect;
this.replaceAspect = newAspect;
// Set the workbench
this.workbench = workbench;
return this;
}
@Override
public void execute()
{
switch ( this.mode )
{
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
// Request the aspect be added
this.workbench.onClientRequestAddAspectToPartitionList( this.player, this.arAspect );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Request the aspect be removed
this.workbench.onClientRequestRemoveAspectFromPartitionList( this.player, this.arAspect );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Request the aspect be replaced
this.workbench.onClientRequestReplaceAspectFromPartitionList( this.player, this.arAspect, this.replaceAspect );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_FULL_LIST:
// Request the full list
this.workbench.onClientRequestPartitionList( this.player );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_CLEAR:
// Request the clear
this.workbench.onClientRequestClearPartitioning( this.player );
break;
case PacketServerEssentiaCellWorkbench.MODE_REQUEST_PARITION_CONTENTS:
this.workbench.onClientRequestPartitionToContents( this.player );
break;
}
}
}
@@ -1,207 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.parts.AEPartEssentiaLevelEmitter;
public class PacketServerEssentiaEmitter
extends AbstractServerPacket
{
private static final byte MODE_REQUEST_UPDATE = 0;
private static final byte MODE_SEND_WANTED = 1;
private static final byte MODE_ADJUST_WANTED = 2;
private static final byte MODE_TOGGLE_REDSTONE = 3;
private AEPartEssentiaLevelEmitter part;
private long wantedAmount;
private int adjustmentAmount;
public PacketServerEssentiaEmitter createRedstoneModeToggle( final AEPartEssentiaLevelEmitter part, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaEmitter.MODE_TOGGLE_REDSTONE;
// Set the part
this.part = part;
return this;
}
/**
* Creates a packet to let the server know a client would like a full
* update.
*
* @param part
* @param player
* @return
*/
public PacketServerEssentiaEmitter createUpdateRequest( final AEPartEssentiaLevelEmitter part, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaEmitter.MODE_REQUEST_UPDATE;
// Set the part
this.part = part;
return this;
}
/**
* Creates a packet to adjust the wanted amount on the server
*
* @param adjustmentAmount
* @param part
* @param player
* @return
*/
public PacketServerEssentiaEmitter createWantedAmountAdjustment( final int adjustmentAmount, final AEPartEssentiaLevelEmitter part,
final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaEmitter.MODE_ADJUST_WANTED;
// Set the part
this.part = part;
// Set the adjustment
this.adjustmentAmount = adjustmentAmount;
return this;
}
/**
* Creates a packet to update the wanted amount on the server
*
* @param wantedAmount
* @param part
* @param player
* @return
*/
public PacketServerEssentiaEmitter createWantedAmountUpdate( final long wantedAmount, final AEPartEssentiaLevelEmitter part,
final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaEmitter.MODE_SEND_WANTED;
// Set the part
this.part = part;
// Set the wanted amount
this.wantedAmount = wantedAmount;
return this;
}
@Override
public void execute()
{
switch ( this.mode )
{
case PacketServerEssentiaEmitter.MODE_REQUEST_UPDATE:
// Request the full update
this.part.onClientUpdateRequest( this.player );
break;
case PacketServerEssentiaEmitter.MODE_SEND_WANTED:
// Set the wanted amount
this.part.onClientSetWantedAmount( this.wantedAmount, this.player );
break;
case PacketServerEssentiaEmitter.MODE_ADJUST_WANTED:
// Set the adjustment amount
this.part.onClientAdjustWantedAmount( this.adjustmentAmount, this.player );
break;
case PacketServerEssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Toggle the redstone mode
this.part.onClientToggleRedstoneMode( this.player );
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaEmitter.MODE_REQUEST_UPDATE:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)AbstractPacket.readPart( stream );
break;
case PacketServerEssentiaEmitter.MODE_SEND_WANTED:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)AbstractPacket.readPart( stream );
// Read the wanted amount
this.wantedAmount = stream.readLong();
break;
case PacketServerEssentiaEmitter.MODE_ADJUST_WANTED:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)AbstractPacket.readPart( stream );
// Read the adjustment amount
this.adjustmentAmount = stream.readInt();
break;
case PacketServerEssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)AbstractPacket.readPart( stream );
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaEmitter.MODE_REQUEST_UPDATE:
// Write the part
AbstractPacket.writePart( this.part, stream );
break;
case PacketServerEssentiaEmitter.MODE_SEND_WANTED:
// Write the part
AbstractPacket.writePart( this.part, stream );
// Write wanted amount
stream.writeLong( this.wantedAmount );
break;
case PacketServerEssentiaEmitter.MODE_ADJUST_WANTED:
// Write the part
AbstractPacket.writePart( this.part, stream );
// Write the adjustment amount
stream.writeInt( this.adjustmentAmount );
break;
case PacketServerEssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Write the part
AbstractPacket.writePart( this.part, stream );
break;
}
}
}
@@ -1,133 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.parts.AEPartEssentiaExportBus;
import thaumicenergistics.parts.AbstractAEPartEssentiaIOBus;
public class PacketServerEssentiaIOBus
extends AbstractServerPacket
{
private static final byte MODE_REQUEST_FULL_UPDATE = 0, MODE_REQUEST_CHANGE_REDSTONE_MODE = 1, MODE_REQUEST_CHANGE_VOID_MODE = 2;
private AbstractAEPartEssentiaIOBus part;
/**
* Sends a request to the server to change the redstone mode.
*
* @param player
* @param part
* @return
*/
public PacketServerEssentiaIOBus createRequestChangeRedstoneMode( final EntityPlayer player, final AbstractAEPartEssentiaIOBus part )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE;
// Set the part
this.part = part;
return this;
}
/**
* Sends a request to the server to update the void mode.
*
* @param player
* @param part
* @return
*/
public PacketServerEssentiaIOBus createRequestChangeVoidMode( final EntityPlayer player, final AEPartEssentiaExportBus part )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE;
// Set the part
this.part = part;
return this;
}
/**
* Sends a request to the server for a full update of the buses state.
*
* @param player
* @param part
* @return
*/
public PacketServerEssentiaIOBus createRequestFullUpdate( final EntityPlayer player, final AbstractAEPartEssentiaIOBus part )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaIOBus.MODE_REQUEST_FULL_UPDATE;
// Set the part
this.part = part;
return this;
}
@Override
public void execute()
{
switch ( this.mode )
{
case PacketServerEssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
// Request a full update
this.part.onClientRequestFullUpdate( this.player );
break;
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
// Request a redstone mode change
this.part.onClientRequestChangeRedstoneMode( this.player );
break;
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Request a void mode change
if( this.part instanceof AEPartEssentiaExportBus )
{
( (AEPartEssentiaExportBus)this.part ).onClientRequestChangeVoidMode( this.player );
}
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Read the part
this.part = ( (AbstractAEPartEssentiaIOBus)AbstractPacket.readPart( stream ) );
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
case PacketServerEssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Write the part
AbstractPacket.writePart( this.part, stream );
break;
}
}
}
@@ -1,105 +0,0 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.parts.AEPartEssentiaStorageBus;
public class PacketServerEssentiaStorageBus
extends AbstractServerPacket
{
private static final byte MODE_REQUEST_FULL_UPDATE = 0;
private static final byte MODE_REQUEST_SET_VOID = 1;
private AEPartEssentiaStorageBus part;
private boolean isVoidAllowed;
public PacketServerEssentiaStorageBus createRequestFullUpdate( final EntityPlayer player, final AEPartEssentiaStorageBus part )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaStorageBus.MODE_REQUEST_FULL_UPDATE;
// Set the part
this.part = part;
return this;
}
public PacketServerEssentiaStorageBus createRequestSetVoidAllowed( final EntityPlayer player, final AEPartEssentiaStorageBus part,
final boolean isVoidAllowed )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerEssentiaStorageBus.MODE_REQUEST_SET_VOID;
// Set the part
this.part = part;
// Set if void is allowed
this.isVoidAllowed = isVoidAllowed;
return this;
}
@Override
public void execute()
{
switch ( this.mode )
{
case PacketServerEssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Request a full update
this.part.onClientRequestFullUpdate( this.player );
break;
case PacketServerEssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Request set void
this.part.onClientRequestSetVoidMode( this.player, this.isVoidAllowed );
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Read the part
this.part = ( (AEPartEssentiaStorageBus)AbstractPacket.readPart( stream ) );
break;
case PacketServerEssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Read the part
this.part = ( (AEPartEssentiaStorageBus)AbstractPacket.readPart( stream ) );
// Read void
this.isVoidAllowed = stream.readBoolean();
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerEssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Write the part
AbstractPacket.writePart( this.part, stream );
break;
case PacketServerEssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Write the part
AbstractPacket.writePart( this.part, stream );
// Write void
stream.writeBoolean( this.isVoidAllowed );
break;
}
}
}
@@ -3,16 +3,17 @@ package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.container.ContainerPartArcaneCraftingTerminal;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.registries.EnumCache;
import appeng.api.config.SortDir;
import appeng.api.config.SortOrder;
import appeng.api.config.ViewItems;
import appeng.api.storage.data.IAEItemStack;
public class PacketServerArcaneCraftingTerminal
extends AbstractServerPacket
public class Packet_S_ArcaneCraftingTerminal
extends ThEServerPacket
{
private static final byte MODE_REQUEST_FULL_LIST = 1;
@@ -68,25 +69,22 @@ public class PacketServerArcaneCraftingTerminal
private IAEItemStack[] gridItems;
/**
* Create a packet to request that the crafting grid be set to these items.
* Creates the packet
*
* @param player
* @param items
* Must be at least length of 9
* @param mode
* @return
*/
public PacketServerArcaneCraftingTerminal createNEIRequestSetCraftingGrid( final EntityPlayer player, final IAEItemStack[] items )
private static Packet_S_ArcaneCraftingTerminal newPacket( final EntityPlayer player, final byte mode )
{
// Set the player
this.player = player;
// Create the packet
Packet_S_ArcaneCraftingTerminal packet = new Packet_S_ArcaneCraftingTerminal();
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_GRID;
// Set the player & mode
packet.player = player;
packet.mode = mode;
// Set the items
this.gridItems = items;
return this;
return packet;
}
/**
@@ -96,18 +94,15 @@ public class PacketServerArcaneCraftingTerminal
* @param result
* @return
*/
public PacketServerArcaneCraftingTerminal createRequestAutoCraft( final EntityPlayer player, final IAEItemStack result )
public static void sendAutoCraft( final EntityPlayer player, final IAEItemStack result )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_AUTO_CRAFT );
// Set the result
this.itemStack = result;
packet.itemStack = result;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -116,15 +111,12 @@ public class PacketServerArcaneCraftingTerminal
*
* @param player
*/
public PacketServerArcaneCraftingTerminal createRequestClearGrid( final EntityPlayer player )
public static void sendClearGrid( final EntityPlayer player )
{
// Set the player
this.player = player;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_CLEAR_GRID );
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_CLEAR_GRID;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -134,18 +126,15 @@ public class PacketServerArcaneCraftingTerminal
* @param player
* @return
*/
public PacketServerArcaneCraftingTerminal createRequestDeposit( final EntityPlayer player, final int mouseButton )
public static void sendDeposit( final EntityPlayer player, final int mouseButton )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_DEPOSIT );
// Set the button
this.mouseButton = mouseButton;
packet.mouseButton = mouseButton;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -156,18 +145,15 @@ public class PacketServerArcaneCraftingTerminal
* @param slotNumber
* @return
*/
public PacketServerArcaneCraftingTerminal createRequestDepositRegion( final EntityPlayer player, final int slotNumber )
public static void sendDepositRegion( final EntityPlayer player, final int slotNumber )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_DEPOSIT_REGION );
// Set the slot number
this.slotNumber = slotNumber;
packet.slotNumber = slotNumber;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -179,25 +165,22 @@ public class PacketServerArcaneCraftingTerminal
* @param mouseButton
* @return
*/
public PacketServerArcaneCraftingTerminal createRequestExtract( final EntityPlayer player, final IAEItemStack itemStack, final int mouseButton,
final boolean isShiftHeld )
public static void sendExtract( final EntityPlayer player, final IAEItemStack itemStack, final int mouseButton,
final boolean isShiftHeld )
{
// Set player
this.player = player;
// Set mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_EXTRACTION );
// Set stack
this.itemStack = itemStack;
packet.itemStack = itemStack;
// Set mouse button
this.mouseButton = mouseButton;
packet.mouseButton = mouseButton;
// Set shift
this.isShiftHeld = isShiftHeld;
packet.isShiftHeld = isShiftHeld;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -207,15 +190,12 @@ public class PacketServerArcaneCraftingTerminal
*
* @param player
*/
public PacketServerArcaneCraftingTerminal createRequestFullList( final EntityPlayer player )
public static void sendFullListRequest( final EntityPlayer player )
{
// Set the player
this.player = player;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_FULL_LIST );
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_FULL_LIST;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
@@ -226,32 +206,45 @@ public class PacketServerArcaneCraftingTerminal
* @param direction
* @return
*/
public PacketServerArcaneCraftingTerminal createRequestSetSort( final EntityPlayer player, final SortOrder order, final SortDir direction,
final ViewItems viewMode )
public static void sendMode( final EntityPlayer player, final SortOrder order, final SortDir direction,
final ViewItems viewMode )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_SORT;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_SET_SORT );
// Set the sorts
this.sortingDirection = direction;
this.sortingOrder = order;
this.viewMode = viewMode;
packet.sortingDirection = direction;
packet.sortingOrder = order;
packet.viewMode = viewMode;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public PacketServerArcaneCraftingTerminal createSwapArmorRequest( final EntityPlayer player )
/**
* Create a packet to request that the crafting grid be set to these items.
*
* @param player
* @param items
* Must be at least length of 9
* @return
*/
public static void sendSetCrafting_NEI( final EntityPlayer player, final IAEItemStack[] items )
{
// Set the player
this.player = player;
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_SET_GRID );
// Set the mode
this.mode = PacketServerArcaneCraftingTerminal.MODE_REQUEST_SWAP_ARMOR;
// Set the items
packet.gridItems = items;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendSwapArmor( final EntityPlayer player )
{
Packet_S_ArcaneCraftingTerminal packet = newPacket( player, MODE_REQUEST_SWAP_ARMOR );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
@@ -262,50 +255,50 @@ public class PacketServerArcaneCraftingTerminal
{
switch ( this.mode )
{
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_FULL_LIST:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_FULL_LIST:
// Request the full list
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestFullUpdate( this.player );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
// Request extraction
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestExtract( this.player, this.itemStack,
this.mouseButton, this.isShiftHeld );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
// Request deposit
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestDeposit( this.player, this.mouseButton );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_CLEAR_GRID:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_CLEAR_GRID:
// Request clear grid
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestClearCraftingGrid( this.player );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
// Request deposit region
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestDepositRegion( this.player, this.slotNumber );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
// Request set sort
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestSetSort( this.sortingOrder,
this.sortingDirection, this.viewMode );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
// Request set grid
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer )
.onClientNEIRequestSetCraftingGrid( this.player, this.gridItems );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
// Request auto-crafting
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestAutoCraft( this.player, this.itemStack );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SWAP_ARMOR:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SWAP_ARMOR:
// Request armor swap
( (ContainerPartArcaneCraftingTerminal)this.player.openContainer ).onClientRequestSwapArmor( this.player );
break;
@@ -318,9 +311,9 @@ public class PacketServerArcaneCraftingTerminal
{
switch ( this.mode )
{
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
// Read the item
this.itemStack = AbstractPacket.readAEItemStack( stream );
this.itemStack = ThEBasePacket.readAEItemStack( stream );
// Read the mouse button
this.mouseButton = stream.readInt();
@@ -329,26 +322,26 @@ public class PacketServerArcaneCraftingTerminal
this.isShiftHeld = stream.readBoolean();
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
// Read the mouse button
this.mouseButton = stream.readInt();
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
// Read the slot number
this.slotNumber = stream.readInt();
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
// Read sorts
this.sortingDirection = EnumCache.AE_SORT_DIRECTIONS[stream.readInt()];
this.sortingOrder = EnumCache.AE_SORT_ORDERS[stream.readInt()];
this.viewMode = EnumCache.AE_VIEW_ITEMS[stream.readInt()];
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
// Init the items
this.gridItems = new IAEItemStack[PacketServerArcaneCraftingTerminal.ITEM_GRID_SIZE];
this.gridItems = new IAEItemStack[Packet_S_ArcaneCraftingTerminal.ITEM_GRID_SIZE];
// Read the items
for( int slotIndex = 0; slotIndex < 9; slotIndex++ )
@@ -357,14 +350,14 @@ public class PacketServerArcaneCraftingTerminal
if( stream.readBoolean() )
{
// Set the item
this.gridItems[slotIndex] = AbstractPacket.readAEItemStack( stream );
this.gridItems[slotIndex] = ThEBasePacket.readAEItemStack( stream );
}
}
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
// Read the requested item
this.itemStack = AbstractPacket.readAEItemStack( stream );
this.itemStack = ThEBasePacket.readAEItemStack( stream );
break;
}
@@ -375,9 +368,9 @@ public class PacketServerArcaneCraftingTerminal
{
switch ( this.mode )
{
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_EXTRACTION:
// Write the itemstack
AbstractPacket.writeAEItemStack( this.itemStack, stream );
ThEBasePacket.writeAEItemStack( this.itemStack, stream );
// Write the mouse button
stream.writeInt( this.mouseButton );
@@ -386,26 +379,26 @@ public class PacketServerArcaneCraftingTerminal
stream.writeBoolean( this.isShiftHeld );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT:
// Write the mouse button
stream.writeInt( this.mouseButton );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_DEPOSIT_REGION:
// Write the slot number to the stream
stream.writeInt( this.slotNumber );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_SORT:
// Write the sorts
stream.writeInt( this.sortingDirection.ordinal() );
stream.writeInt( this.sortingOrder.ordinal() );
stream.writeInt( this.viewMode.ordinal() );
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_SET_GRID:
// Write each non-null item
for( int slotIndex = 0; slotIndex < PacketServerArcaneCraftingTerminal.ITEM_GRID_SIZE; slotIndex++ )
for( int slotIndex = 0; slotIndex < Packet_S_ArcaneCraftingTerminal.ITEM_GRID_SIZE; slotIndex++ )
{
// Get the item
IAEItemStack slotItem = this.gridItems[slotIndex];
@@ -417,14 +410,14 @@ public class PacketServerArcaneCraftingTerminal
if( hasItem )
{
// Write the item
AbstractPacket.writeAEItemStack( slotItem, stream );
ThEBasePacket.writeAEItemStack( slotItem, stream );
}
}
break;
case PacketServerArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
case Packet_S_ArcaneCraftingTerminal.MODE_REQUEST_AUTO_CRAFT:
// Write the requested item
AbstractPacket.writeAEItemStack( this.itemStack, stream );
ThEBasePacket.writeAEItemStack( this.itemStack, stream );
break;
}
}
@@ -4,12 +4,13 @@ import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.IAspectSlotPart;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.parts.AbstractAEPartBase;
public class PacketServerAspectSlot
extends AbstractServerPacket
public class Packet_S_AspectSlot
extends ThEServerPacket
{
private static final byte MODE_SET_ASPECT = 0;
@@ -19,24 +20,27 @@ public class PacketServerAspectSlot
private IAspectSlotPart part;
public PacketServerAspectSlot createUpdatePartAspect( final IAspectSlotPart part, final int index, final Aspect aspect, final EntityPlayer player )
public static void sendAspectChange( final IAspectSlotPart part, final int index, final Aspect aspect, final EntityPlayer player )
{
Packet_S_AspectSlot packet = new Packet_S_AspectSlot();
// Set the player
this.player = player;
packet.player = player;
// Set the mode
this.mode = PacketServerAspectSlot.MODE_SET_ASPECT;
packet.mode = Packet_S_AspectSlot.MODE_SET_ASPECT;
// Set the index
this.index = index;
packet.index = index;
// Set the part
this.part = part;
packet.part = part;
// Set the aspect
this.aspect = aspect;
packet.aspect = aspect;
return this;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
@@ -44,7 +48,7 @@ public class PacketServerAspectSlot
{
switch ( this.mode )
{
case PacketServerAspectSlot.MODE_SET_ASPECT:
case Packet_S_AspectSlot.MODE_SET_ASPECT:
// Inform the part of the aspect change
this.part.setAspect( this.index, this.aspect, this.player );
break;
@@ -56,15 +60,15 @@ public class PacketServerAspectSlot
{
switch ( this.mode )
{
case PacketServerAspectSlot.MODE_SET_ASPECT:
case Packet_S_AspectSlot.MODE_SET_ASPECT:
// Read the part
this.part = ( (IAspectSlotPart)AbstractPacket.readPart( stream ) );
this.part = ( (IAspectSlotPart)ThEBasePacket.readPart( stream ) );
// Read the index
this.index = stream.readInt();
// Read the aspect
this.aspect = AbstractPacket.readAspect( stream );
this.aspect = ThEBasePacket.readAspect( stream );
break;
}
}
@@ -74,15 +78,15 @@ public class PacketServerAspectSlot
{
switch ( this.mode )
{
case PacketServerAspectSlot.MODE_SET_ASPECT:
case Packet_S_AspectSlot.MODE_SET_ASPECT:
// Write the part
AbstractPacket.writePart( (AbstractAEPartBase)this.part, stream );
ThEBasePacket.writePart( (AbstractAEPartBase)this.part, stream );
// Write the index
stream.writeInt( this.index );
// Write the aspect
AbstractPacket.writeAspect( this.aspect, stream );
ThEBasePacket.writeAspect( this.aspect, stream );
break;
}
}
@@ -0,0 +1,146 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.parts.AbstractAEPartBase;
public class Packet_S_ChangeGui
extends ThEServerPacket
{
private static final byte MODE_REGULAR = 0;
private static final byte MODE_PART = 1;
private int guiID;
private AbstractAEPartBase part;
private World world;
private int x;
private int y;
private int z;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_ChangeGui newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_S_ChangeGui packet = new Packet_S_ChangeGui();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
public static void sendGuiChange( final AbstractAEPartBase part, final EntityPlayer player, final World world, final int x,
final int y, final int z )
{
Packet_S_ChangeGui packet = newPacket( player, MODE_PART );
// Set the part
packet.part = part;
// Set the world
packet.world = world;
// Set the coords
packet.x = x;
packet.y = y;
packet.z = z;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendGuiChange( final int guiID, final EntityPlayer player, final World world, final int x, final int y,
final int z )
{
Packet_S_ChangeGui packet = newPacket( player, MODE_REGULAR );
// Set the guiID
packet.guiID = guiID;
// Set the world
packet.world = world;
// Set the coords
packet.x = x;
packet.y = y;
packet.z = z;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
public void execute()
{
if( this.mode == Packet_S_ChangeGui.MODE_REGULAR )
{
// Launch regular
ThEGuiHandler.launchGui( this.guiID, this.player, this.world, this.x, this.y, this.z );
}
else if( this.mode == Packet_S_ChangeGui.MODE_PART )
{
// Launch part
ThEGuiHandler.launchGui( this.part, this.player, this.world, this.x, this.y, this.z );
}
}
@Override
public void readData( final ByteBuf stream )
{
if( this.mode == Packet_S_ChangeGui.MODE_REGULAR )
{
// Read the ID
this.guiID = stream.readInt();
}
else if( this.mode == Packet_S_ChangeGui.MODE_PART )
{
// Read the part
this.part = ThEBasePacket.readPart( stream );
}
// Read the world
this.world = ThEBasePacket.readWorld( stream );
// Read the coords
this.x = stream.readInt();
this.y = stream.readInt();
this.z = stream.readInt();
}
@Override
public void writeData( final ByteBuf stream )
{
if( this.mode == Packet_S_ChangeGui.MODE_REGULAR )
{
// Write the ID
stream.writeInt( this.guiID );
}
else if( this.mode == Packet_S_ChangeGui.MODE_PART )
{
// Write the part
ThEBasePacket.writePart( this.part, stream );
}
// Write the world
ThEBasePacket.writeWorld( this.world, stream );
// Write the coords
stream.writeInt( this.x );
stream.writeInt( this.y );
stream.writeInt( this.z );
}
}
@@ -6,7 +6,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEServerPacket;
import appeng.api.networking.IGrid;
import appeng.api.networking.IGridHost;
import appeng.api.networking.IGridNode;
@@ -17,14 +18,34 @@ import appeng.container.implementations.ContainerCraftAmount;
import appeng.container.implementations.ContainerCraftConfirm;
import appeng.core.AELog;
public class PacketServerConfirmCraftingJob
extends AbstractServerPacket
public class Packet_S_ConfirmCraftingJob
extends ThEServerPacket
{
private static final byte MODE_REQUEST_CONFIRM = 1;
private long amount;
private boolean heldShift;
public static void sendConfirmAutoCraft( final EntityPlayer player, final long amount, final boolean isShiftHeld )
{
Packet_S_ConfirmCraftingJob packet = new Packet_S_ConfirmCraftingJob();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_S_ConfirmCraftingJob.MODE_REQUEST_CONFIRM;
// Set amount
packet.amount = amount;
// Set shift
packet.heldShift = isShiftHeld;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
@@ -45,28 +66,11 @@ public class PacketServerConfirmCraftingJob
stream.writeBoolean( this.heldShift );
}
public PacketServerConfirmCraftingJob createRequestConfirmAutoCraft( final EntityPlayer player, final long amount, final boolean isShiftHeld )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerConfirmCraftingJob.MODE_REQUEST_CONFIRM;
// Set amount
this.amount = amount;
// Set shift
this.heldShift = isShiftHeld;
return this;
}
@Override
public void execute()
{
// Sanity check.
if( this.mode != PacketServerConfirmCraftingJob.MODE_REQUEST_CONFIRM )
if( this.mode != Packet_S_ConfirmCraftingJob.MODE_REQUEST_CONFIRM )
{
return;
}
@@ -0,0 +1,134 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.aspect.AspectStackComparator.ComparatorMode;
import thaumicenergistics.container.AbstractContainerCellTerminalBase;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
public class Packet_S_EssentiaCellTerminal
extends ThEServerPacket
{
private static final byte MODE_SELECTED_ASPECT = 0;
private static final byte MODE_FULL_UPDATE = 1;
private static final byte MODE_SORT_CHANGE = 2;
private Aspect currentAspect;
private ComparatorMode sortMode;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_EssentiaCellTerminal newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_S_EssentiaCellTerminal packet = new Packet_S_EssentiaCellTerminal();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
public static void sendFullUpdateRequest( final EntityPlayer player )
{
Packet_S_EssentiaCellTerminal packet = newPacket( player, MODE_FULL_UPDATE );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendSelectedAspect( final EntityPlayer player, final Aspect currentAspect )
{
Packet_S_EssentiaCellTerminal packet = newPacket( player, MODE_SELECTED_ASPECT );
// Set the current aspect
packet.currentAspect = currentAspect;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendSortMode( final EntityPlayer player, final ComparatorMode sortMode )
{
Packet_S_EssentiaCellTerminal packet = newPacket( player, MODE_SORT_CHANGE );
// Set the sort mode
packet.sortMode = sortMode;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
public void execute()
{
switch ( this.mode )
{
case Packet_S_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onReceivedSelectedAspect( this.currentAspect );
}
break;
case Packet_S_EssentiaCellTerminal.MODE_FULL_UPDATE:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onClientRequestFullUpdate();
}
break;
case Packet_S_EssentiaCellTerminal.MODE_SORT_CHANGE:
if( ( this.player != null ) && ( this.player.openContainer instanceof AbstractContainerCellTerminalBase ) )
{
( (AbstractContainerCellTerminalBase)this.player.openContainer ).onClientRequestSortModeChange( this.sortMode, this.player );
}
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
this.currentAspect = ThEBasePacket.readAspect( stream );
break;
case Packet_S_EssentiaCellTerminal.MODE_SORT_CHANGE:
// Read the mode ordinal
this.sortMode = ComparatorMode.VALUES[stream.readInt()];
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaCellTerminal.MODE_SELECTED_ASPECT:
ThEBasePacket.writeAspect( this.currentAspect, stream );
break;
case Packet_S_EssentiaCellTerminal.MODE_SORT_CHANGE:
// Write the mode ordinal
stream.writeInt( this.sortMode.ordinal() );
break;
}
}
}
@@ -0,0 +1,207 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumcraft.api.aspects.Aspect;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.tileentities.TileEssentiaCellWorkbench;
public class Packet_S_EssentiaCellWorkbench
extends ThEServerPacket
{
/**
* Packet modes.
*/
private static final byte MODE_REQUEST_ADD_ASPECT = 0, MODE_REQUEST_REMOVE_ASPECT = 1, MODE_REQUEST_REPLACE_ASPECT = 2,
MODE_REQUEST_FULL_LIST = 4, MODE_REQUEST_CLEAR = 5, MODE_REQUEST_PARITION_CONTENTS = 6;
private Aspect arAspect, replaceAspect;
private TileEssentiaCellWorkbench workbench;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_EssentiaCellWorkbench newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_S_EssentiaCellWorkbench packet = new Packet_S_EssentiaCellWorkbench();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
public static void sendAddAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect aspect )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_ADD_ASPECT );
// Set the aspect
packet.arAspect = aspect;
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendClearPartitioning( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_CLEAR );
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendGetPartitionList( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_FULL_LIST );
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendPartitionToContents( final EntityPlayer player, final TileEssentiaCellWorkbench workbench )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_PARITION_CONTENTS );
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendRemoveAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect aspect )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_REMOVE_ASPECT );
// Set the aspect
packet.arAspect = aspect;
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendReplaceAspect( final EntityPlayer player, final TileEssentiaCellWorkbench workbench,
final Aspect originalAspect, final Aspect newAspect )
{
Packet_S_EssentiaCellWorkbench packet = newPacket( player, MODE_REQUEST_REPLACE_ASPECT );
// Set the aspects
packet.arAspect = originalAspect;
packet.replaceAspect = newAspect;
// Set the workbench
packet.workbench = workbench;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
// Read the workbench
this.workbench = (TileEssentiaCellWorkbench)ThEBasePacket.readTileEntity( stream );
switch ( this.mode )
{
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Read the aspect
this.arAspect = ThEBasePacket.readAspect( stream );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Read the original aspect
this.arAspect = ThEBasePacket.readAspect( stream );
// Read the replacement aspect
this.replaceAspect = ThEBasePacket.readAspect( stream );
break;
}
}
@Override
protected void writeData( final ByteBuf stream )
{
// Write the workbench
ThEBasePacket.writeTileEntity( this.workbench, stream );
switch ( this.mode )
{
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Write the aspect
ThEBasePacket.writeAspect( this.arAspect, stream );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Write the original aspect
ThEBasePacket.writeAspect( this.arAspect, stream );
// Write the replacement aspect
ThEBasePacket.writeAspect( this.replaceAspect, stream );
break;
}
}
@Override
public void execute()
{
switch ( this.mode )
{
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_ADD_ASPECT:
// Request the aspect be added
this.workbench.onClientRequestAddAspectToPartitionList( this.player, this.arAspect );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REMOVE_ASPECT:
// Request the aspect be removed
this.workbench.onClientRequestRemoveAspectFromPartitionList( this.player, this.arAspect );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_REPLACE_ASPECT:
// Request the aspect be replaced
this.workbench.onClientRequestReplaceAspectFromPartitionList( this.player, this.arAspect, this.replaceAspect );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_FULL_LIST:
// Request the full list
this.workbench.onClientRequestPartitionList( this.player );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_CLEAR:
// Request the clear
this.workbench.onClientRequestClearPartitioning( this.player );
break;
case Packet_S_EssentiaCellWorkbench.MODE_REQUEST_PARITION_CONTENTS:
this.workbench.onClientRequestPartitionToContents( this.player );
break;
}
}
}
@@ -0,0 +1,215 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.parts.AEPartEssentiaLevelEmitter;
public class Packet_S_EssentiaEmitter
extends ThEServerPacket
{
private static final byte MODE_REQUEST_UPDATE = 0;
private static final byte MODE_SEND_WANTED = 1;
private static final byte MODE_ADJUST_WANTED = 2;
private static final byte MODE_TOGGLE_REDSTONE = 3;
private AEPartEssentiaLevelEmitter part;
private long wantedAmount;
private int adjustmentAmount;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_EssentiaEmitter newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_S_EssentiaEmitter packet = new Packet_S_EssentiaEmitter();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
public static void sendRedstoneModeToggle( final AEPartEssentiaLevelEmitter part, final EntityPlayer player )
{
Packet_S_EssentiaEmitter packet = newPacket( player, MODE_TOGGLE_REDSTONE );
// Set the part
packet.part = part;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Creates a packet to let the server know a client would like a full
* update.
*
* @param part
* @param player
* @return
*/
public static void sendUpdateRequest( final AEPartEssentiaLevelEmitter part, final EntityPlayer player )
{
Packet_S_EssentiaEmitter packet = newPacket( player, MODE_REQUEST_UPDATE );
// Set the part
packet.part = part;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Creates a packet to update the wanted amount on the server
*
* @param wantedAmount
* @param part
* @param player
* @return
*/
public static void sendWantedAmount( final long wantedAmount, final AEPartEssentiaLevelEmitter part,
final EntityPlayer player )
{
Packet_S_EssentiaEmitter packet = newPacket( player, MODE_SEND_WANTED );
// Set the part
packet.part = part;
// Set the wanted amount
packet.wantedAmount = wantedAmount;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Creates a packet to adjust the wanted amount on the server
*
* @param adjustmentAmount
* @param part
* @param player
* @return
*/
public static void sendWantedAmountDelta( final int adjustmentAmount, final AEPartEssentiaLevelEmitter part,
final EntityPlayer player )
{
Packet_S_EssentiaEmitter packet = newPacket( player, MODE_ADJUST_WANTED );
// Set the part
packet.part = part;
// Set the adjustment
packet.adjustmentAmount = adjustmentAmount;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
public void execute()
{
switch ( this.mode )
{
case Packet_S_EssentiaEmitter.MODE_REQUEST_UPDATE:
// Request the full update
this.part.onClientUpdateRequest( this.player );
break;
case Packet_S_EssentiaEmitter.MODE_SEND_WANTED:
// Set the wanted amount
this.part.onClientSetWantedAmount( this.wantedAmount, this.player );
break;
case Packet_S_EssentiaEmitter.MODE_ADJUST_WANTED:
// Set the adjustment amount
this.part.onClientAdjustWantedAmount( this.adjustmentAmount, this.player );
break;
case Packet_S_EssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Toggle the redstone mode
this.part.onClientToggleRedstoneMode( this.player );
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaEmitter.MODE_REQUEST_UPDATE:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)ThEBasePacket.readPart( stream );
break;
case Packet_S_EssentiaEmitter.MODE_SEND_WANTED:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)ThEBasePacket.readPart( stream );
// Read the wanted amount
this.wantedAmount = stream.readLong();
break;
case Packet_S_EssentiaEmitter.MODE_ADJUST_WANTED:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)ThEBasePacket.readPart( stream );
// Read the adjustment amount
this.adjustmentAmount = stream.readInt();
break;
case Packet_S_EssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Read the part
this.part = (AEPartEssentiaLevelEmitter)ThEBasePacket.readPart( stream );
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaEmitter.MODE_REQUEST_UPDATE:
// Write the part
ThEBasePacket.writePart( this.part, stream );
break;
case Packet_S_EssentiaEmitter.MODE_SEND_WANTED:
// Write the part
ThEBasePacket.writePart( this.part, stream );
// Write wanted amount
stream.writeLong( this.wantedAmount );
break;
case Packet_S_EssentiaEmitter.MODE_ADJUST_WANTED:
// Write the part
ThEBasePacket.writePart( this.part, stream );
// Write the adjustment amount
stream.writeInt( this.adjustmentAmount );
break;
case Packet_S_EssentiaEmitter.MODE_TOGGLE_REDSTONE:
// Write the part
ThEBasePacket.writePart( this.part, stream );
break;
}
}
}
@@ -0,0 +1,136 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.parts.AEPartEssentiaExportBus;
import thaumicenergistics.parts.AbstractAEPartEssentiaIOBus;
public class Packet_S_EssentiaIOBus
extends ThEServerPacket
{
private static final byte MODE_REQUEST_FULL_UPDATE = 0, MODE_REQUEST_CHANGE_REDSTONE_MODE = 1, MODE_REQUEST_CHANGE_VOID_MODE = 2;
private AbstractAEPartEssentiaIOBus part;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_EssentiaIOBus newPacket( final EntityPlayer player, final byte mode, final AbstractAEPartEssentiaIOBus part )
{
// Create the packet
Packet_S_EssentiaIOBus packet = new Packet_S_EssentiaIOBus();
// Set the player & mode & part
packet.player = player;
packet.mode = mode;
packet.part = part;
return packet;
}
/**
* Sends a request to the server for a full update of the buses state.
*
* @param player
* @param part
* @return
*/
public static void sendFullUpdateRequest( final EntityPlayer player, final AbstractAEPartEssentiaIOBus part )
{
Packet_S_EssentiaIOBus packet = newPacket( player, MODE_REQUEST_FULL_UPDATE, part );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Sends a request to the server to change the redstone mode.
*
* @param player
* @param part
* @return
*/
public static void sendRedstoneModeChange( final EntityPlayer player, final AbstractAEPartEssentiaIOBus part )
{
Packet_S_EssentiaIOBus packet = newPacket( player, MODE_REQUEST_CHANGE_REDSTONE_MODE, part );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Sends a request to the server to update the void mode.
*
* @param player
* @param part
* @return
*/
public static void sendVoidModeChange( final EntityPlayer player, final AEPartEssentiaExportBus part )
{
Packet_S_EssentiaIOBus packet = newPacket( player, MODE_REQUEST_CHANGE_VOID_MODE, part );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
public void execute()
{
switch ( this.mode )
{
case Packet_S_EssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
// Request a full update
this.part.onClientRequestFullUpdate( this.player );
break;
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
// Request a redstone mode change
this.part.onClientRequestChangeRedstoneMode( this.player );
break;
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Request a void mode change
if( this.part instanceof AEPartEssentiaExportBus )
{
( (AEPartEssentiaExportBus)this.part ).onClientRequestChangeVoidMode( this.player );
}
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Read the part
this.part = ( (AbstractAEPartEssentiaIOBus)ThEBasePacket.readPart( stream ) );
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaIOBus.MODE_REQUEST_FULL_UPDATE:
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_REDSTONE_MODE:
case Packet_S_EssentiaIOBus.MODE_REQUEST_CHANGE_VOID_MODE:
// Write the part
ThEBasePacket.writePart( this.part, stream );
break;
}
}
}
@@ -0,0 +1,114 @@
package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.parts.AEPartEssentiaStorageBus;
public class Packet_S_EssentiaStorageBus
extends ThEServerPacket
{
private static final byte MODE_REQUEST_FULL_UPDATE = 0;
private static final byte MODE_REQUEST_SET_VOID = 1;
private AEPartEssentiaStorageBus part;
private boolean isVoidAllowed;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_EssentiaStorageBus newPacket( final EntityPlayer player, final byte mode, final AEPartEssentiaStorageBus part )
{
// Create the packet
Packet_S_EssentiaStorageBus packet = new Packet_S_EssentiaStorageBus();
// Set the player & mode & part
packet.player = player;
packet.mode = mode;
packet.part = part;
return packet;
}
public static void sendFullUpdateRequest( final EntityPlayer player, final AEPartEssentiaStorageBus part )
{
Packet_S_EssentiaStorageBus packet = newPacket( player, MODE_REQUEST_FULL_UPDATE, part );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void setVoidAllowed( final EntityPlayer player, final AEPartEssentiaStorageBus part,
final boolean isVoidAllowed )
{
Packet_S_EssentiaStorageBus packet = newPacket( player, MODE_REQUEST_SET_VOID, part );
// Set if void is allowed
packet.isVoidAllowed = isVoidAllowed;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
public void execute()
{
switch ( this.mode )
{
case Packet_S_EssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Request a full update
this.part.onClientRequestFullUpdate( this.player );
break;
case Packet_S_EssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Request set void
this.part.onClientRequestSetVoidMode( this.player, this.isVoidAllowed );
break;
}
}
@Override
public void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Read the part
this.part = ( (AEPartEssentiaStorageBus)ThEBasePacket.readPart( stream ) );
break;
case Packet_S_EssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Read the part
this.part = ( (AEPartEssentiaStorageBus)ThEBasePacket.readPart( stream ) );
// Read void
this.isVoidAllowed = stream.readBoolean();
break;
}
}
@Override
public void writeData( final ByteBuf stream )
{
switch ( this.mode )
{
case Packet_S_EssentiaStorageBus.MODE_REQUEST_FULL_UPDATE:
// Write the part
ThEBasePacket.writePart( this.part, stream );
break;
case Packet_S_EssentiaStorageBus.MODE_REQUEST_SET_VOID:
// Write the part
ThEBasePacket.writePart( this.part, stream );
// Write void
stream.writeBoolean( this.isVoidAllowed );
break;
}
}
}
@@ -3,13 +3,42 @@ package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.container.ContainerKnowledgeInscriber;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEServerPacket;
public class PacketServerKnowledgeInscriber
extends AbstractServerPacket
public class Packet_S_KnowledgeInscriber
extends ThEServerPacket
{
private static final byte MODE_FULL_UPDATE = 0, MODE_SAVEDELETE = 1;
public static void sendFullUpdateRequest( final EntityPlayer player )
{
Packet_S_KnowledgeInscriber packet = new Packet_S_KnowledgeInscriber();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_S_KnowledgeInscriber.MODE_FULL_UPDATE;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendSaveDelete( final EntityPlayer player )
{
Packet_S_KnowledgeInscriber packet = new Packet_S_KnowledgeInscriber();
// Set the player
packet.player = player;
// Set the mode
packet.mode = Packet_S_KnowledgeInscriber.MODE_SAVEDELETE;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
@@ -23,28 +52,6 @@ public class PacketServerKnowledgeInscriber
// Intentionally empty
}
public PacketServerKnowledgeInscriber createRequestFullUpdate( final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerKnowledgeInscriber.MODE_FULL_UPDATE;
return this;
}
public PacketServerKnowledgeInscriber createRequestSaveDelete( final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerKnowledgeInscriber.MODE_SAVEDELETE;
return this;
}
@Override
public void execute()
{
@@ -53,12 +60,12 @@ public class PacketServerKnowledgeInscriber
{
switch ( this.mode )
{
case PacketServerKnowledgeInscriber.MODE_FULL_UPDATE:
case Packet_S_KnowledgeInscriber.MODE_FULL_UPDATE:
// Request full update
( (ContainerKnowledgeInscriber)this.player.openContainer ).onClientRequestFullUpdate( this.player );
break;
case PacketServerKnowledgeInscriber.MODE_SAVEDELETE:
case Packet_S_KnowledgeInscriber.MODE_SAVEDELETE:
// Request save/delete
( (ContainerKnowledgeInscriber)this.player.openContainer ).onClientRequestSaveOrDelete( this.player );
break;
@@ -3,10 +3,11 @@ package thaumicenergistics.network.packet.server;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import thaumicenergistics.container.ContainerPriority;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEServerPacket;
public class PacketServerPriority
extends AbstractServerPacket
public class Packet_S_Priority
extends ThEServerPacket
{
private static final byte MODE_SET = 0;
private static final byte MODE_ADJUST = 1;
@@ -14,13 +15,76 @@ public class PacketServerPriority
private int priority;
/**
* Creates the packet
*
* @param player
* @param mode
* @return
*/
private static Packet_S_Priority newPacket( final EntityPlayer player, final byte mode )
{
// Create the packet
Packet_S_Priority packet = new Packet_S_Priority();
// Set the player & mode
packet.player = player;
packet.mode = mode;
return packet;
}
/**
* Asks the server to set the priority to the specified value.
*
* @param priority
* @param player
* @return
*/
public static void sendPriority( final int priority, final EntityPlayer player )
{
Packet_S_Priority packet = newPacket( player, MODE_SET );
// Set the priority
packet.priority = priority;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
/**
* Asks the server to adjust the priority by the specified value.
*
* @param priority
* @param player
* @return
*/
public static void sendPriorityDelta( final int priority, final EntityPlayer player )
{
Packet_S_Priority packet = newPacket( player, MODE_ADJUST );
// Set the priority delta
packet.priority = priority;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
public static void sendPriorityRequest( final EntityPlayer player )
{
Packet_S_Priority packet = newPacket( player, MODE_REQUEST );
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
switch ( this.mode )
{
case PacketServerPriority.MODE_SET:
case PacketServerPriority.MODE_ADJUST:
case Packet_S_Priority.MODE_SET:
case Packet_S_Priority.MODE_ADJUST:
// Read the priority
this.priority = stream.readInt();
break;
@@ -32,8 +96,8 @@ public class PacketServerPriority
{
switch ( this.mode )
{
case PacketServerPriority.MODE_SET:
case PacketServerPriority.MODE_ADJUST:
case Packet_S_Priority.MODE_SET:
case Packet_S_Priority.MODE_ADJUST:
// Write the priority
stream.writeInt( this.priority );
break;
@@ -41,59 +105,6 @@ public class PacketServerPriority
}
/**
* Asks the server to adjust the priority by the specified value.
*
* @param priority
* @param player
* @return
*/
public PacketServerPriority createRequestAdjustPriority( final int priority, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerPriority.MODE_ADJUST;
// Set the priority
this.priority = priority;
return this;
}
public PacketServerPriority createRequestPriority( final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerPriority.MODE_REQUEST;
return this;
}
/**
* Asks the server to set the priority to the specified value.
*
* @param priority
* @param player
* @return
*/
public PacketServerPriority createRequestSetPriority( final int priority, final EntityPlayer player )
{
// Set the player
this.player = player;
// Set the mode
this.mode = PacketServerPriority.MODE_SET;
// Set the priority
this.priority = priority;
return this;
}
@Override
public void execute()
{
@@ -111,17 +122,17 @@ public class PacketServerPriority
switch ( this.mode )
{
case PacketServerPriority.MODE_SET:
case Packet_S_Priority.MODE_SET:
// Set the priority
( (ContainerPriority)this.player.openContainer ).onClientRequestSetPriority( this.priority );
break;
case PacketServerPriority.MODE_ADJUST:
case Packet_S_Priority.MODE_ADJUST:
// Adjust the priority
( (ContainerPriority)this.player.openContainer ).onClientRequestAdjustPriority( this.priority );
break;
case PacketServerPriority.MODE_REQUEST:
case Packet_S_Priority.MODE_REQUEST:
// Request the priority
( (ContainerPriority)this.player.openContainer ).onClientRequestPriority();
break;
@@ -5,11 +5,12 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import thaumicenergistics.items.ItemFocusAEWrench;
import thaumicenergistics.network.packet.AbstractServerPacket;
import thaumicenergistics.network.NetworkHandler;
import thaumicenergistics.network.packet.ThEServerPacket;
import appeng.util.Platform;
public class PacketServerWrenchFocus
extends AbstractServerPacket
public class Packet_S_WrenchFocus
extends ThEServerPacket
{
// Seems redundant, but is used as a safegaurd
private static final byte MODE_FOCUSWRENCH = 1;
@@ -17,10 +18,35 @@ public class PacketServerWrenchFocus
private float eyeHeight;
private int x, y, z, side;
public static void sendWrenchFocusRequest( final EntityPlayer player, final MovingObjectPosition position )
{
Packet_S_WrenchFocus packet = new Packet_S_WrenchFocus();
// Set player
packet.player = player;
// Set mode
packet.mode = Packet_S_WrenchFocus.MODE_FOCUSWRENCH;
// Set eye height
packet.eyeHeight = Platform.getEyeOffset( player );
// Set position
packet.x = position.blockX;
packet.y = position.blockY;
packet.z = position.blockZ;
// Set side
packet.side = position.sideHit;
// Send it
NetworkHandler.sendPacketToServer( packet );
}
@Override
protected void readData( final ByteBuf stream )
{
if( this.mode == PacketServerWrenchFocus.MODE_FOCUSWRENCH )
if( this.mode == Packet_S_WrenchFocus.MODE_FOCUSWRENCH )
{
// Read the eye height
this.eyeHeight = stream.readFloat();
@@ -48,32 +74,10 @@ public class PacketServerWrenchFocus
stream.writeInt( this.side );
}
public PacketServerWrenchFocus createWrenchFocusRequest( final EntityPlayer player, final MovingObjectPosition position )
{
// Set player
this.player = player;
// Set mode
this.mode = PacketServerWrenchFocus.MODE_FOCUSWRENCH;
// Set eye height
this.eyeHeight = Platform.getEyeOffset( player );
// Set position
this.x = position.blockX;
this.y = position.blockY;
this.z = position.blockZ;
// Set side
this.side = position.sideHit;
return this;
}
@Override
public void execute()
{
if( this.mode == PacketServerWrenchFocus.MODE_FOCUSWRENCH )
if( this.mode == Packet_S_WrenchFocus.MODE_FOCUSWRENCH )
{
// Create the MOP
MovingObjectPosition position = new MovingObjectPosition( this.x, this.y, this.z, this.side, Vec3.createVectorHelper( 0, 0, 0 ), true );
@@ -0,0 +1,18 @@
package thaumicenergistics.network.packet.server;
import thaumicenergistics.network.packet.ThEServerPacket;
import thaumicenergistics.network.packet.WrapperPacket;
public class WrapperPacket_S
extends WrapperPacket
{
public WrapperPacket_S()
{
}
public WrapperPacket_S( final ThEServerPacket packet )
{
super( packet );
}
}
@@ -24,7 +24,7 @@ import thaumicenergistics.gui.GuiArcaneCraftingTerminal;
import thaumicenergistics.gui.ThEGuiHandler;
import thaumicenergistics.integration.tc.DigiVisSourceData;
import thaumicenergistics.integration.tc.IDigiVisSource;
import thaumicenergistics.network.packet.server.PacketServerChangeGui;
import thaumicenergistics.network.packet.server.Packet_S_ChangeGui;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.registries.EnumCache;
import thaumicenergistics.texture.BlockTextureManager;
@@ -572,8 +572,7 @@ public class AEPartArcaneCraftingTerminal
else
{
// Ask the server to change the GUI
new PacketServerChangeGui().createChangeGuiRequest( this, player, host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord )
.sendPacketToServer();
Packet_S_ChangeGui.sendGuiChange( this, player, host.getWorldObj(), host.xCoord, host.yCoord, host.zCoord );
}
}
@@ -10,7 +10,7 @@ import thaumcraft.api.aspects.Aspect;
import thaumcraft.common.tiles.TileJarFillableVoid;
import thaumicenergistics.grid.IMEEssentiaMonitor;
import thaumicenergistics.integration.tc.EssentiaTileContainerHelper;
import thaumicenergistics.network.packet.client.PacketClientEssentiaIOBus;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaIOBus;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.texture.BlockTextureManager;
import appeng.api.config.Actionable;
@@ -44,7 +44,7 @@ public class AEPartEssentiaExportBus
*/
private void sendVoidModeToClient( final EntityPlayer player )
{
new PacketClientEssentiaIOBus().createVoidModeUpdate( player, this.isVoidAllowed ).sendPacketToPlayer();
Packet_C_EssentiaIOBus.sendVoidMode( player, this.isVoidAllowed );
}
@Override
@@ -22,8 +22,8 @@ import thaumicenergistics.grid.IMEEssentiaMonitor;
import thaumicenergistics.gui.GuiEssentiaLevelEmitter;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotPart;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.PacketClientEssentiaEmitter;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaEmitter;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.registries.EnumCache;
import thaumicenergistics.texture.BlockTextureManager;
@@ -339,7 +339,7 @@ public class AEPartEssentiaLevelEmitter
this.markForSave();
// Send validated amount back to the client
new PacketClientEssentiaEmitter().createWantedAmountUpdate( this.wantedAmount, player ).sendPacketToPlayer();
Packet_C_EssentiaEmitter.setWantedAmount( this.wantedAmount, player );
// Check if we should be emitting
this.updateEmittingState();
@@ -371,7 +371,7 @@ public class AEPartEssentiaLevelEmitter
this.updateEmittingState();
// Send the new mode to the client
new PacketClientEssentiaEmitter().createRedstoneModeUpdate( this.redstoneMode, player ).sendPacketToPlayer();
Packet_C_EssentiaEmitter.sendRedstoneMode( this.redstoneMode, player );
}
@@ -383,12 +383,12 @@ public class AEPartEssentiaLevelEmitter
public void onClientUpdateRequest( final EntityPlayer player )
{
// Send the full update to the client
new PacketClientEssentiaEmitter().createFullUpdate( this.redstoneMode, this.wantedAmount, player ).sendPacketToPlayer();
Packet_C_EssentiaEmitter.sendEmitterState( this.redstoneMode, this.wantedAmount, player );
// Send the filter to the client
List<Aspect> filter = new ArrayList<Aspect>();
filter.add( this.trackedEssentia );
new PacketClientAspectSlot().createFilterListUpdate( filter, player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( filter, player );
}
/**
@@ -400,26 +400,6 @@ public class AEPartEssentiaLevelEmitter
this.setCurrentAmount( storedAmount );
}
// TODO: Remove debug code
/*
@Override
public boolean onShiftActivate( final EntityPlayer player, final Vec3 position )
{
if( EffectiveSide.isClientSide() )
{
player.addChatMessage( new ChatComponentTranslation( "--", (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Threshold Amount: " + this.wantedAmount, (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Aspect: " +
( this.trackedEssentia == null ? "None" : this.trackedEssentia.getName() ), (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Network Amount: " + this.currentAmount, (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Emitting: " + ( this.isEmitting ? "Yes" : "No" ), (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Completed Stage: " + this.debugTrackingStage, (Object)null ) );
player.addChatMessage( new ChatComponentTranslation( "Monitor ID: " + this.debugMonID, (Object)null ) );
}
return false;
}
*/
/**
* Spawns redstone particles when emitting
*/
@@ -590,7 +570,7 @@ public class AEPartEssentiaLevelEmitter
// Send the aspect to the client
List<Aspect> filter = new ArrayList<Aspect>();
filter.add( aspect );
new PacketClientAspectSlot().createFilterListUpdate( filter, player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( filter, player );
}
}
@@ -18,8 +18,8 @@ import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.inventory.AbstractHandlerEssentiaStorageBus;
import thaumicenergistics.inventory.HandlerEssentiaStorageBusDuality;
import thaumicenergistics.network.IAspectSlotPart;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.PacketClientEssentiaStorageBus;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaStorageBus;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.texture.BlockTextureManager;
import thaumicenergistics.util.EffectiveSide;
@@ -383,10 +383,10 @@ public class AEPartEssentiaStorageBus
public void onClientRequestFullUpdate( final EntityPlayer player )
{
// Send the void mode
new PacketClientEssentiaStorageBus().createSetIsVoidAllowed( player, this.handler.isVoidAllowed() ).sendPacketToPlayer();
Packet_C_EssentiaStorageBus.sendIsVoidAllowed( player, this.handler.isVoidAllowed() );
// Send the filter
new PacketClientAspectSlot().createFilterListUpdate( this.filteredAspects, player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( this.filteredAspects, player );
}
/**
@@ -14,8 +14,8 @@ import thaumicenergistics.container.ContainerPartEssentiaIOBus;
import thaumicenergistics.gui.GuiEssentiaIO;
import thaumicenergistics.integration.tc.EssentiaItemContainerHelper;
import thaumicenergistics.network.IAspectSlotPart;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.PacketClientEssentiaIOBus;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_EssentiaIOBus;
import thaumicenergistics.registries.AEPartsEnum;
import thaumicenergistics.registries.EnumCache;
import thaumicenergistics.util.EffectiveSide;
@@ -410,10 +410,10 @@ public abstract class AbstractAEPartEssentiaIOBus
public void onClientRequestFullUpdate( final EntityPlayer player )
{
// Set the filter list
new PacketClientAspectSlot().createFilterListUpdate( this.filteredAspects, player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( this.filteredAspects, player );
// Set the state of the bus
new PacketClientEssentiaIOBus().createFullUpdate( player, this.redstoneMode, this.filterSize, this.redstoneControlled ).sendPacketToPlayer();
Packet_C_EssentiaIOBus.sendBusState( player, this.redstoneMode, this.filterSize, this.redstoneControlled );
}
@Override
@@ -12,7 +12,7 @@ import thaumicenergistics.ThaumicEnergistics;
import thaumicenergistics.container.ContainerEssentiaCellWorkbench;
import thaumicenergistics.inventory.HandlerItemEssentiaCell;
import thaumicenergistics.items.ItemEssentiaCell;
import thaumicenergistics.network.packet.client.PacketClientAspectSlot;
import thaumicenergistics.network.packet.client.Packet_C_AspectSlot;
import thaumicenergistics.util.EffectiveSide;
import appeng.api.storage.IMEInventory;
import appeng.api.storage.ISaveProvider;
@@ -224,7 +224,7 @@ public class TileEssentiaCellWorkbench
}
// Send to client
new PacketClientAspectSlot().createFilterListUpdate( partitionList, player ).sendPacketToPlayer();
Packet_C_AspectSlot.setFilterList( partitionList, player );
}
/**
@@ -13,7 +13,7 @@ import thaumicenergistics.aspect.AspectStack;
import thaumicenergistics.container.ContainerEssentiaVibrationChamber;
import thaumicenergistics.integration.IWailaSource;
import thaumicenergistics.integration.tc.EssentiaTransportHelper;
import thaumicenergistics.network.packet.AbstractPacket;
import thaumicenergistics.network.packet.ThEBasePacket;
import thaumicenergistics.registries.ThEStrings;
import thaumicenergistics.tileentities.abstraction.TileEVCBase;
import appeng.api.config.Actionable;
@@ -451,7 +451,7 @@ public class TileEssentiaVibrationChamber
if( stream.readBoolean() )
{
// Read aspect
this.processingAspect = AbstractPacket.readAspect( stream );
this.processingAspect = ThEBasePacket.readAspect( stream );
}
}
@@ -470,7 +470,7 @@ public class TileEssentiaVibrationChamber
if( this.processingChanged )
{
// Write aspect
AbstractPacket.writeAspect( this.processingAspect, stream );
ThEBasePacket.writeAspect( this.processingAspect, stream );
}
this.processingChanged = false;