diff --git a/src/main/java/client/processor/action/MakerProcessor.java b/src/main/java/client/processor/action/MakerProcessor.java index d27d5eabc4..d23a59aa5e 100644 --- a/src/main/java/client/processor/action/MakerProcessor.java +++ b/src/main/java/client/processor/action/MakerProcessor.java @@ -35,7 +35,6 @@ import server.MapleItemInformationProvider; import tools.FilePrinter; import tools.PacketCreator; import tools.Pair; -import tools.data.input.SeekableLittleEndianAccessor; import java.util.LinkedHashMap; import java.util.LinkedList; diff --git a/src/main/java/client/processor/npc/StorageProcessor.java b/src/main/java/client/processor/npc/StorageProcessor.java index cca5e158cc..65679e7439 100644 --- a/src/main/java/client/processor/npc/StorageProcessor.java +++ b/src/main/java/client/processor/npc/StorageProcessor.java @@ -36,7 +36,6 @@ import server.MapleItemInformationProvider; import server.MapleStorage; import tools.FilePrinter; import tools.PacketCreator; -import tools.data.input.SeekableLittleEndianAccessor; /** * diff --git a/src/main/java/client/processor/stat/AssignAPProcessor.java b/src/main/java/client/processor/stat/AssignAPProcessor.java index 13cd40f0ae..7e4afb1437 100644 --- a/src/main/java/client/processor/stat/AssignAPProcessor.java +++ b/src/main/java/client/processor/stat/AssignAPProcessor.java @@ -33,7 +33,6 @@ import constants.skills.*; import net.packet.InPacket; import tools.PacketCreator; import tools.Randomizer; -import tools.data.input.SeekableLittleEndianAccessor; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/net/MaplePacketHandler.java b/src/main/java/net/MaplePacketHandler.java index 1d3b6293ae..119259bb86 100644 --- a/src/main/java/net/MaplePacketHandler.java +++ b/src/main/java/net/MaplePacketHandler.java @@ -23,7 +23,6 @@ package net; import client.MapleClient; import net.packet.InPacket; -import tools.data.input.SeekableLittleEndianAccessor; public interface MaplePacketHandler { void handlePacket(InPacket p, MapleClient c); diff --git a/src/main/java/net/server/channel/handlers/AbstractDealDamageHandler.java b/src/main/java/net/server/channel/handlers/AbstractDealDamageHandler.java index d2363d58aa..a979406b8f 100644 --- a/src/main/java/net/server/channel/handlers/AbstractDealDamageHandler.java +++ b/src/main/java/net/server/channel/handlers/AbstractDealDamageHandler.java @@ -42,7 +42,6 @@ import server.maps.MapleMapObjectType; import tools.PacketCreator; import tools.Pair; import tools.Randomizer; -import tools.data.input.LittleEndianAccessor; import java.awt.*; import java.util.List; diff --git a/src/main/java/net/server/channel/handlers/AbstractMovementPacketHandler.java b/src/main/java/net/server/channel/handlers/AbstractMovementPacketHandler.java index f3a56c6edf..40f82e6f72 100644 --- a/src/main/java/net/server/channel/handlers/AbstractMovementPacketHandler.java +++ b/src/main/java/net/server/channel/handlers/AbstractMovementPacketHandler.java @@ -21,22 +21,16 @@ */ package net.server.channel.handlers; -import java.awt.Point; -import java.util.ArrayList; -import java.util.List; - import net.AbstractMaplePacketHandler; import net.packet.InPacket; import server.maps.AnimatedMapleMapObject; -import server.movement.AbsoluteLifeMovement; -import server.movement.ChangeEquip; -import server.movement.JumpDownMovement; -import server.movement.LifeMovementFragment; -import server.movement.RelativeLifeMovement; -import server.movement.TeleportMovement; -import tools.data.input.LittleEndianAccessor; +import server.movement.*; import tools.exceptions.EmptyMovementException; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; + public abstract class AbstractMovementPacketHandler extends AbstractMaplePacketHandler { protected List parseMovement(InPacket p) throws EmptyMovementException { diff --git a/src/main/java/net/server/channel/handlers/QuestActionHandler.java b/src/main/java/net/server/channel/handlers/QuestActionHandler.java index 48cb29affe..460961b8d3 100644 --- a/src/main/java/net/server/channel/handlers/QuestActionHandler.java +++ b/src/main/java/net/server/channel/handlers/QuestActionHandler.java @@ -21,15 +21,15 @@ */ package net.server.channel.handlers; -import java.awt.Point; import client.MapleCharacter; import client.MapleClient; import net.AbstractMaplePacketHandler; import net.packet.InPacket; import scripting.quest.QuestScriptManager; -import server.quest.MapleQuest; import server.life.MapleNPC; -import tools.data.input.SeekableLittleEndianAccessor; +import server.quest.MapleQuest; + +import java.awt.*; /** * diff --git a/src/main/java/tools/PacketCreator.java b/src/main/java/tools/PacketCreator.java index b2d623befe..ee23f8ae6b 100644 --- a/src/main/java/tools/PacketCreator.java +++ b/src/main/java/tools/PacketCreator.java @@ -67,7 +67,6 @@ import server.life.MobSkill; import server.maps.*; import server.maps.MapleMiniGame.MiniGameResult; import server.movement.LifeMovementFragment; -import tools.data.input.SeekableLittleEndianAccessor; import java.awt.*; import java.net.InetAddress; diff --git a/src/main/java/tools/data/input/ByteArrayByteStream.java b/src/main/java/tools/data/input/ByteArrayByteStream.java deleted file mode 100644 index eac7de21ea..0000000000 --- a/src/main/java/tools/data/input/ByteArrayByteStream.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.io.IOException; -import tools.HexTool; - -public class ByteArrayByteStream implements SeekableInputStreamBytestream { - private int pos = 0; - private long bytesRead = 0; - private byte[] arr; - - public ByteArrayByteStream(byte[] arr) { - this.arr = arr; - } - - @Override - public long getPosition() { - return pos; - } - - @Override - public void seek(long offset) throws IOException { - pos = (int) offset; - } - - @Override - public long getBytesRead() { - return bytesRead; - } - - @Override - public int readByte() { - bytesRead++; - return ((int) arr[pos++]) & 0xFF; - } - - @Override - public String toString() { - String nows = "kevintjuh93 pwns";//I lol'd - if (arr.length - pos > 0) { - byte[] now = new byte[arr.length - pos]; - System.arraycopy(arr, pos, now, 0, arr.length - pos); - nows = HexTool.toString(now); - } - return "All: " + HexTool.toString(arr) + "\nNow: " + nows; - } - - @Override - public long available() { - return arr.length - pos; - } -} diff --git a/src/main/java/tools/data/input/ByteInputStream.java b/src/main/java/tools/data/input/ByteInputStream.java deleted file mode 100644 index 107f71843e..0000000000 --- a/src/main/java/tools/data/input/ByteInputStream.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -/** - * Represents an abstract stream of bytes. - * - * @author Frz - * @version 1.0 - * @since Revision 323 - */ -public interface ByteInputStream { - int readByte(); - long getBytesRead(); - long available(); -} diff --git a/src/main/java/tools/data/input/GenericLittleEndianAccessor.java b/src/main/java/tools/data/input/GenericLittleEndianAccessor.java deleted file mode 100644 index 9718a830b5..0000000000 --- a/src/main/java/tools/data/input/GenericLittleEndianAccessor.java +++ /dev/null @@ -1,239 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.awt.*; -import java.io.ByteArrayOutputStream; - -/** - * Provides a generic interface to a Little Endian stream of bytes. - * - * @version 1.0 - * @author Frz - * @since Revision 323 - */ -public class GenericLittleEndianAccessor implements LittleEndianAccessor { - private ByteInputStream bs; - - /** - * Class constructor - Wraps the accessor around a stream of bytes. - * - * @param bs The byte stream to wrap the accessor around. - */ - public GenericLittleEndianAccessor(ByteInputStream bs) { - this.bs = bs; - } - - /** - * Read a single byte from the stream. - * - * @return The byte read. - * @see tools.data.input.ByteInputStream#readByte - */ - @Override - public byte readByte() { - return (byte) bs.readByte(); - } - - /** - * Reads an integer from the stream. - * - * @return The integer read. - */ - @Override - public int readInt() { - return bs.readByte() + (bs.readByte() << 8) + (bs.readByte() << 16) + (bs.readByte() << 24); - } - - /** - * Reads a short integer from the stream. - * - * @return The short read. - */ - @Override - public short readShort() { - return (short) (bs.readByte() + (bs.readByte() << 8)); - } - - /** - * Reads a single character from the stream. - * - * @return The character read. - */ - @Override - public char readChar() { - return (char) readShort(); - } - - /** - * Reads a long integer from the stream. - * - * @return The long integer read. - */ - @Override - public long readLong() { - long byte1 = bs.readByte(); - long byte2 = bs.readByte(); - long byte3 = bs.readByte(); - long byte4 = bs.readByte(); - long byte5 = bs.readByte(); - long byte6 = bs.readByte(); - long byte7 = bs.readByte(); - long byte8 = bs.readByte(); - return (byte8 << 56) + (byte7 << 48) + (byte6 << 40) + (byte5 << 32) + (byte4 << 24) + (byte3 << 16) + (byte2 << 8) + byte1; - } - - /** - * Reads a floating point integer from the stream. - * - * @return The float-type integer read. - */ - @Override - public float readFloat() { - return Float.intBitsToFloat(readInt()); - } - - /** - * Reads a double-precision integer from the stream. - * - * @return The double-type integer read. - */ - @Override - public double readDouble() { - return Double.longBitsToDouble(readLong()); - } - - /** - * Reads an ASCII string from the stream with length n. - * - * @param n Number of characters to read. - * @return The string read. - */ - public final String readAsciiString(int n) { - char[] ret = new char[n]; - for (int x = 0; x < n; x++) { - ret[x] = (char) readByte(); - } - return String.valueOf(ret); - } - - /** - * Reads a null-terminated string from the stream. - * - * @return The string read. - */ - public final String readNullTerminatedAsciiString() { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte b; - while (true) { - b = readByte(); - if (b == 0) { - break; - } - baos.write(b); - } - byte[] buf = baos.toByteArray(); - char[] chrBuf = new char[buf.length]; - for (int x = 0; x < buf.length; x++) { - chrBuf[x] = (char) buf[x]; - } - return String.valueOf(chrBuf); - } - - /** - * Gets the number of bytes read from the stream so far. - * - * @return A long integer representing the number of bytes read. - * @see tools.data.input.ByteInputStream#getBytesRead() - */ - public long getBytesRead() { - return bs.getBytesRead(); - } - - /** - * Reads a MapleStory convention lengthed ASCII string. - * This consists of a short integer telling the length of the string, - * then the string itself. - * - * @return The string read. - */ - @Override - public String readMapleAsciiString() { - return readAsciiString(readShort()); - } - - /** - * Reads num bytes off the stream. - * - * @param num The number of bytes to read. - * @return An array of bytes with the length of num - */ - @Override - public byte[] read(int num) { - byte[] ret = new byte[num]; - for (int x = 0; x < num; x++) { - ret[x] = readByte(); - } - return ret; - } - - /** - * Reads a MapleStory Position information. - * This consists of 2 short integer. - * - * @return The Position read. - */ - @Override - public final Point readPos() { - final int x = readShort(); - final int y = readShort(); - return new Point(x, y); - } - - /** - * Skips the current position of the stream num bytes ahead. - * - * @param num Number of bytes to skip. - */ - @Override - public void skip(int num) { - for (int x = 0; x < num; x++) { - readByte(); - } - } - - /** - * @see tools.data.input.ByteInputStream#available - */ - @Override - public long available() { - return bs.available(); - } - - /** - * @see java.lang.Object#toString - */ - @Override - public String toString() { - return bs.toString(); - } -} \ No newline at end of file diff --git a/src/main/java/tools/data/input/GenericSeekableLittleEndianAccessor.java b/src/main/java/tools/data/input/GenericSeekableLittleEndianAccessor.java deleted file mode 100644 index fdd147d796..0000000000 --- a/src/main/java/tools/data/input/GenericSeekableLittleEndianAccessor.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.io.IOException; - -/** - * Provides an abstract accessor to a generic Little Endian byte stream. This - * accessor is seekable. - * - * @author Frz - * @version 1.0 - * @since Revision 323 - * @see tools.data.input.GenericLittleEndianAccessor - */ -public class GenericSeekableLittleEndianAccessor extends GenericLittleEndianAccessor implements SeekableLittleEndianAccessor { - private SeekableInputStreamBytestream bs; - - /** - * Class constructor - * Provide a seekable input stream to wrap this object around. - * - * @param bs The byte stream to wrap this around. - */ - public GenericSeekableLittleEndianAccessor(SeekableInputStreamBytestream bs) { - super(bs); - this.bs = bs; - } - - /** - * Seek the pointer to offset - * - * @param offset The offset to seek to. - * @see tools.data.input.SeekableInputStreamBytestream#seek - */ - @Override - public void seek(long offset) { - try { - bs.seek(offset); - } catch (IOException e) { - e.printStackTrace(); - System.out.println("Seek failed " + e); - } - } - - /** - * Get the current position of the pointer. - * - * @return The current position of the pointer as a long integer. - * @see tools.data.input.SeekableInputStreamBytestream#getPosition - */ - @Override - public long getPosition() { - try { - return bs.getPosition(); - } catch (IOException e) { - e.printStackTrace(); - System.out.println("getPosition failed" + e); - return -1; - } - } - - /** - * Skip num number of bytes in the stream. - * - * @param num The number of bytes to skip. - */ - @Override - public void skip(int num) { - seek(getPosition() + num); - } -} diff --git a/src/main/java/tools/data/input/InputStreamByteStream.java b/src/main/java/tools/data/input/InputStreamByteStream.java deleted file mode 100644 index 70aef3489f..0000000000 --- a/src/main/java/tools/data/input/InputStreamByteStream.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.io.IOException; -import java.io.InputStream; - -/** - * Provides an abstract wrapper to a stream of bytes. - * - * @author Frz - * @version 1.0 - * @since Revision 323 - */ -public class InputStreamByteStream implements ByteInputStream { - private InputStream is; - private long read = 0; - - /** - * Class constructor. - * Provide an input stream to wrap this around. - * - * @param is The input stream to wrap this object around. - */ - public InputStreamByteStream(InputStream is) { - this.is = is; - } - - /** - * Reads the next byte from the stream. - * - * @return Then next byte in the stream. - */ - @Override - public int readByte() { - int temp; - try { - temp = is.read(); - if (temp == -1) { - throw new RuntimeException("EOF"); - } - read++; - return temp; - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - /** - * Gets the number of bytes read from the stream. - * - * @return The number of bytes read as a long integer. - */ - @Override - public long getBytesRead() { - return read; - } - - /** - * Returns the number of bytes left in the stream. - * - * @return The number of bytes available for reading as a long integer. - */ - @Override - public long available() { - try { - return is.available(); - } catch (IOException e) { - e.printStackTrace(); - System.out.println("ERROR" + e); - return 0; - } - } -} diff --git a/src/main/java/tools/data/input/LittleEndianAccessor.java b/src/main/java/tools/data/input/LittleEndianAccessor.java deleted file mode 100644 index f991dbf537..0000000000 --- a/src/main/java/tools/data/input/LittleEndianAccessor.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.awt.Point; - -/** - * @author Frz - */ -public interface LittleEndianAccessor { - byte readByte(); - char readChar(); - short readShort(); - int readInt(); - Point readPos(); - long readLong(); - void skip(int num); - byte[] read(int num); - float readFloat(); - double readDouble(); - String readAsciiString(int n); - String readNullTerminatedAsciiString(); - String readMapleAsciiString(); - long getBytesRead(); - long available(); -} diff --git a/src/main/java/tools/data/input/RandomAccessByteStream.java b/src/main/java/tools/data/input/RandomAccessByteStream.java deleted file mode 100644 index c0004be17f..0000000000 --- a/src/main/java/tools/data/input/RandomAccessByteStream.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.io.IOException; -import java.io.RandomAccessFile; - -/** - * Provides an abstract layer to a byte stream. This layer can be accessed - * randomly. - * - * @author Frz - * @version 1.0 - * @since Revision 323 - */ -public class RandomAccessByteStream implements SeekableInputStreamBytestream { - private RandomAccessFile raf; - private long read = 0; - - public RandomAccessByteStream(RandomAccessFile raf) { - super(); - this.raf = raf; - } - - @Override - public int readByte() { - int temp; - try { - temp = raf.read(); - if (temp == -1) { - throw new RuntimeException("EOF"); - } - read++; - return temp; - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public void seek(long offset) throws IOException { - raf.seek(offset); - } - - @Override - public long getPosition() throws IOException { - return raf.getFilePointer(); - } - - @Override - public long getBytesRead() { - return read; - } - - @Override - public long available() { - try { - return raf.length() - raf.getFilePointer(); - } catch (IOException e) { - e.printStackTrace(); - System.out.println("ERROR " + e); - return 0; - } - } -} diff --git a/src/main/java/tools/data/input/SeekableInputStreamBytestream.java b/src/main/java/tools/data/input/SeekableInputStreamBytestream.java deleted file mode 100644 index f4922dc876..0000000000 --- a/src/main/java/tools/data/input/SeekableInputStreamBytestream.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -import java.io.IOException; - -/** - * Provides an abstract interface to a stream of bytes. This stream can be - * seeked. - * - * @author Frz - * @version 1.0 - * @since 299 - */ -public interface SeekableInputStreamBytestream extends ByteInputStream { - /** - * Seeks the stream by the specified offset. - * - * @param offset - * Number of bytes to seek. - * @throws IOException - */ - void seek(long offset) throws IOException; - - /** - * Gets the current position of the stream. - * - * @return The stream position as a long integer. - * @throws IOException - */ - long getPosition() throws IOException; -} diff --git a/src/main/java/tools/data/input/SeekableLittleEndianAccessor.java b/src/main/java/tools/data/input/SeekableLittleEndianAccessor.java deleted file mode 100644 index 16b2317f7a..0000000000 --- a/src/main/java/tools/data/input/SeekableLittleEndianAccessor.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - This file is part of the OdinMS Maple Story Server - Copyright (C) 2008 Patrick Huy - Matthias Butz - Jan Christian Meyer - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation version 3 as published by - the Free Software Foundation. You may not use, modify or distribute - this program under any other version of the GNU Affero General Public - License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -package tools.data.input; - -public interface SeekableLittleEndianAccessor extends LittleEndianAccessor { - void seek(long offset); - long getPosition(); -}