Merge branch 'tmorph-update' of https://github.com/Ganom/runelite into tmorph-panel

This commit is contained in:
Ganom
2020-01-25 15:21:14 -05:00
36 changed files with 1536 additions and 609 deletions

View File

@@ -26,6 +26,7 @@ package net.runelite.api.kit;
import lombok.AllArgsConstructor;
import lombok.Getter;
import net.runelite.api.widgets.WidgetInfo;
/**
* Represents an equipment slot in a players composition.
@@ -39,19 +40,19 @@ import lombok.Getter;
@AllArgsConstructor
public enum KitType
{
HELMET("Helmet", 0),
CAPE("Cape", 1),
AMULET("Amulet", 2),
WEAPON("Weapon", 3),
TORSO("Torso", 4),
SHIELD("Shield", 5),
LEGS("Legs", 7),
HEAD("Head", 8),
HANDS("Hands", 9),
BOOTS("Boots", 10),
JAW("Jaw", 11),
RING("Ring", 12),
AMMUNITION("Ammo", 13);
HELMET("Helmet", 0, WidgetInfo.EQUIPMENT_HELMET),
CAPE("Cape", 1, WidgetInfo.EQUIPMENT_CAPE),
AMULET("Amulet", 2, WidgetInfo.EQUIPMENT_AMULET),
WEAPON("Weapon", 3, WidgetInfo.EQUIPMENT_WEAPON),
TORSO("Torso", 4, WidgetInfo.EQUIPMENT_BODY),
SHIELD("Shield", 5, WidgetInfo.EQUIPMENT_SHIELD),
LEGS("Legs", 7, WidgetInfo.EQUIPMENT_LEGS),
HEAD("Head", 8, null),
HANDS("Hands", 9, WidgetInfo.EQUIPMENT_GLOVES),
BOOTS("Boots", 10, WidgetInfo.EQUIPMENT_BOOTS),
JAW("Jaw", 11, null),
RING("Ring", 12, WidgetInfo.EQUIPMENT_RING),
AMMUNITION("Ammo", 13, WidgetInfo.EQUIPMENT_AMMO);
private final String name;
@@ -59,4 +60,6 @@ public enum KitType
* Gets the raw equipment index for use in {PlayerAppearance#getEquipmentIds()}.
*/
private final int index;
}
private final WidgetInfo widgetInfo;
}

View File

@@ -315,6 +315,17 @@ public class WidgetID
static class Equipment
{
static final int HELMET = 14;
static final int CAPE = 15;
static final int AMULET = 16;
static final int WEAPON = 17;
static final int BODY = 18;
static final int SHIELD = 19;
static final int LEGS = 20;
static final int GLOVES = 21;
static final int BOOTS = 22;
static final int RING = 23;
static final int AMMO = 24;
static final int INVENTORY_ITEM_CONTAINER = 0;
}
@@ -1202,4 +1213,4 @@ public class WidgetID
{
static final int CONTAINER = 0;
}
}
}

View File

@@ -63,6 +63,18 @@ public enum WidgetInfo
EQUIPMENT(WidgetID.EQUIPMENT_GROUP_ID, 0),
EQUIPMENT_INVENTORY_ITEMS_CONTAINER(WidgetID.EQUIPMENT_INVENTORY_GROUP_ID, WidgetID.Equipment.INVENTORY_ITEM_CONTAINER),
EQUIPMENT_HELMET(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.HELMET),
EQUIPMENT_CAPE(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.CAPE),
EQUIPMENT_AMULET(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.AMULET),
EQUIPMENT_WEAPON(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.WEAPON),
EQUIPMENT_BODY(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.BODY),
EQUIPMENT_SHIELD(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.SHIELD),
EQUIPMENT_LEGS(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.LEGS),
EQUIPMENT_GLOVES(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.GLOVES),
EQUIPMENT_BOOTS(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.BOOTS),
EQUIPMENT_RING(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.RING),
EQUIPMENT_AMMO(WidgetID.EQUIPMENT_GROUP_ID, WidgetID.Equipment.AMMO),
EMOTE_WINDOW(WidgetID.EMOTES_GROUP_ID, WidgetID.Emotes.EMOTE_WINDOW),
EMOTE_CONTAINER(WidgetID.EMOTES_GROUP_ID, WidgetID.Emotes.EMOTE_CONTAINER),
EMOTE_SCROLLBAR(WidgetID.EMOTES_GROUP_ID, WidgetID.Emotes.EMOTE_SCROLLBAR),
@@ -860,4 +872,4 @@ public enum WidgetInfo
return groupId << 16 | childId;
}
}
}

View File

@@ -26,7 +26,7 @@ public class GenerateClasses
)
.withTarget(new Target()
.withPackageName("net.runelite.client.database.data")
.withDirectory("runelite-client/src/main/java/net/runelite/client/database/data")
.withDirectory("runelite-client/src/main/java/")
)
);

View File

@@ -7,7 +7,7 @@ package net.runelite.client.database.data;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import org.jooq.Schema;
import org.jooq.impl.CatalogImpl;
@@ -18,7 +18,7 @@ import org.jooq.impl.CatalogImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -26,7 +26,7 @@ import org.jooq.impl.CatalogImpl;
public class DefaultCatalog extends CatalogImpl
{
private static final long serialVersionUID = 836257769;
private static final long serialVersionUID = -102989253;
/**
* The reference instance of <code></code>

View File

@@ -4,10 +4,11 @@
package net.runelite.client.database.data;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerevents;
import net.runelite.client.database.data.tables.Loottrackerlink;
import net.runelite.client.database.data.tables.Loottrackerloot;
import net.runelite.client.database.data.tables.TmorphSets;
import net.runelite.client.database.data.tables.User;
import org.jooq.Index;
import org.jooq.OrderField;
@@ -20,7 +21,7 @@ import org.jooq.impl.Internal;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -33,11 +34,13 @@ public class Indexes
// -------------------------------------------------------------------------
public static final Index PRIMARY_KEY_B = Indexes0.PRIMARY_KEY_B;
public static final Index FK_LOOTTRACKERDROP_INDEX_6 = Indexes0.FK_LOOTTRACKERDROP_INDEX_6;
public static final Index FK_LOOTTRACKEREVENT_INDEX_6 = Indexes0.FK_LOOTTRACKEREVENT_INDEX_6;
public static final Index FK_LOOTTRACKERLOOT_INDEX_6 = Indexes0.FK_LOOTTRACKERLOOT_INDEX_6;
public static final Index PRIMARY_KEY_6B = Indexes0.PRIMARY_KEY_6B;
public static final Index FK_USER_INDEX_6 = Indexes0.FK_USER_INDEX_6;
public static final Index PRIMARY_KEY_6 = Indexes0.PRIMARY_KEY_6;
public static final Index TMORPH_SETS_SET_NAME_UINDEX = Indexes0.TMORPH_SETS_SET_NAME_UINDEX;
public static final Index PRIMARY_KEY_2 = Indexes0.PRIMARY_KEY_2;
public static final Index UN_USERNAME_INDEX_2 = Indexes0.UN_USERNAME_INDEX_2;
// -------------------------------------------------------------------------
// [#1459] distribute members to avoid static initialisers > 64kb
@@ -46,10 +49,12 @@ public class Indexes
private static class Indexes0
{
public static Index PRIMARY_KEY_B = Internal.createIndex("PRIMARY_KEY_B", Loottrackerevents.LOOTTRACKEREVENTS, new OrderField[]{Loottrackerevents.LOOTTRACKEREVENTS.UNIQUEID}, true);
public static Index FK_LOOTTRACKERDROP_INDEX_6 = Internal.createIndex("FK_LOOTTRACKERDROP_INDEX_6", Loottrackerlink.LOOTTRACKERLINK, new OrderField[]{Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID}, false);
public static Index FK_LOOTTRACKEREVENT_INDEX_6 = Internal.createIndex("FK_LOOTTRACKEREVENT_INDEX_6", Loottrackerlink.LOOTTRACKERLINK, new OrderField[]{Loottrackerlink.LOOTTRACKERLINK.EVENTUNIQUEID}, false);
public static Index FK_LOOTTRACKERLOOT_INDEX_6 = Internal.createIndex("FK_LOOTTRACKERLOOT_INDEX_6", Loottrackerlink.LOOTTRACKERLINK, new OrderField[]{Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID}, false);
public static Index PRIMARY_KEY_6B = Internal.createIndex("PRIMARY_KEY_6B", Loottrackerlink.LOOTTRACKERLINK, new OrderField[]{Loottrackerlink.LOOTTRACKERLINK.LINKUNIQUEID}, true);
public static Index FK_USER_INDEX_6 = Internal.createIndex("FK_USER_INDEX_6", Loottrackerlink.LOOTTRACKERLINK, new OrderField[]{Loottrackerlink.LOOTTRACKERLINK.USERUNIQUEID}, false);
public static Index PRIMARY_KEY_6 = Internal.createIndex("PRIMARY_KEY_6", Loottrackerloot.LOOTTRACKERLOOT, new OrderField[]{Loottrackerloot.LOOTTRACKERLOOT.UNIQUEID}, true);
public static Index TMORPH_SETS_SET_NAME_UINDEX = Internal.createIndex("TMORPH_SETS_SET_NAME_UINDEX", TmorphSets.TMORPH_SETS, new OrderField[]{TmorphSets.TMORPH_SETS.SET_NAME}, true);
public static Index PRIMARY_KEY_2 = Internal.createIndex("PRIMARY_KEY_2", User.USER, new OrderField[]{User.USER.UNIQUEID}, true);
public static Index UN_USERNAME_INDEX_2 = Internal.createIndex("UN_USERNAME_INDEX_2", User.USER, new OrderField[]{User.USER.USERNAME}, true);
}
}

View File

@@ -4,7 +4,7 @@
package net.runelite.client.database.data;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerevents;
import net.runelite.client.database.data.tables.Loottrackerlink;
import net.runelite.client.database.data.tables.Loottrackerloot;
@@ -25,7 +25,7 @@ import org.jooq.impl.Internal;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -42,17 +42,17 @@ public class Keys
// UNIQUE and PRIMARY KEY definitions
// -------------------------------------------------------------------------
public static final UniqueKey<LoottrackereventsRecord> PK_EVENTUNIQUEID = UniqueKeys0.PK_EVENTUNIQUEID;
public static final UniqueKey<LoottrackerlinkRecord> PK_LOOTTRACKERLINK = UniqueKeys0.PK_LOOTTRACKERLINK;
public static final UniqueKey<LoottrackerlootRecord> PK_LOOTUNIQUEID = UniqueKeys0.PK_LOOTUNIQUEID;
public static final UniqueKey<LoottrackereventsRecord> PK_LOOTTRACKEREVENTS = UniqueKeys0.PK_LOOTTRACKEREVENTS;
public static final UniqueKey<LoottrackerlootRecord> PK_LOOTTRACKERDROPS = UniqueKeys0.PK_LOOTTRACKERDROPS;
public static final UniqueKey<UserRecord> PK_USER = UniqueKeys0.PK_USER;
public static final UniqueKey<UserRecord> UN_USERNAME = UniqueKeys0.UN_USERNAME;
// -------------------------------------------------------------------------
// FOREIGN KEY definitions
// -------------------------------------------------------------------------
public static final ForeignKey<LoottrackerlinkRecord, LoottrackereventsRecord> FK_LOOTTRACKEREVENT = ForeignKeys0.FK_LOOTTRACKEREVENT;
public static final ForeignKey<LoottrackerlinkRecord, LoottrackerlootRecord> FK_LOOTTRACKERLOOT = ForeignKeys0.FK_LOOTTRACKERLOOT;
public static final ForeignKey<LoottrackerlinkRecord, LoottrackerlootRecord> FK_LOOTTRACKERDROP = ForeignKeys0.FK_LOOTTRACKERDROP;
public static final ForeignKey<LoottrackerlinkRecord, UserRecord> FK_USER = ForeignKeys0.FK_USER;
// -------------------------------------------------------------------------
@@ -61,16 +61,16 @@ public class Keys
private static class UniqueKeys0
{
public static final UniqueKey<LoottrackereventsRecord> PK_EVENTUNIQUEID = Internal.createUniqueKey(Loottrackerevents.LOOTTRACKEREVENTS, "PK_EVENTUNIQUEID", Loottrackerevents.LOOTTRACKEREVENTS.UNIQUEID);
public static final UniqueKey<LoottrackerlinkRecord> PK_LOOTTRACKERLINK = Internal.createUniqueKey(Loottrackerlink.LOOTTRACKERLINK, "PK_LOOTTRACKERLINK", Loottrackerlink.LOOTTRACKERLINK.LINKUNIQUEID);
public static final UniqueKey<LoottrackerlootRecord> PK_LOOTUNIQUEID = Internal.createUniqueKey(Loottrackerloot.LOOTTRACKERLOOT, "PK_LOOTUNIQUEID", Loottrackerloot.LOOTTRACKERLOOT.UNIQUEID);
public static final UniqueKey<LoottrackereventsRecord> PK_LOOTTRACKEREVENTS = Internal.createUniqueKey(Loottrackerevents.LOOTTRACKEREVENTS, "PK_LOOTTRACKEREVENTS", Loottrackerevents.LOOTTRACKEREVENTS.UNIQUEID);
public static final UniqueKey<LoottrackerlootRecord> PK_LOOTTRACKERDROPS = Internal.createUniqueKey(Loottrackerloot.LOOTTRACKERLOOT, "PK_LOOTTRACKERDROPS", Loottrackerloot.LOOTTRACKERLOOT.UNIQUEID);
public static final UniqueKey<UserRecord> PK_USER = Internal.createUniqueKey(User.USER, "PK_USER", User.USER.UNIQUEID);
public static final UniqueKey<UserRecord> UN_USERNAME = Internal.createUniqueKey(User.USER, "UN_USERNAME", User.USER.USERNAME);
}
private static class ForeignKeys0
{
public static final ForeignKey<LoottrackerlinkRecord, LoottrackereventsRecord> FK_LOOTTRACKEREVENT = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_EVENTUNIQUEID, Loottrackerlink.LOOTTRACKERLINK, "FK_LOOTTRACKEREVENT", Loottrackerlink.LOOTTRACKERLINK.EVENTUNIQUEID);
public static final ForeignKey<LoottrackerlinkRecord, LoottrackerlootRecord> FK_LOOTTRACKERLOOT = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_LOOTUNIQUEID, Loottrackerlink.LOOTTRACKERLINK, "FK_LOOTTRACKERLOOT", Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID);
public static final ForeignKey<LoottrackerlinkRecord, UserRecord> FK_USER = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_USER, Loottrackerlink.LOOTTRACKERLINK, "FK_USER", Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID);
public static final ForeignKey<LoottrackerlinkRecord, LoottrackereventsRecord> FK_LOOTTRACKEREVENT = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_LOOTTRACKEREVENTS, Loottrackerlink.LOOTTRACKERLINK, "FK_LOOTTRACKEREVENT", Loottrackerlink.LOOTTRACKERLINK.EVENTUNIQUEID);
public static final ForeignKey<LoottrackerlinkRecord, LoottrackerlootRecord> FK_LOOTTRACKERDROP = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_LOOTTRACKERDROPS, Loottrackerlink.LOOTTRACKERLINK, "FK_LOOTTRACKERDROP", Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID);
public static final ForeignKey<LoottrackerlinkRecord, UserRecord> FK_USER = Internal.createForeignKey(net.runelite.client.database.data.Keys.PK_USER, Loottrackerlink.LOOTTRACKERLINK, "FK_USER", Loottrackerlink.LOOTTRACKERLINK.USERUNIQUEID);
}
}

View File

@@ -7,10 +7,11 @@ package net.runelite.client.database.data;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerevents;
import net.runelite.client.database.data.tables.Loottrackerlink;
import net.runelite.client.database.data.tables.Loottrackerloot;
import net.runelite.client.database.data.tables.TmorphSets;
import net.runelite.client.database.data.tables.User;
import org.jooq.Catalog;
import org.jooq.Table;
@@ -23,7 +24,7 @@ import org.jooq.impl.SchemaImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -31,7 +32,7 @@ import org.jooq.impl.SchemaImpl;
public class Public extends SchemaImpl
{
private static final long serialVersionUID = 1499404561;
private static final long serialVersionUID = 1268129010;
/**
* The reference instance of <code>PUBLIC</code>
@@ -53,6 +54,11 @@ public class Public extends SchemaImpl
*/
public final Loottrackerloot LOOTTRACKERLOOT = net.runelite.client.database.data.tables.Loottrackerloot.LOOTTRACKERLOOT;
/**
* The table <code>PUBLIC.TMORPH_SETS</code>.
*/
public final TmorphSets TMORPH_SETS = net.runelite.client.database.data.tables.TmorphSets.TMORPH_SETS;
/**
* The table <code>PUBLIC.USER</code>.
*/
@@ -67,9 +73,6 @@ public class Public extends SchemaImpl
}
/**
* {@inheritDoc}
*/
@Override
public Catalog getCatalog()
{
@@ -90,6 +93,7 @@ public class Public extends SchemaImpl
Loottrackerevents.LOOTTRACKEREVENTS,
Loottrackerlink.LOOTTRACKERLINK,
Loottrackerloot.LOOTTRACKERLOOT,
TmorphSets.TMORPH_SETS,
User.USER);
}
}

View File

@@ -4,10 +4,11 @@
package net.runelite.client.database.data;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerevents;
import net.runelite.client.database.data.tables.Loottrackerlink;
import net.runelite.client.database.data.tables.Loottrackerloot;
import net.runelite.client.database.data.tables.TmorphSets;
import net.runelite.client.database.data.tables.User;
@@ -17,7 +18,7 @@ import net.runelite.client.database.data.tables.User;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -28,20 +29,25 @@ public class Tables
/**
* The table <code>PUBLIC.LOOTTRACKEREVENTS</code>.
*/
public static final Loottrackerevents LOOTTRACKEREVENTS = net.runelite.client.database.data.tables.Loottrackerevents.LOOTTRACKEREVENTS;
public static final Loottrackerevents LOOTTRACKEREVENTS = Loottrackerevents.LOOTTRACKEREVENTS;
/**
* The table <code>PUBLIC.LOOTTRACKERLINK</code>.
*/
public static final Loottrackerlink LOOTTRACKERLINK = net.runelite.client.database.data.tables.Loottrackerlink.LOOTTRACKERLINK;
public static final Loottrackerlink LOOTTRACKERLINK = Loottrackerlink.LOOTTRACKERLINK;
/**
* The table <code>PUBLIC.LOOTTRACKERLOOT</code>.
*/
public static final Loottrackerloot LOOTTRACKERLOOT = net.runelite.client.database.data.tables.Loottrackerloot.LOOTTRACKERLOOT;
public static final Loottrackerloot LOOTTRACKERLOOT = Loottrackerloot.LOOTTRACKERLOOT;
/**
* The table <code>PUBLIC.TMORPH_SETS</code>.
*/
public static final TmorphSets TMORPH_SETS = TmorphSets.TMORPH_SETS;
/**
* The table <code>PUBLIC.USER</code>.
*/
public static final User USER = net.runelite.client.database.data.tables.User.USER;
public static final User USER = User.USER;
}

View File

@@ -8,7 +8,7 @@ import java.sql.Timestamp;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.Indexes;
import net.runelite.client.database.data.Keys;
import net.runelite.client.database.data.Public;
@@ -18,6 +18,7 @@ import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row4;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@@ -32,7 +33,7 @@ import org.jooq.impl.TableImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -40,7 +41,7 @@ import org.jooq.impl.TableImpl;
public class Loottrackerevents extends TableImpl<LoottrackereventsRecord>
{
private static final long serialVersionUID = -824670812;
private static final long serialVersionUID = 1578403652;
/**
* The reference instance of <code>PUBLIC.LOOTTRACKEREVENTS</code>
@@ -59,22 +60,22 @@ public class Loottrackerevents extends TableImpl<LoottrackereventsRecord>
/**
* The column <code>PUBLIC.LOOTTRACKEREVENTS.UNIQUEID</code>.
*/
public final TableField<LoottrackereventsRecord, UUID> UNIQUEID = createField("UNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackereventsRecord, UUID> UNIQUEID = createField(DSL.name("UNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKEREVENTS.EVENTID</code>.
*/
public final TableField<LoottrackereventsRecord, String> EVENTID = createField("EVENTID", org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");
public final TableField<LoottrackereventsRecord, String> EVENTID = createField(DSL.name("EVENTID"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKEREVENTS.TYPE</code>.
*/
public final TableField<LoottrackereventsRecord, String> TYPE = createField("TYPE", org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");
public final TableField<LoottrackereventsRecord, String> TYPE = createField(DSL.name("TYPE"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKEREVENTS.TIME</code>.
*/
public final TableField<LoottrackereventsRecord, Timestamp> TIME = createField("TIME", org.jooq.impl.SQLDataType.TIMESTAMP.precision(6).nullable(false), this, "");
public final TableField<LoottrackereventsRecord, Timestamp> TIME = createField(DSL.name("TIME"), org.jooq.impl.SQLDataType.TIMESTAMP.precision(6).nullable(false), this, "");
/**
* Create a <code>PUBLIC.LOOTTRACKEREVENTS</code> table reference
@@ -115,54 +116,36 @@ public class Loottrackerevents extends TableImpl<LoottrackereventsRecord>
super(child, key, LOOTTRACKEREVENTS);
}
/**
* {@inheritDoc}
*/
@Override
public Schema getSchema()
{
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes()
{
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_B);
}
/**
* {@inheritDoc}
*/
@Override
public UniqueKey<LoottrackereventsRecord> getPrimaryKey()
{
return Keys.PK_EVENTUNIQUEID;
return Keys.PK_LOOTTRACKEREVENTS;
}
/**
* {@inheritDoc}
*/
@Override
public List<UniqueKey<LoottrackereventsRecord>> getKeys()
{
return Arrays.<UniqueKey<LoottrackereventsRecord>>asList(Keys.PK_EVENTUNIQUEID);
return Arrays.<UniqueKey<LoottrackereventsRecord>>asList(Keys.PK_LOOTTRACKEREVENTS);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerevents as(String alias)
{
return new Loottrackerevents(DSL.name(alias), this);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerevents as(Name alias)
{
@@ -186,4 +169,14 @@ public class Loottrackerevents extends TableImpl<LoottrackereventsRecord>
{
return new Loottrackerevents(name, null);
}
// -------------------------------------------------------------------------
// Row4 type methods
// -------------------------------------------------------------------------
@Override
public Row4<UUID, String, String, Timestamp> fieldsRow()
{
return (Row4) super.fieldsRow();
}
}

View File

@@ -7,7 +7,7 @@ package net.runelite.client.database.data.tables;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.Indexes;
import net.runelite.client.database.data.Keys;
import net.runelite.client.database.data.Public;
@@ -17,10 +17,10 @@ import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row4;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.TableImpl;
@@ -31,7 +31,7 @@ import org.jooq.impl.TableImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -39,7 +39,7 @@ import org.jooq.impl.TableImpl;
public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
{
private static final long serialVersionUID = 1145289106;
private static final long serialVersionUID = -1694278583;
/**
* The reference instance of <code>PUBLIC.LOOTTRACKERLINK</code>
@@ -58,22 +58,22 @@ public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
/**
* The column <code>PUBLIC.LOOTTRACKERLINK.LINKUNIQUEID</code>.
*/
public final TableField<LoottrackerlinkRecord, UUID> LINKUNIQUEID = createField("LINKUNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackerlinkRecord, UUID> LINKUNIQUEID = createField(DSL.name("LINKUNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKERLINK.EVENTUNIQUEID</code>.
*/
public final TableField<LoottrackerlinkRecord, UUID> EVENTUNIQUEID = createField("EVENTUNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackerlinkRecord, UUID> EVENTUNIQUEID = createField(DSL.name("EVENTUNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKERLINK.DROPUNIQUEID</code>.
*/
public final TableField<LoottrackerlinkRecord, UUID> DROPUNIQUEID = createField("DROPUNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackerlinkRecord, UUID> DROPUNIQUEID = createField(DSL.name("DROPUNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKERLINK.USERUNIQUEID</code>.
*/
public final TableField<LoottrackerlinkRecord, UUID> USERUNIQUEID = createField("USERUNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackerlinkRecord, UUID> USERUNIQUEID = createField(DSL.name("USERUNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* Create a <code>PUBLIC.LOOTTRACKERLINK</code> table reference
@@ -114,49 +114,22 @@ public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
super(child, key, LOOTTRACKERLINK);
}
/**
* {@inheritDoc}
*/
@Override
public Schema getSchema()
{
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes()
{
return Arrays.<Index>asList(Indexes.FK_LOOTTRACKEREVENT_INDEX_6, Indexes.FK_LOOTTRACKERLOOT_INDEX_6, Indexes.PRIMARY_KEY_6B);
return Arrays.<Index>asList(Indexes.FK_LOOTTRACKERDROP_INDEX_6, Indexes.FK_LOOTTRACKEREVENT_INDEX_6, Indexes.FK_USER_INDEX_6);
}
/**
* {@inheritDoc}
*/
@Override
public UniqueKey<LoottrackerlinkRecord> getPrimaryKey()
{
return Keys.PK_LOOTTRACKERLINK;
}
/**
* {@inheritDoc}
*/
@Override
public List<UniqueKey<LoottrackerlinkRecord>> getKeys()
{
return Arrays.<UniqueKey<LoottrackerlinkRecord>>asList(Keys.PK_LOOTTRACKERLINK);
}
/**
* {@inheritDoc}
*/
@Override
public List<ForeignKey<LoottrackerlinkRecord, ?>> getReferences()
{
return Arrays.<ForeignKey<LoottrackerlinkRecord, ?>>asList(Keys.FK_LOOTTRACKEREVENT, Keys.FK_LOOTTRACKERLOOT, Keys.FK_USER);
return Arrays.<ForeignKey<LoottrackerlinkRecord, ?>>asList(Keys.FK_LOOTTRACKEREVENT, Keys.FK_LOOTTRACKERDROP, Keys.FK_USER);
}
public Loottrackerevents loottrackerevents()
@@ -166,7 +139,7 @@ public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
public Loottrackerloot loottrackerloot()
{
return new Loottrackerloot(this, Keys.FK_LOOTTRACKERLOOT);
return new Loottrackerloot(this, Keys.FK_LOOTTRACKERDROP);
}
public User user()
@@ -174,18 +147,12 @@ public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
return new User(this, Keys.FK_USER);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerlink as(String alias)
{
return new Loottrackerlink(DSL.name(alias), this);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerlink as(Name alias)
{
@@ -209,4 +176,14 @@ public class Loottrackerlink extends TableImpl<LoottrackerlinkRecord>
{
return new Loottrackerlink(name, null);
}
// -------------------------------------------------------------------------
// Row4 type methods
// -------------------------------------------------------------------------
@Override
public Row4<UUID, UUID, UUID, UUID> fieldsRow()
{
return (Row4) super.fieldsRow();
}
}

View File

@@ -7,7 +7,7 @@ package net.runelite.client.database.data.tables;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.Indexes;
import net.runelite.client.database.data.Keys;
import net.runelite.client.database.data.Public;
@@ -17,6 +17,7 @@ import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row3;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@@ -31,7 +32,7 @@ import org.jooq.impl.TableImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -39,7 +40,7 @@ import org.jooq.impl.TableImpl;
public class Loottrackerloot extends TableImpl<LoottrackerlootRecord>
{
private static final long serialVersionUID = 1952959378;
private static final long serialVersionUID = 1461948279;
/**
* The reference instance of <code>PUBLIC.LOOTTRACKERLOOT</code>
@@ -58,17 +59,17 @@ public class Loottrackerloot extends TableImpl<LoottrackerlootRecord>
/**
* The column <code>PUBLIC.LOOTTRACKERLOOT.UNIQUEID</code>.
*/
public final TableField<LoottrackerlootRecord, UUID> UNIQUEID = createField("UNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<LoottrackerlootRecord, UUID> UNIQUEID = createField(DSL.name("UNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKERLOOT.ITEMID</code>.
*/
public final TableField<LoottrackerlootRecord, Integer> ITEMID = createField("ITEMID", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
public final TableField<LoottrackerlootRecord, Integer> ITEMID = createField(DSL.name("ITEMID"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.LOOTTRACKERLOOT.QUANTITY</code>.
*/
public final TableField<LoottrackerlootRecord, Integer> QUANTITY = createField("QUANTITY", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
public final TableField<LoottrackerlootRecord, Integer> QUANTITY = createField(DSL.name("QUANTITY"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* Create a <code>PUBLIC.LOOTTRACKERLOOT</code> table reference
@@ -109,54 +110,36 @@ public class Loottrackerloot extends TableImpl<LoottrackerlootRecord>
super(child, key, LOOTTRACKERLOOT);
}
/**
* {@inheritDoc}
*/
@Override
public Schema getSchema()
{
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes()
{
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_6);
}
/**
* {@inheritDoc}
*/
@Override
public UniqueKey<LoottrackerlootRecord> getPrimaryKey()
{
return Keys.PK_LOOTUNIQUEID;
return Keys.PK_LOOTTRACKERDROPS;
}
/**
* {@inheritDoc}
*/
@Override
public List<UniqueKey<LoottrackerlootRecord>> getKeys()
{
return Arrays.<UniqueKey<LoottrackerlootRecord>>asList(Keys.PK_LOOTUNIQUEID);
return Arrays.<UniqueKey<LoottrackerlootRecord>>asList(Keys.PK_LOOTTRACKERDROPS);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerloot as(String alias)
{
return new Loottrackerloot(DSL.name(alias), this);
}
/**
* {@inheritDoc}
*/
@Override
public Loottrackerloot as(Name alias)
{
@@ -180,4 +163,14 @@ public class Loottrackerloot extends TableImpl<LoottrackerlootRecord>
{
return new Loottrackerloot(name, null);
}
// -------------------------------------------------------------------------
// Row3 type methods
// -------------------------------------------------------------------------
@Override
public Row3<UUID, Integer, Integer> fieldsRow()
{
return (Row3) super.fieldsRow();
}
}

View File

@@ -0,0 +1,196 @@
/*
* This file is generated by jOOQ.
*/
package net.runelite.client.database.data.tables;
import java.util.Arrays;
import java.util.List;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.Indexes;
import net.runelite.client.database.data.Public;
import net.runelite.client.database.data.tables.records.TmorphSetsRecord;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row10;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.impl.DSL;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@SuppressWarnings({"all", "unchecked", "rawtypes"})
public class TmorphSets extends TableImpl<TmorphSetsRecord>
{
private static final long serialVersionUID = -2027086786;
/**
* The reference instance of <code>PUBLIC.TMORPH_SETS</code>
*/
public static final TmorphSets TMORPH_SETS = new TmorphSets();
/**
* The class holding records for this type
*/
@Override
public Class<TmorphSetsRecord> getRecordType()
{
return TmorphSetsRecord.class;
}
/**
* The column <code>PUBLIC.TMORPH_SETS.SET_NAME</code>.
*/
public final TableField<TmorphSetsRecord, String> SET_NAME = createField(DSL.name("SET_NAME"), org.jooq.impl.SQLDataType.VARCHAR(255).nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.HELMET</code>.
*/
public final TableField<TmorphSetsRecord, Integer> HELMET = createField(DSL.name("HELMET"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.CAPE</code>.
*/
public final TableField<TmorphSetsRecord, Integer> CAPE = createField(DSL.name("CAPE"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.AMULET</code>.
*/
public final TableField<TmorphSetsRecord, Integer> AMULET = createField(DSL.name("AMULET"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.WEAPON</code>.
*/
public final TableField<TmorphSetsRecord, Integer> WEAPON = createField(DSL.name("WEAPON"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.TORSO</code>.
*/
public final TableField<TmorphSetsRecord, Integer> TORSO = createField(DSL.name("TORSO"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.SHIELD</code>.
*/
public final TableField<TmorphSetsRecord, Integer> SHIELD = createField(DSL.name("SHIELD"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.LEGS</code>.
*/
public final TableField<TmorphSetsRecord, Integer> LEGS = createField(DSL.name("LEGS"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.HANDS</code>.
*/
public final TableField<TmorphSetsRecord, Integer> HANDS = createField(DSL.name("HANDS"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>PUBLIC.TMORPH_SETS.BOOTS</code>.
*/
public final TableField<TmorphSetsRecord, Integer> BOOTS = createField(DSL.name("BOOTS"), org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
/**
* Create a <code>PUBLIC.TMORPH_SETS</code> table reference
*/
public TmorphSets()
{
this(DSL.name("TMORPH_SETS"), null);
}
/**
* Create an aliased <code>PUBLIC.TMORPH_SETS</code> table reference
*/
public TmorphSets(String alias)
{
this(DSL.name(alias), TMORPH_SETS);
}
/**
* Create an aliased <code>PUBLIC.TMORPH_SETS</code> table reference
*/
public TmorphSets(Name alias)
{
this(alias, TMORPH_SETS);
}
private TmorphSets(Name alias, Table<TmorphSetsRecord> aliased)
{
this(alias, aliased, null);
}
private TmorphSets(Name alias, Table<TmorphSetsRecord> aliased, Field<?>[] parameters)
{
super(alias, null, aliased, parameters, DSL.comment(""));
}
public <O extends Record> TmorphSets(Table<O> child, ForeignKey<O, TmorphSetsRecord> key)
{
super(child, key, TMORPH_SETS);
}
@Override
public Schema getSchema()
{
return Public.PUBLIC;
}
@Override
public List<Index> getIndexes()
{
return Arrays.<Index>asList(Indexes.TMORPH_SETS_SET_NAME_UINDEX);
}
@Override
public TmorphSets as(String alias)
{
return new TmorphSets(DSL.name(alias), this);
}
@Override
public TmorphSets as(Name alias)
{
return new TmorphSets(alias, this);
}
/**
* Rename this table
*/
@Override
public TmorphSets rename(String name)
{
return new TmorphSets(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public TmorphSets rename(Name name)
{
return new TmorphSets(name, null);
}
// -------------------------------------------------------------------------
// Row10 type methods
// -------------------------------------------------------------------------
@Override
public Row10<String, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow()
{
return (Row10) super.fieldsRow();
}
}

View File

@@ -7,7 +7,7 @@ package net.runelite.client.database.data.tables;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.Indexes;
import net.runelite.client.database.data.Keys;
import net.runelite.client.database.data.Public;
@@ -17,6 +17,7 @@ import org.jooq.ForeignKey;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row2;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@@ -31,7 +32,7 @@ import org.jooq.impl.TableImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -39,7 +40,7 @@ import org.jooq.impl.TableImpl;
public class User extends TableImpl<UserRecord>
{
private static final long serialVersionUID = 270848699;
private static final long serialVersionUID = -668009102;
/**
* The reference instance of <code>PUBLIC.USER</code>
@@ -58,12 +59,12 @@ public class User extends TableImpl<UserRecord>
/**
* The column <code>PUBLIC.USER.UNIQUEID</code>.
*/
public final TableField<UserRecord, UUID> UNIQUEID = createField("UNIQUEID", org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
public final TableField<UserRecord, UUID> UNIQUEID = createField(DSL.name("UNIQUEID"), org.jooq.impl.SQLDataType.UUID.nullable(false), this, "");
/**
* The column <code>PUBLIC.USER.USERNAME</code>.
*/
public final TableField<UserRecord, String> USERNAME = createField("USERNAME", org.jooq.impl.SQLDataType.VARCHAR(12).nullable(false), this, "");
public final TableField<UserRecord, String> USERNAME = createField(DSL.name("USERNAME"), org.jooq.impl.SQLDataType.VARCHAR(12).nullable(false), this, "");
/**
* Create a <code>PUBLIC.USER</code> table reference
@@ -104,54 +105,36 @@ public class User extends TableImpl<UserRecord>
super(child, key, USER);
}
/**
* {@inheritDoc}
*/
@Override
public Schema getSchema()
{
return Public.PUBLIC;
}
/**
* {@inheritDoc}
*/
@Override
public List<Index> getIndexes()
{
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_2);
return Arrays.<Index>asList(Indexes.PRIMARY_KEY_2, Indexes.UN_USERNAME_INDEX_2);
}
/**
* {@inheritDoc}
*/
@Override
public UniqueKey<UserRecord> getPrimaryKey()
{
return Keys.PK_USER;
}
/**
* {@inheritDoc}
*/
@Override
public List<UniqueKey<UserRecord>> getKeys()
{
return Arrays.<UniqueKey<UserRecord>>asList(Keys.PK_USER);
return Arrays.<UniqueKey<UserRecord>>asList(Keys.PK_USER, Keys.UN_USERNAME);
}
/**
* {@inheritDoc}
*/
@Override
public User as(String alias)
{
return new User(DSL.name(alias), this);
}
/**
* {@inheritDoc}
*/
@Override
public User as(Name alias)
{
@@ -175,4 +158,14 @@ public class User extends TableImpl<UserRecord>
{
return new User(name, null);
}
// -------------------------------------------------------------------------
// Row2 type methods
// -------------------------------------------------------------------------
@Override
public Row2<UUID, String> fieldsRow()
{
return (Row2) super.fieldsRow();
}
}

View File

@@ -6,7 +6,7 @@ package net.runelite.client.database.data.tables.records;
import java.sql.Timestamp;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerevents;
import org.jooq.Field;
import org.jooq.Record1;
@@ -21,7 +21,7 @@ import org.jooq.impl.UpdatableRecordImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -29,7 +29,7 @@ import org.jooq.impl.UpdatableRecordImpl;
public class LoottrackereventsRecord extends UpdatableRecordImpl<LoottrackereventsRecord> implements Record4<UUID, String, String, Timestamp>
{
private static final long serialVersionUID = -1505143967;
private static final long serialVersionUID = -1418522415;
/**
* Setter for <code>PUBLIC.LOOTTRACKEREVENTS.UNIQUEID</code>.
@@ -99,9 +99,6 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
// Primary key information
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Record1<UUID> key()
{
@@ -112,135 +109,90 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
// Record4 type implementation
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Row4<UUID, String, String, Timestamp> fieldsRow()
{
return (Row4) super.fieldsRow();
}
/**
* {@inheritDoc}
*/
@Override
public Row4<UUID, String, String, Timestamp> valuesRow()
{
return (Row4) super.valuesRow();
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field1()
{
return Loottrackerevents.LOOTTRACKEREVENTS.UNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<String> field2()
{
return Loottrackerevents.LOOTTRACKEREVENTS.EVENTID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<String> field3()
{
return Loottrackerevents.LOOTTRACKEREVENTS.TYPE;
}
/**
* {@inheritDoc}
*/
@Override
public Field<Timestamp> field4()
{
return Loottrackerevents.LOOTTRACKEREVENTS.TIME;
}
/**
* {@inheritDoc}
*/
@Override
public UUID component1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public String component2()
{
return getEventid();
}
/**
* {@inheritDoc}
*/
@Override
public String component3()
{
return getType();
}
/**
* {@inheritDoc}
*/
@Override
public Timestamp component4()
{
return getTime();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public String value2()
{
return getEventid();
}
/**
* {@inheritDoc}
*/
@Override
public String value3()
{
return getType();
}
/**
* {@inheritDoc}
*/
@Override
public Timestamp value4()
{
return getTime();
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackereventsRecord value1(UUID value)
{
@@ -248,9 +200,6 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackereventsRecord value2(String value)
{
@@ -258,9 +207,6 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackereventsRecord value3(String value)
{
@@ -268,9 +214,6 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackereventsRecord value4(Timestamp value)
{
@@ -278,9 +221,6 @@ public class LoottrackereventsRecord extends UpdatableRecordImpl<Loottrackereven
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackereventsRecord values(UUID value1, String value2, String value3, Timestamp value4)
{

View File

@@ -5,13 +5,12 @@ package net.runelite.client.database.data.tables.records;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerlink;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record4;
import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
import org.jooq.impl.TableRecordImpl;
/**
@@ -20,15 +19,15 @@ import org.jooq.impl.UpdatableRecordImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@SuppressWarnings({"all", "unchecked", "rawtypes"})
public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRecord> implements Record4<UUID, UUID, UUID, UUID>
public class LoottrackerlinkRecord extends TableRecordImpl<LoottrackerlinkRecord> implements Record4<UUID, UUID, UUID, UUID>
{
private static final long serialVersionUID = 1985117517;
private static final long serialVersionUID = -1701074584;
/**
* Setter for <code>PUBLIC.LOOTTRACKERLINK.LINKUNIQUEID</code>.
@@ -94,152 +93,94 @@ public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRe
return (UUID) get(3);
}
// -------------------------------------------------------------------------
// Primary key information
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Record1<UUID> key()
{
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record4 type implementation
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Row4<UUID, UUID, UUID, UUID> fieldsRow()
{
return (Row4) super.fieldsRow();
}
/**
* {@inheritDoc}
*/
@Override
public Row4<UUID, UUID, UUID, UUID> valuesRow()
{
return (Row4) super.valuesRow();
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field1()
{
return Loottrackerlink.LOOTTRACKERLINK.LINKUNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field2()
{
return Loottrackerlink.LOOTTRACKERLINK.EVENTUNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field3()
{
return Loottrackerlink.LOOTTRACKERLINK.DROPUNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field4()
{
return Loottrackerlink.LOOTTRACKERLINK.USERUNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public UUID component1()
{
return getLinkuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID component2()
{
return getEventuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID component3()
{
return getDropuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID component4()
{
return getUseruniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value1()
{
return getLinkuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value2()
{
return getEventuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value3()
{
return getDropuniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value4()
{
return getUseruniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlinkRecord value1(UUID value)
{
@@ -247,9 +188,6 @@ public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlinkRecord value2(UUID value)
{
@@ -257,9 +195,6 @@ public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlinkRecord value3(UUID value)
{
@@ -267,9 +202,6 @@ public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlinkRecord value4(UUID value)
{
@@ -277,9 +209,6 @@ public class LoottrackerlinkRecord extends UpdatableRecordImpl<LoottrackerlinkRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlinkRecord values(UUID value1, UUID value2, UUID value3, UUID value4)
{

View File

@@ -5,7 +5,7 @@ package net.runelite.client.database.data.tables.records;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.Loottrackerloot;
import org.jooq.Field;
import org.jooq.Record1;
@@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -28,7 +28,7 @@ import org.jooq.impl.UpdatableRecordImpl;
public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRecord> implements Record3<UUID, Integer, Integer>
{
private static final long serialVersionUID = -1894768090;
private static final long serialVersionUID = 693470968;
/**
* Setter for <code>PUBLIC.LOOTTRACKERLOOT.UNIQUEID</code>.
@@ -82,9 +82,6 @@ public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRe
// Primary key information
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Record1<UUID> key()
{
@@ -95,108 +92,72 @@ public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRe
// Record3 type implementation
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Row3<UUID, Integer, Integer> fieldsRow()
{
return (Row3) super.fieldsRow();
}
/**
* {@inheritDoc}
*/
@Override
public Row3<UUID, Integer, Integer> valuesRow()
{
return (Row3) super.valuesRow();
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field1()
{
return Loottrackerloot.LOOTTRACKERLOOT.UNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<Integer> field2()
{
return Loottrackerloot.LOOTTRACKERLOOT.ITEMID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<Integer> field3()
{
return Loottrackerloot.LOOTTRACKERLOOT.QUANTITY;
}
/**
* {@inheritDoc}
*/
@Override
public UUID component1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public Integer component2()
{
return getItemid();
}
/**
* {@inheritDoc}
*/
@Override
public Integer component3()
{
return getQuantity();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public Integer value2()
{
return getItemid();
}
/**
* {@inheritDoc}
*/
@Override
public Integer value3()
{
return getQuantity();
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlootRecord value1(UUID value)
{
@@ -204,9 +165,6 @@ public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlootRecord value2(Integer value)
{
@@ -214,9 +172,6 @@ public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlootRecord value3(Integer value)
{
@@ -224,9 +179,6 @@ public class LoottrackerlootRecord extends UpdatableRecordImpl<LoottrackerlootRe
return this;
}
/**
* {@inheritDoc}
*/
@Override
public LoottrackerlootRecord values(UUID value1, Integer value2, Integer value3)
{

View File

@@ -0,0 +1,503 @@
/*
* This file is generated by jOOQ.
*/
package net.runelite.client.database.data.tables.records;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.TmorphSets;
import org.jooq.Field;
import org.jooq.Record10;
import org.jooq.Row10;
import org.jooq.impl.TableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@SuppressWarnings({"all", "unchecked", "rawtypes"})
public class TmorphSetsRecord extends TableRecordImpl<TmorphSetsRecord> implements Record10<String, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer>
{
private static final long serialVersionUID = 546214401;
/**
* Setter for <code>PUBLIC.TMORPH_SETS.SET_NAME</code>.
*/
public void setSetName(String value)
{
set(0, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.SET_NAME</code>.
*/
public String getSetName()
{
return (String) get(0);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.HELMET</code>.
*/
public void setHelmet(Integer value)
{
set(1, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.HELMET</code>.
*/
public Integer getHelmet()
{
return (Integer) get(1);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.CAPE</code>.
*/
public void setCape(Integer value)
{
set(2, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.CAPE</code>.
*/
public Integer getCape()
{
return (Integer) get(2);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.AMULET</code>.
*/
public void setAmulet(Integer value)
{
set(3, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.AMULET</code>.
*/
public Integer getAmulet()
{
return (Integer) get(3);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.WEAPON</code>.
*/
public void setWeapon(Integer value)
{
set(4, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.WEAPON</code>.
*/
public Integer getWeapon()
{
return (Integer) get(4);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.TORSO</code>.
*/
public void setTorso(Integer value)
{
set(5, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.TORSO</code>.
*/
public Integer getTorso()
{
return (Integer) get(5);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.SHIELD</code>.
*/
public void setShield(Integer value)
{
set(6, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.SHIELD</code>.
*/
public Integer getShield()
{
return (Integer) get(6);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.LEGS</code>.
*/
public void setLegs(Integer value)
{
set(7, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.LEGS</code>.
*/
public Integer getLegs()
{
return (Integer) get(7);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.HANDS</code>.
*/
public void setHands(Integer value)
{
set(8, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.HANDS</code>.
*/
public Integer getHands()
{
return (Integer) get(8);
}
/**
* Setter for <code>PUBLIC.TMORPH_SETS.BOOTS</code>.
*/
public void setBoots(Integer value)
{
set(9, value);
}
/**
* Getter for <code>PUBLIC.TMORPH_SETS.BOOTS</code>.
*/
public Integer getBoots()
{
return (Integer) get(9);
}
// -------------------------------------------------------------------------
// Record10 type implementation
// -------------------------------------------------------------------------
@Override
public Row10<String, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow()
{
return (Row10) super.fieldsRow();
}
@Override
public Row10<String, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> valuesRow()
{
return (Row10) super.valuesRow();
}
@Override
public Field<String> field1()
{
return TmorphSets.TMORPH_SETS.SET_NAME;
}
@Override
public Field<Integer> field2()
{
return TmorphSets.TMORPH_SETS.HELMET;
}
@Override
public Field<Integer> field3()
{
return TmorphSets.TMORPH_SETS.CAPE;
}
@Override
public Field<Integer> field4()
{
return TmorphSets.TMORPH_SETS.AMULET;
}
@Override
public Field<Integer> field5()
{
return TmorphSets.TMORPH_SETS.WEAPON;
}
@Override
public Field<Integer> field6()
{
return TmorphSets.TMORPH_SETS.TORSO;
}
@Override
public Field<Integer> field7()
{
return TmorphSets.TMORPH_SETS.SHIELD;
}
@Override
public Field<Integer> field8()
{
return TmorphSets.TMORPH_SETS.LEGS;
}
@Override
public Field<Integer> field9()
{
return TmorphSets.TMORPH_SETS.HANDS;
}
@Override
public Field<Integer> field10()
{
return TmorphSets.TMORPH_SETS.BOOTS;
}
@Override
public String component1()
{
return getSetName();
}
@Override
public Integer component2()
{
return getHelmet();
}
@Override
public Integer component3()
{
return getCape();
}
@Override
public Integer component4()
{
return getAmulet();
}
@Override
public Integer component5()
{
return getWeapon();
}
@Override
public Integer component6()
{
return getTorso();
}
@Override
public Integer component7()
{
return getShield();
}
@Override
public Integer component8()
{
return getLegs();
}
@Override
public Integer component9()
{
return getHands();
}
@Override
public Integer component10()
{
return getBoots();
}
@Override
public String value1()
{
return getSetName();
}
@Override
public Integer value2()
{
return getHelmet();
}
@Override
public Integer value3()
{
return getCape();
}
@Override
public Integer value4()
{
return getAmulet();
}
@Override
public Integer value5()
{
return getWeapon();
}
@Override
public Integer value6()
{
return getTorso();
}
@Override
public Integer value7()
{
return getShield();
}
@Override
public Integer value8()
{
return getLegs();
}
@Override
public Integer value9()
{
return getHands();
}
@Override
public Integer value10()
{
return getBoots();
}
@Override
public TmorphSetsRecord value1(String value)
{
setSetName(value);
return this;
}
@Override
public TmorphSetsRecord value2(Integer value)
{
setHelmet(value);
return this;
}
@Override
public TmorphSetsRecord value3(Integer value)
{
setCape(value);
return this;
}
@Override
public TmorphSetsRecord value4(Integer value)
{
setAmulet(value);
return this;
}
@Override
public TmorphSetsRecord value5(Integer value)
{
setWeapon(value);
return this;
}
@Override
public TmorphSetsRecord value6(Integer value)
{
setTorso(value);
return this;
}
@Override
public TmorphSetsRecord value7(Integer value)
{
setShield(value);
return this;
}
@Override
public TmorphSetsRecord value8(Integer value)
{
setLegs(value);
return this;
}
@Override
public TmorphSetsRecord value9(Integer value)
{
setHands(value);
return this;
}
@Override
public TmorphSetsRecord value10(Integer value)
{
setBoots(value);
return this;
}
@Override
public TmorphSetsRecord values(String value1, Integer value2, Integer value3, Integer value4, Integer value5, Integer value6, Integer value7, Integer value8, Integer value9, Integer value10)
{
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
value8(value8);
value9(value9);
value10(value10);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached TmorphSetsRecord
*/
public TmorphSetsRecord()
{
super(TmorphSets.TMORPH_SETS);
}
/**
* Create a detached, initialised TmorphSetsRecord
*/
public TmorphSetsRecord(String setName, Integer helmet, Integer cape, Integer amulet, Integer weapon, Integer torso, Integer shield, Integer legs, Integer hands, Integer boots)
{
super(TmorphSets.TMORPH_SETS);
set(0, setName);
set(1, helmet);
set(2, cape);
set(3, amulet);
set(4, weapon);
set(5, torso);
set(6, shield);
set(7, legs);
set(8, hands);
set(9, boots);
}
}

View File

@@ -5,7 +5,7 @@ package net.runelite.client.database.data.tables.records;
import java.util.UUID;
import javax.annotation.Generated;
import javax.annotation.processing.Generated;
import net.runelite.client.database.data.tables.User;
import org.jooq.Field;
import org.jooq.Record1;
@@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
@Generated(
value = {
"http://www.jooq.org",
"jOOQ version:3.11.12"
"jOOQ version:3.12.3"
},
comments = "This class is generated by jOOQ"
)
@@ -28,7 +28,7 @@ import org.jooq.impl.UpdatableRecordImpl;
public class UserRecord extends UpdatableRecordImpl<UserRecord> implements Record2<UUID, String>
{
private static final long serialVersionUID = 628808107;
private static final long serialVersionUID = 2077804101;
/**
* Setter for <code>PUBLIC.USER.UNIQUEID</code>.
@@ -66,9 +66,6 @@ public class UserRecord extends UpdatableRecordImpl<UserRecord> implements Recor
// Primary key information
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Record1<UUID> key()
{
@@ -79,81 +76,54 @@ public class UserRecord extends UpdatableRecordImpl<UserRecord> implements Recor
// Record2 type implementation
// -------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
public Row2<UUID, String> fieldsRow()
{
return (Row2) super.fieldsRow();
}
/**
* {@inheritDoc}
*/
@Override
public Row2<UUID, String> valuesRow()
{
return (Row2) super.valuesRow();
}
/**
* {@inheritDoc}
*/
@Override
public Field<UUID> field1()
{
return User.USER.UNIQUEID;
}
/**
* {@inheritDoc}
*/
@Override
public Field<String> field2()
{
return User.USER.USERNAME;
}
/**
* {@inheritDoc}
*/
@Override
public UUID component1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public String component2()
{
return getUsername();
}
/**
* {@inheritDoc}
*/
@Override
public UUID value1()
{
return getUniqueid();
}
/**
* {@inheritDoc}
*/
@Override
public String value2()
{
return getUsername();
}
/**
* {@inheritDoc}
*/
@Override
public UserRecord value1(UUID value)
{
@@ -161,9 +131,6 @@ public class UserRecord extends UpdatableRecordImpl<UserRecord> implements Recor
return this;
}
/**
* {@inheritDoc}
*/
@Override
public UserRecord value2(String value)
{
@@ -171,9 +138,6 @@ public class UserRecord extends UpdatableRecordImpl<UserRecord> implements Recor
return this;
}
/**
* {@inheritDoc}
*/
@Override
public UserRecord values(UUID value1, String value2)
{

View File

@@ -1,47 +0,0 @@
package net.runelite.client.plugins.tmorph;
import java.util.Arrays;
import java.util.Map;
import javax.inject.Singleton;
@Singleton
public class Parse
{
public static boolean parse(String value)
{
try
{
final StringBuilder sb = new StringBuilder();
for (String str : value.split("\n"))
{
if (!str.startsWith("//"))
{
sb.append(str).append("\n");
}
}
final Map<String, String> tmp = TMorph.getNEWLINE_SPLITTER().withKeyValueSeparator(':').split(sb);
for (Map.Entry<String, String> entry : tmp.entrySet())
{
if (!TMorph.getKit().containsKey(entry.getValue()))
{
return false;
}
final int[] ints = Arrays.stream(entry.getKey().split(",")).map(String::trim).mapToInt(Integer::parseInt).toArray();
if (ints.length <= 1)
{
return false;
}
}
return true;
}
catch (Exception ex)
{
return false;
}
}
}

View File

@@ -26,33 +26,38 @@ package net.runelite.client.plugins.tmorph;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Provides;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import net.runelite.api.Actor;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Player;
import net.runelite.api.events.AnimationChanged;
import net.runelite.api.events.CommandExecuted;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.SpotAnimationChanged;
import net.runelite.api.kit.KitType;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.util.Clipboard;
import net.runelite.client.util.ColorUtil;
import net.runelite.client.plugins.tmorph.ui.TPanel;
import net.runelite.client.ui.ClientToolbar;
import net.runelite.client.ui.NavigationButton;
import net.runelite.client.util.ImageUtil;
import org.apache.commons.lang3.ObjectUtils;
@PluginDescriptor(
@@ -67,7 +72,6 @@ public class TMorph extends Plugin
{
@Getter(AccessLevel.PACKAGE)
private static final Map<String, KitType> kit;
private static final Color COLOR = new Color(10, 134, 74, 255);
static
{
@@ -79,7 +83,7 @@ public class TMorph extends Plugin
kit = builder.build();
}
@Getter(AccessLevel.PACKAGE)
@Getter(AccessLevel.PUBLIC)
private static final Splitter NEWLINE_SPLITTER = Splitter
.on("\n")
.omitEmptyStrings()
@@ -94,15 +98,26 @@ public class TMorph extends Plugin
@Inject
private EventBus eventBus;
private Map<String, String> set1;
private Map<String, String> set2;
private Map<String, String> set3;
@Inject
private ClientToolbar clientToolbar;
@Inject
private ClientThread clientThread;
@Inject
private ItemManager itemManager;
private TPanel panel;
private NavigationButton navButton;
private int animation;
private int globalAnimSwap;
private int globalGraphicSwap;
private int graphic;
private int targetAnimation;
private int targetGraphic;
@Setter
private Map<String, String> panelMorph = new HashMap<>();
@Provides
TMorphConfig provideConfig(ConfigManager configManager)
@@ -113,8 +128,20 @@ public class TMorph extends Plugin
@Override
protected void startUp()
{
final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "nav.png");
panel = injector.getInstance(TPanel.class);
navButton = NavigationButton.builder()
.tooltip("TMorph")
.icon(icon)
.priority(100)
.panel(panel)
.build();
clientToolbar.addNavigation(navButton);
updateConfig();
addSubscriptions();
}
@Override
@@ -123,72 +150,17 @@ public class TMorph extends Plugin
eventBus.unregister(this);
}
private void addSubscriptions()
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged);
eventBus.subscribe(GameTick.class, this, this::onGameTick);
eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged);
eventBus.subscribe(CommandExecuted.class, this, this::onCommandExecuted);
}
private void onCommandExecuted(CommandExecuted event)
{
final String[] args = event.getArguments();
if (event.getCommand().equals("tmorph"))
if (event.getGameState() == GameState.LOGIN_SCREEN)
{
try
{
if (args[0].equals("copy"))
{
final StringBuilder sb = new StringBuilder();
final Player player = client.getLocalPlayer();
if (player == null
|| player.getPlayerAppearance() == null
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null
|| client.getViewportWidget() == null)
{
return;
}
for (KitType kitType : KitType.values())
{
if (kitType.equals(KitType.RING) || kitType.equals(KitType.AMMUNITION))
{
continue;
}
final int id = player.getPlayerAppearance().getEquipmentId(kitType);
if (id == -1)
{
continue;
}
sb.append(id);
sb.append(",-1");
sb.append(":");
sb.append(kitType.getName());
sb.append("\n");
}
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "TMorph", ColorUtil.prependColorTag("Your current gear has been copied to your clipboard", COLOR), null);
Clipboard.store(sb.toString());
}
else
{
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "TMorph", ColorUtil.prependColorTag("Invalid syntax, do ::tmorph copy", Color.RED), null);
}
}
catch (Exception e)
{
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "TMorph", ColorUtil.prependColorTag("Invalid syntax, do ::tmorph copy", Color.RED), null);
}
clientThread.invokeLater(() -> panel.populateSlots());
}
}
@Subscribe
private void onConfigChanged(ConfigChanged event)
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("TMorph"))
{
@@ -196,7 +168,8 @@ public class TMorph extends Plugin
}
}
private void onSpotAnimationChanged(SpotAnimationChanged event)
@Subscribe
public void onSpotAnimationChanged(SpotAnimationChanged event)
{
final Actor actor = event.getActor();
@@ -218,7 +191,8 @@ public class TMorph extends Plugin
}
}
private void onAnimationChanged(AnimationChanged event)
@Subscribe
public void onAnimationChanged(AnimationChanged event)
{
final Actor actor = event.getActor();
@@ -240,7 +214,8 @@ public class TMorph extends Plugin
}
}
private void onGameTick(GameTick event)
@Subscribe
public void onGameTick(GameTick event)
{
if (client.getGameState() != GameState.LOGGED_IN)
{
@@ -257,12 +232,10 @@ public class TMorph extends Plugin
return;
}
updateGear(set1, player);
updateGear(set2, player);
updateGear(set3, player);
updateGear(panelMorph, player);
}
private void updateGear(Map<String, String> map, Player player)
public void updateGear(Map<String, String> map, Player player)
{
if (map == null || map.isEmpty())
{
@@ -308,9 +281,6 @@ public class TMorph extends Plugin
private void updateConfig()
{
this.set1 = NEWLINE_SPLITTER.withKeyValueSeparator(':').split(config.set1());
this.set2 = NEWLINE_SPLITTER.withKeyValueSeparator(':').split(config.set2());
this.set3 = NEWLINE_SPLITTER.withKeyValueSeparator(':').split(config.set3());
this.animation = config.animationSwap();
this.globalAnimSwap = config.globalAnimSwap();
this.globalGraphicSwap = config.globalGraphicSwap();

View File

@@ -27,76 +27,10 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigSection;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Title;
@ConfigGroup("TMorph")
public interface TMorphConfig extends Config
{
@ConfigTitleSection(
keyName = "swaps",
name = "Morphers",
description = "",
position = 1
)
default Title swaps()
{
return new Title();
}
@ConfigItem(
keyName = "mageSwap",
name = "Swap Set 1",
description = "<html><center>Proper Format is id,id:Slot" +
"<br>For example: 6570,21295:Cape" +
"<br>Valid Slots: Helmet, Cape, Amulet, Weapon, Torso, Shield, Legs, Head, Hands, Boots, Jaw, Ring, Ammo</center></html>",
titleSection = "swaps",
position = 1,
parse = true,
clazz = Parse.class,
method = "parse"
)
default String set1()
{
return "";
}
@ConfigItem(
keyName = "rangeSwap",
name = "Swap Set 2",
description = "<html><center>Proper Format is id,id:Slot" +
"<br>For example: 6570,21295:Cape" +
"<br>Valid Slots: Helmet, Cape, Amulet, Weapon, Torso, Shield, Legs, Head, Hands, Boots, Jaw, Ring, Ammo</center></html>",
titleSection = "swaps",
position = 2,
parse = true,
clazz = Parse.class,
method = "parse"
)
default String set2()
{
return "";
}
@ConfigItem(
keyName = "meleeSwap",
name = "Swap Set 3",
description = "<html><center>Proper Format is id,id:Slot" +
"<br>For example: 6570,21295:Cape" +
"<br>Valid Slots: Helmet, Cape, Amulet, Weapon, Torso, Shield, Legs, Head, Hands, Boots, Jaw, Ring, Ammo</center></html>",
titleSection = "swaps",
position = 3,
parse = true,
clazz = Parse.class,
method = "parse"
)
default String set3()
{
return "";
}
//////////////////Experimental Functions
@ConfigSection(
position = 4,
keyName = "experimentalSection",
@@ -203,18 +137,4 @@ public interface TMorphConfig extends Config
{
return 0;
}
@ConfigTitleSection(
keyName = "copy",
name = "<html><center>If you would like to copy your equipped" +
"<br>gear, type \"::tmorph copy\" in chat." +
"<br>This will copy your gear to your" +
"<br>clipboard for easy copy paste.</center></html>",
description = "",
position = 50
)
default Title copy()
{
return new Title();
}
}

View File

@@ -0,0 +1,41 @@
/*
* Copyright (c) 2019, ganom <https://github.com/Ganom>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.tmorph;
import lombok.Data;
@Data
public class TmorphSet
{
private String name;
private int helmet;
private int cape;
private int amulet;
private int weapon;
private int torso;
private int shield;
private int legs;
private int hands;
private int boots;
}

View File

@@ -0,0 +1,123 @@
/*
* Copyright (c) 2019, ganom <https://github.com/Ganom>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.tmorph.ui;
import java.awt.Component;
import java.awt.Dimension;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import lombok.Getter;
import net.runelite.api.Client;
import net.runelite.api.kit.KitType;
import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.tmorph.TMorph;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.components.ComboBoxIconEntry;
import net.runelite.client.ui.components.ComboBoxListRenderer;
import net.runelite.client.util.AsyncBufferedImage;
import net.runelite.client.util.ImageUtil;
import net.runelite.http.api.item.ItemEquipmentStats;
import net.runelite.http.api.item.ItemStats;
import org.pushingpixels.substance.internal.utils.SubstanceDropDownButton;
@Getter
public class EquipSlot extends JComboBox<ComboBoxIconEntry>
{
private final ComboBoxIconEntry original;
private Map<Integer, ComboBoxIconEntry> boxMap;
private KitType kitType;
EquipSlot(KitType kitType)
{
super();
this.kitType = kitType;
this.boxMap = new LinkedHashMap<>();
setPreferredSize(new Dimension(200, 42));
setBackground(ColorScheme.DARK_GRAY_COLOR);
setRenderer(new ComboBoxListRenderer());
original = new ComboBoxIconEntry(
new ImageIcon(ImageUtil.getResourceStreamFromClass(TMorph.class, kitType.getName().toLowerCase() + ".png")),
kitType.getName(),
null
);
addItem(original);
setSelectedIndex(0);
for (Component component : getComponents())
{
if (component instanceof SubstanceDropDownButton)
{
remove(component);
}
}
}
public void populate(Client client, ItemManager itemManager)
{
assert client.isClientThread() : "Populate must be called on client thread";
for (int i = 0; i < client.getItemCount(); i++)
{
ItemStats stats = itemManager.getItemStats(i, false);
if (stats == null)
{
continue;
}
if (!stats.isEquipable())
{
continue;
}
ItemEquipmentStats equipment = stats.getEquipment();
if (equipment == null)
{
continue;
}
if (equipment.getSlot() != kitType.getIndex())
{
continue;
}
AsyncBufferedImage image = itemManager.getImage(i);
if (image == null)
{
continue;
}
final ComboBoxIconEntry entry = new ComboBoxIconEntry(
new ImageIcon(image),
client.getItemDefinition(i).getName(),
client.getItemDefinition(i)
);
boxMap.put(i, entry);
addItem(entry);
}
}
}

View File

@@ -0,0 +1,439 @@
/*
* Copyright (c) 2019, ganom <https://github.com/Ganom>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.tmorph.ui;
import com.google.common.collect.ImmutableSet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.inject.Inject;
import javax.swing.Box;
import javax.swing.BoxLayout;
import static javax.swing.BoxLayout.Y_AXIS;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.kit.KitType;
import static net.runelite.api.kit.KitType.AMULET;
import static net.runelite.api.kit.KitType.BOOTS;
import static net.runelite.api.kit.KitType.CAPE;
import static net.runelite.api.kit.KitType.HANDS;
import static net.runelite.api.kit.KitType.HELMET;
import static net.runelite.api.kit.KitType.LEGS;
import static net.runelite.api.kit.KitType.SHIELD;
import static net.runelite.api.kit.KitType.TORSO;
import static net.runelite.api.kit.KitType.WEAPON;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.database.DatabaseManager;
import static net.runelite.client.database.data.Tables.TMORPH_SETS;
import net.runelite.client.database.data.tables.records.TmorphSetsRecord;
import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.tmorph.TMorph;
import net.runelite.client.plugins.tmorph.TmorphSet;
import net.runelite.client.ui.PluginPanel;
import net.runelite.client.ui.components.ComboBoxIconEntry;
import net.runelite.client.util.Clipboard;
import org.jooq.Record;
import org.jooq.Result;
import org.jooq.TableField;
import org.jooq.impl.SQLDataType;
@Slf4j
public class TPanel extends PluginPanel
{
private static final Set<KitType> BLACKLIST = ImmutableSet.of(KitType.AMMUNITION, KitType.RING, KitType.HEAD, KitType.JAW);
private final Client client;
private final DatabaseManager databaseManager;
private final ItemManager itemManager;
private final TMorph plugin;
private final JComboBox<String> selector;
private final Map<KitType, EquipSlot> equipSlots;
private final Map<KitType, Integer> kitToId;
private final Map<String, TmorphSet> setMap;
private final ExecutorService executor;
private JPanel equipPanel;
@Inject
public TPanel(
final Client client,
final DatabaseManager databaseManager,
final ItemManager itemManager,
final TMorph plugin
)
{
super(false);
this.client = client;
this.databaseManager = databaseManager;
this.itemManager = itemManager;
this.plugin = plugin;
this.equipSlots = new LinkedHashMap<>();
this.kitToId = new HashMap<>();
this.setMap = new HashMap<>();
this.selector = new JComboBox<>();
this.executor = Executors.newSingleThreadExecutor();
init();
}
private void init()
{
selector.addItem("");
selector.setSelectedIndex(0);
selector.addActionListener((e) ->
{
String name = (String) selector.getSelectedItem();
Result<TmorphSetsRecord> recs = databaseManager.getDsl()
.selectFrom(TMORPH_SETS)
.where(TMORPH_SETS.SET_NAME.eq(name))
.fetch();
for (TmorphSetsRecord rec : recs)
{
for (Map.Entry<KitType, EquipSlot> entry : equipSlots.entrySet())
{
int id = rec.getValue(kitToField(entry.getKey()));
EquipSlot es = entry.getValue();
es.setSelectedItem(es.getBoxMap().getOrDefault(id, es.getOriginal()));
}
}
});
final JLabel title = new JLabel();
title.setText("Tmorph Sets");
title.setForeground(Color.WHITE);
title.setHorizontalAlignment(JLabel.CENTER);
title.setVerticalAlignment(JLabel.CENTER);
final JPanel titleAndMarkersPanel = new JPanel();
titleAndMarkersPanel.setLayout(new BorderLayout());
titleAndMarkersPanel.add(title, BorderLayout.CENTER);
final JPanel northAnchoredPanel = new JPanel();
northAnchoredPanel.setLayout(new BoxLayout(northAnchoredPanel, Y_AXIS));
northAnchoredPanel.setBorder(new EmptyBorder(0, 0, 10, 0));
northAnchoredPanel.add(titleAndMarkersPanel);
northAnchoredPanel.add(Box.createRigidArea(new Dimension(0, 10)));
northAnchoredPanel.add(selector);
final JPanel lol = new JPanel();
final JPanel containerPanel = new JPanel();
final JLabel caption = new JLabel();
caption.setText("Current Morph");
caption.setForeground(Color.WHITE);
caption.setHorizontalAlignment(JLabel.CENTER);
caption.setVerticalAlignment(JLabel.CENTER);
final JPanel captionPanel = new JPanel();
captionPanel.add(caption);
equipPanel = new JPanel();
equipPanel.setLayout(new GridLayout(11, 1, 1, 1));
addSlots();
containerPanel.setLayout(new BorderLayout());
containerPanel.add(captionPanel, BorderLayout.NORTH);
containerPanel.add(equipPanel, BorderLayout.CENTER);
lol.add(containerPanel);
final JPanel contentPanel = new JPanel();
final BoxLayout contentLayout = new BoxLayout(contentPanel, Y_AXIS);
contentPanel.setLayout(contentLayout);
contentPanel.add(lol);
final JPanel contentWrapper = new JPanel(new BorderLayout());
contentWrapper.add(Box.createGlue(), BorderLayout.CENTER);
contentWrapper.add(contentPanel, BorderLayout.NORTH);
final JScrollPane contentWrapperPane = new JScrollPane(contentWrapper);
contentWrapperPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
setLayout(new BorderLayout());
setBorder(new EmptyBorder(10, 10, 10, 10));
add(northAnchoredPanel, BorderLayout.NORTH);
add(contentWrapperPane, BorderLayout.CENTER);
executor.submit(this::populateSelector);
}
private void populateSelector()
{
if (!databaseManager.checkTableExists("TMORPH_SETS"))
{
databaseManager.getDsl().createTable(TMORPH_SETS)
.column(TMORPH_SETS.SET_NAME, SQLDataType.VARCHAR(255).nullable(false))
.column(TMORPH_SETS.HELMET, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.CAPE, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.AMULET, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.WEAPON, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.TORSO, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.SHIELD, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.LEGS, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.HANDS, SQLDataType.INTEGER.nullable(false))
.column(TMORPH_SETS.BOOTS, SQLDataType.INTEGER.nullable(false))
.execute();
}
Result<TmorphSetsRecord> recs = databaseManager.getDsl().selectFrom(TMORPH_SETS).fetch();
setMap.clear();
selector.removeAllItems();
selector.addItem("Select your set...");
selector.setSelectedIndex(0);
for (Record record : recs)
{
TmorphSet tmo = new TmorphSet();
String name = record.getValue(TMORPH_SETS.SET_NAME);
tmo.setName(name);
tmo.setHelmet(record.getValue(TMORPH_SETS.HELMET));
tmo.setCape(record.getValue(TMORPH_SETS.CAPE));
tmo.setAmulet(record.getValue(TMORPH_SETS.AMULET));
tmo.setWeapon(record.getValue(TMORPH_SETS.WEAPON));
tmo.setTorso(record.getValue(TMORPH_SETS.TORSO));
tmo.setShield(record.getValue(TMORPH_SETS.SHIELD));
tmo.setLegs(record.getValue(TMORPH_SETS.LEGS));
tmo.setHands(record.getValue(TMORPH_SETS.HANDS));
tmo.setBoots(record.getValue(TMORPH_SETS.BOOTS));
setMap.put(name, tmo);
selector.addItem(name);
}
}
private void addSlots()
{
int i = 0;
for (KitType kitType : KitType.values())
{
if (BLACKLIST.contains(kitType))
{
continue;
}
final EquipSlot equip = new EquipSlot(kitType);
equip.addItemListener((e) ->
{
if (e.getStateChange() == ItemEvent.SELECTED)
{
ComboBoxIconEntry combo = (ComboBoxIconEntry) e.getItem();
if (combo.getData() == null)
{
return;
}
ItemDefinition def = (ItemDefinition) combo.getData();
KitType type = null;
for (Map.Entry<KitType, EquipSlot> entry : equipSlots.entrySet())
{
if (entry.getValue() == e.getSource())
{
type = entry.getKey();
break;
}
}
if (type == null)
{
return;
}
if (kitToId.containsKey(type))
{
kitToId.replace(type, def.getId());
}
else
{
kitToId.put(type, def.getId());
}
if (client.getGameState() == GameState.LOGGED_IN)
{
Map<String, String> s = generate();
}
}
});
equipSlots.put(kitType, equip);
equipPanel.add(equip);
i++;
}
final JButton setButton = new JButton("Set Active Morph");
setButton.addActionListener((e) -> plugin.setPanelMorph(generate()));
equipPanel.add(setButton);
final JButton saveButton = new JButton("Save Active Morph");
saveButton.addActionListener((e) ->
{
final String result = JOptionPane.showInputDialog(saveButton, "What would you like to name the set?");
Result<TmorphSetsRecord> records = databaseManager.getDsl()
.selectFrom(TMORPH_SETS)
.where(TMORPH_SETS.SET_NAME.eq(result))
.fetch();
boolean exists = records.isNotEmpty();
if (!exists)
{
databaseManager.getDsl().insertInto(TMORPH_SETS)
.set(TMORPH_SETS.SET_NAME, result)
.set(TMORPH_SETS.HELMET, kitToId.getOrDefault(HELMET, -1))
.set(TMORPH_SETS.CAPE, kitToId.getOrDefault(CAPE, -1))
.set(TMORPH_SETS.AMULET, kitToId.getOrDefault(AMULET, -1))
.set(TMORPH_SETS.WEAPON, kitToId.getOrDefault(WEAPON, -1))
.set(TMORPH_SETS.TORSO, kitToId.getOrDefault(TORSO, -1))
.set(TMORPH_SETS.SHIELD, kitToId.getOrDefault(SHIELD, -1))
.set(TMORPH_SETS.LEGS, kitToId.getOrDefault(LEGS, -1))
.set(TMORPH_SETS.HANDS, kitToId.getOrDefault(HANDS, -1))
.set(TMORPH_SETS.BOOTS, kitToId.getOrDefault(BOOTS, -1))
.execute();
executor.submit(this::populateSelector);
}
else
{
databaseManager.getDsl().update(TMORPH_SETS)
.set(TMORPH_SETS.HELMET, kitToId.getOrDefault(HELMET, -1))
.set(TMORPH_SETS.CAPE, kitToId.getOrDefault(CAPE, -1))
.set(TMORPH_SETS.AMULET, kitToId.getOrDefault(AMULET, -1))
.set(TMORPH_SETS.WEAPON, kitToId.getOrDefault(WEAPON, -1))
.set(TMORPH_SETS.TORSO, kitToId.getOrDefault(TORSO, -1))
.set(TMORPH_SETS.SHIELD, kitToId.getOrDefault(SHIELD, -1))
.set(TMORPH_SETS.LEGS, kitToId.getOrDefault(LEGS, -1))
.set(TMORPH_SETS.HANDS, kitToId.getOrDefault(HANDS, -1))
.set(TMORPH_SETS.BOOTS, kitToId.getOrDefault(BOOTS, -1))
.where(TMORPH_SETS.SET_NAME.eq(result))
.execute();
}
});
equipPanel.add(saveButton);
}
public void populateSlots()
{
for (EquipSlot slot : equipSlots.values())
{
slot.populate(client, itemManager);
}
}
public Map<String, String> generate()
{
final StringBuilder sb = new StringBuilder();
final Player player = client.getLocalPlayer();
if (player == null
|| player.getPlayerAppearance() == null
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null
|| client.getViewportWidget() == null)
{
return new HashMap<>();
}
for (KitType kitType : KitType.values())
{
if (BLACKLIST.contains(kitType))
{
continue;
}
final Widget widget = client.getWidget(kitType.getWidgetInfo());
if (widget == null || widget.getDynamicChildren() == null || widget.getDynamicChildren().length < 1)
{
continue;
}
final int id = itemManager.canonicalize(widget.getDynamicChildren()[1].getItemId());
final int kitId = kitToId.getOrDefault(kitType, -1);
if (kitId == -1)
{
continue;
}
sb.append(id);
sb.append(",");
sb.append(kitId);
sb.append(":");
sb.append(kitType.getName());
sb.append("\n");
}
final String s = sb.toString();
Clipboard.store(s);
return plugin.getNEWLINE_SPLITTER()
.withKeyValueSeparator(":")
.split(s);
}
private TableField<TmorphSetsRecord, Integer> kitToField(KitType kitType)
{
switch (kitType)
{
case HELMET:
return TMORPH_SETS.HELMET;
case CAPE:
return TMORPH_SETS.CAPE;
case AMULET:
return TMORPH_SETS.AMULET;
case WEAPON:
return TMORPH_SETS.WEAPON;
case TORSO:
return TMORPH_SETS.TORSO;
case SHIELD:
return TMORPH_SETS.SHIELD;
case LEGS:
return TMORPH_SETS.LEGS;
case HANDS:
return TMORPH_SETS.HANDS;
case BOOTS:
return TMORPH_SETS.BOOTS;
default:
return null;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB