Make item and npc loaders simply load a definition
This commit is contained in:
@@ -36,7 +36,9 @@ import java.io.File;
|
|||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import net.runelite.cache.definitions.ItemDefinition;
|
import net.runelite.cache.definitions.ItemDefinition;
|
||||||
import net.runelite.cache.definitions.loaders.ItemLoader;
|
import net.runelite.cache.definitions.loaders.ItemLoader;
|
||||||
@@ -50,6 +52,7 @@ public class ItemDumper
|
|||||||
private final File cache, out, java;
|
private final File cache, out, java;
|
||||||
private final Gson gson;
|
private final Gson gson;
|
||||||
private ItemLoader loader;
|
private ItemLoader loader;
|
||||||
|
private final List<ItemDefinition> items = new ArrayList<>();
|
||||||
|
|
||||||
public ItemDumper(File cache, File out, File java)
|
public ItemDumper(File cache, File out, File java)
|
||||||
{
|
{
|
||||||
@@ -97,7 +100,7 @@ public class ItemDumper
|
|||||||
|
|
||||||
public void dump() throws IOException
|
public void dump() throws IOException
|
||||||
{
|
{
|
||||||
for (ItemDefinition def : loader.getItems())
|
for (ItemDefinition def : items)
|
||||||
{
|
{
|
||||||
out.mkdirs();
|
out.mkdirs();
|
||||||
java.io.File targ = new java.io.File(out, def.id + ".json");
|
java.io.File targ = new java.io.File(out, def.id + ".json");
|
||||||
@@ -120,7 +123,7 @@ public class ItemDumper
|
|||||||
fw.println("package net.runelite.api;");
|
fw.println("package net.runelite.api;");
|
||||||
fw.println("");
|
fw.println("");
|
||||||
fw.println("public final class ItemID {");
|
fw.println("public final class ItemID {");
|
||||||
for (ItemDefinition def : loader.getItems())
|
for (ItemDefinition def : items)
|
||||||
{
|
{
|
||||||
if (def.name.equalsIgnoreCase("NULL"))
|
if (def.name.equalsIgnoreCase("NULL"))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ import java.io.File;
|
|||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import net.runelite.cache.definitions.NpcDefinition;
|
import net.runelite.cache.definitions.NpcDefinition;
|
||||||
import net.runelite.cache.definitions.loaders.NpcLoader;
|
import net.runelite.cache.definitions.loaders.NpcLoader;
|
||||||
@@ -50,6 +52,7 @@ public class NpcDumper
|
|||||||
private final File cache, out, java;
|
private final File cache, out, java;
|
||||||
private final Gson gson;
|
private final Gson gson;
|
||||||
private NpcLoader loader;
|
private NpcLoader loader;
|
||||||
|
private final List<NpcDefinition> npcs = new ArrayList<>();
|
||||||
|
|
||||||
public NpcDumper(File cache, File out, File java)
|
public NpcDumper(File cache, File out, File java)
|
||||||
{
|
{
|
||||||
@@ -90,14 +93,15 @@ public class NpcDumper
|
|||||||
|
|
||||||
for (net.runelite.cache.fs.File f : archive.getFiles())
|
for (net.runelite.cache.fs.File f : archive.getFiles())
|
||||||
{
|
{
|
||||||
loader.load(f.getFileId(), new InputStream(f.getContents()));
|
NpcDefinition npc = loader.load(f.getFileId(), new InputStream(f.getContents()));
|
||||||
|
npcs.add(npc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dump() throws IOException
|
public void dump() throws IOException
|
||||||
{
|
{
|
||||||
for (NpcDefinition def : loader.getNpcs())
|
for (NpcDefinition def : npcs)
|
||||||
{
|
{
|
||||||
out.mkdirs();
|
out.mkdirs();
|
||||||
java.io.File targ = new java.io.File(out, def.id + ".json");
|
java.io.File targ = new java.io.File(out, def.id + ".json");
|
||||||
@@ -120,7 +124,7 @@ public class NpcDumper
|
|||||||
fw.println("package net.runelite.api;");
|
fw.println("package net.runelite.api;");
|
||||||
fw.println("");
|
fw.println("");
|
||||||
fw.println("public final class NpcID {");
|
fw.println("public final class NpcID {");
|
||||||
for (NpcDefinition def : loader.getNpcs())
|
for (NpcDefinition def : npcs)
|
||||||
{
|
{
|
||||||
if (def.name.equalsIgnoreCase("NULL"))
|
if (def.name.equalsIgnoreCase("NULL"))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -30,8 +30,6 @@
|
|||||||
|
|
||||||
package net.runelite.cache.definitions.loaders;
|
package net.runelite.cache.definitions.loaders;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import net.runelite.cache.definitions.ItemDefinition;
|
import net.runelite.cache.definitions.ItemDefinition;
|
||||||
import net.runelite.cache.io.InputStream;
|
import net.runelite.cache.io.InputStream;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -40,14 +38,8 @@ import org.slf4j.LoggerFactory;
|
|||||||
public class ItemLoader
|
public class ItemLoader
|
||||||
{
|
{
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ItemLoader.class);
|
private static final Logger logger = LoggerFactory.getLogger(ItemLoader.class);
|
||||||
private final List<ItemDefinition> items = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<ItemDefinition> getItems()
|
public ItemDefinition load(int id, InputStream stream)
|
||||||
{
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void load(int id, InputStream stream)
|
|
||||||
{
|
{
|
||||||
ItemDefinition def = new ItemDefinition(id);
|
ItemDefinition def = new ItemDefinition(id);
|
||||||
|
|
||||||
@@ -62,7 +54,7 @@ public class ItemLoader
|
|||||||
this.decodeValues(opcode, def, stream);
|
this.decodeValues(opcode, def, stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
items.add(def);
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void decodeValues(int opcode, ItemDefinition def, InputStream stream)
|
private void decodeValues(int opcode, ItemDefinition def, InputStream stream)
|
||||||
|
|||||||
@@ -27,11 +27,8 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.runelite.cache.definitions.loaders;
|
package net.runelite.cache.definitions.loaders;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import net.runelite.cache.definitions.NpcDefinition;
|
import net.runelite.cache.definitions.NpcDefinition;
|
||||||
import net.runelite.cache.io.InputStream;
|
import net.runelite.cache.io.InputStream;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -40,16 +37,11 @@ import org.slf4j.LoggerFactory;
|
|||||||
public class NpcLoader
|
public class NpcLoader
|
||||||
{
|
{
|
||||||
private static final Logger logger = LoggerFactory.getLogger(NpcLoader.class);
|
private static final Logger logger = LoggerFactory.getLogger(NpcLoader.class);
|
||||||
private final List<NpcDefinition> npcs = new ArrayList<>();
|
|
||||||
|
|
||||||
public List<NpcDefinition> getNpcs()
|
public NpcDefinition load(int id, InputStream stream)
|
||||||
{
|
|
||||||
return npcs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void load(int id, InputStream stream)
|
|
||||||
{
|
{
|
||||||
NpcDefinition def = new NpcDefinition(id);
|
NpcDefinition def = new NpcDefinition(id);
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
int opcode = stream.readUnsignedByte();
|
int opcode = stream.readUnsignedByte();
|
||||||
@@ -60,7 +52,8 @@ public class NpcLoader
|
|||||||
|
|
||||||
this.decodeValues(opcode, def, stream);
|
this.decodeValues(opcode, def, stream);
|
||||||
}
|
}
|
||||||
npcs.add(def);
|
|
||||||
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
void decodeValues(int opcode, NpcDefinition def, InputStream stream)
|
void decodeValues(int opcode, NpcDefinition def, InputStream stream)
|
||||||
|
|||||||
Reference in New Issue
Block a user