lootrecordwriter: Fix reading appended objects with new GSON version (#1239)
* lootrecordwriter: Fix reading appended objects with new GSON version * Add The Gauntlet boss tab * Remove name from list upon deleting file * Add hydra heads to boss tab * Fix loot panel total value calculation
This commit is contained in:
committed by
Kyleeld
parent
878e6a1fe6
commit
a62c485570
@@ -109,18 +109,27 @@ public class LootRecordWriter
|
||||
|
||||
try (final BufferedReader br = new BufferedReader(new FileReader(file)))
|
||||
{
|
||||
|
||||
// read line by line
|
||||
String line;
|
||||
int totalBrackets = 0;
|
||||
while ((line = br.readLine()) != null)
|
||||
{
|
||||
sb.append(line).append("\n");
|
||||
}
|
||||
if (line.contains("{"))
|
||||
{
|
||||
totalBrackets++;
|
||||
}
|
||||
else if (line.contains("}"))
|
||||
{
|
||||
totalBrackets--;
|
||||
}
|
||||
sb.append(line);
|
||||
|
||||
if (sb.length() > 0)
|
||||
{
|
||||
final LTRecord r = RuneLiteAPI.GSON.fromJson(sb.toString(), LTRecord.class);
|
||||
data.add(r);
|
||||
if (totalBrackets == 0 && sb.length() > 0)
|
||||
{
|
||||
final LTRecord r = RuneLiteAPI.GSON.fromJson(sb.toString(), LTRecord.class);
|
||||
data.add(r);
|
||||
sb.setLength(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (FileNotFoundException e)
|
||||
|
||||
@@ -266,6 +266,7 @@ public class StonedTrackerPlugin extends Plugin
|
||||
|
||||
public boolean clearStoredDataByName(final String name)
|
||||
{
|
||||
lootNames.remove(name);
|
||||
return writer.deleteLootTrackerRecords(name);
|
||||
}
|
||||
}
|
||||
@@ -80,6 +80,8 @@ public enum BossTab
|
||||
// Other Bosses
|
||||
GIANT_MOLE("Giant Mole", ItemID.BABY_MOLE, "Other"),
|
||||
CORPOREAL_BEAST("Corporeal Beast", ItemID.PET_CORPOREAL_CRITTER, "Other"),
|
||||
THE_GAUNTLET("The Gauntlet", ItemID.YOUNGLLEF, "Other"),
|
||||
|
||||
// Dagannoth Kings
|
||||
DAGANNOTH_REX("Dagannoth Rex", ItemID.PET_DAGANNOTH_REX, "Dagannoth Kings"),
|
||||
DAGANNOTH_PRIME("Dagannoth Prime", ItemID.PET_DAGANNOTH_PRIME, "Dagannoth Kings"),
|
||||
|
||||
@@ -236,6 +236,7 @@ public enum UniqueItem
|
||||
HYDRAS_FANG(ItemID.HYDRAS_FANG, BossTab.ALCHEMICAL_HYDRA, 0),
|
||||
HYDRAS_HEART(ItemID.HYDRAS_HEART, BossTab.ALCHEMICAL_HYDRA, 0),
|
||||
HYDRA_TAIL(ItemID.HYDRA_TAIL, BossTab.ALCHEMICAL_HYDRA, 0),
|
||||
HYDRA_HEADS(ItemID.ALCHEMICAL_HYDRA_HEADS, BossTab.ALCHEMICAL_HYDRA, 0),
|
||||
HYDRA_LEATHER(ItemID.HYDRA_LEATHER, BossTab.ALCHEMICAL_HYDRA, 1),
|
||||
HYDRAS_CLAW(ItemID.HYDRAS_CLAW, BossTab.ALCHEMICAL_HYDRA, 1),
|
||||
DRAGON_THROWNAXE(ItemID.DRAGON_THROWNAXE, BossTab.ALCHEMICAL_HYDRA, 1),
|
||||
@@ -257,6 +258,12 @@ public enum UniqueItem
|
||||
SPECTRAL_SIGIL(ItemID.SPECTRAL_SIGIL, BossTab.CORPOREAL_BEAST, 1),
|
||||
ARCANE_SIGIL(ItemID.ARCANE_SIGIL, BossTab.CORPOREAL_BEAST, 1),
|
||||
ELYSIAN_SIGIL(ItemID.ELYSIAN_SIGIL, BossTab.CORPOREAL_BEAST, 1),
|
||||
// The Gauntlet
|
||||
CRYSTAL_SHARD(ItemID.CRYSTAL_SHARD, BossTab.THE_GAUNTLET, 0),
|
||||
CRYSTAL_WEAPON_SEED(ItemID.CRYSTAL_WEAPON_SEED, BossTab.THE_GAUNTLET, 0),
|
||||
CRYSTAL_ARMOUR_SEED(ItemID.CRYSTAL_ARMOUR_SEED, BossTab.THE_GAUNTLET, 0),
|
||||
BLADE_OF_SAELDOR(ItemID.BLADE_OF_SAELDOR, BossTab.THE_GAUNTLET, 0),
|
||||
YOUNGLLEF(ItemID.YOUNGLLEF, BossTab.THE_GAUNTLET, 0),
|
||||
// Dagannoth Rex
|
||||
RING_OF_LIFE(ItemID.RING_OF_LIFE, BossTab.DAGANNOTH_REX, -1),
|
||||
WARRIOR_RING(ItemID.WARRIOR_RING, BossTab.DAGANNOTH_REX, -1),
|
||||
|
||||
@@ -188,7 +188,7 @@ class LootPanel extends JPanel
|
||||
|
||||
// Track total price of all tracked items for this panel
|
||||
// Also ensure it is placed in correct location by preserving its gridy value
|
||||
long totalValue = 0;
|
||||
long totalValue = consolidated.values().stream().mapToLong(e -> e.getPrice() * e.getQuantity()).sum();
|
||||
final int totalValueIndex = c.gridy;
|
||||
c.gridy++;
|
||||
|
||||
@@ -200,7 +200,6 @@ class LootPanel extends JPanel
|
||||
|
||||
if (itemsToDisplay.size() > 0)
|
||||
{
|
||||
totalValue = itemsToDisplay.stream().mapToLong(e -> e.getPrice() * e.getQuantity()).sum();
|
||||
if (itemBreakdown)
|
||||
{
|
||||
for (final LTItemEntry e : itemsToDisplay)
|
||||
|
||||
Reference in New Issue
Block a user