Some rows have backfilled times that are duplicates, causing the join to
join multiple rows. Assume ids only increment and fetch the row with the
highest id instead, and join on id.
* xp tracker: display >1m exp with thousandths precision
* fishing plugin: fix trawler timer with one tick left
* Remove gray pixel from Dragon Scimitar cursor (#8725)
* ui: add SplitComponent
SplitComponent is a component containing two other components, with the area split between the two, either horizontally or vertically.
Co-authored-by: Jasper Ketelaar <Jasperketelaar@kpnmail.nl>
* client: add smelting plugin
Co-authored-by: Adam <Adam@sigterm.info>
* constants: add GAME_TICK_LENGTH and use where needed
Also update many usages of 20ms to CLIENT_TICK_LENGTH
* regenmeter: add option to notify before next hp regen
* barrows plugin: add prayer drain timer
* chat: ensure queued messages are always cleared after adding
Mark queued message type as non null because addChatMessage will throw
if it is. This was causing the client to get stuck trying to add the
same broken message each loop.
* xp tracker: show on canvas
Co-authored-by: Jasper Ketelaar <Jasperketelaar@kpnmail.nl>
* party plugin: add partyinfo debug command
* xp tracker: add start and goal levels to on-canvas tracker
* xp tracker (onscreen): add toggle between displaying XP Left/XP Gained
* xp tracker: add right-click configure on on-screen trackers
* party service: check joins are for the current party
The server can resume party membership on handshake to parties other
than the current client party (eg. if the client is restarted or for any
other reason the current party changes). This desyncs otherwise if the
joins aren't checked to be in the current party.
* Add options for actions left and done for on screen XP
Add configurable option for on screen XP display mode, what now
includes:
- Actions done
- Actions left
- Xp gained
- Xp left
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* Update Merge branch
# Conflicts:
# README.md
# runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java
# runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragConfig.java
# runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultOverlay.java
# runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java
# runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Calls.java
# runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Game.java
# runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/Wave.java
# runelite-client/src/main/java/net/runelite/client/plugins/blastmine/BlastMineOreCountOverlay.java
# runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java
# runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingConfig.java
# runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingOverlay.java
# runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingPlugin.java
# runelite-client/src/main/java/net/runelite/client/plugins/smelting/SmeltingSession.java
# runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBoxOverlay.java
# runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java
# runelite-client/src/main/java/net/runelite/client/ui/overlay/components/ComponentOrientation.java
# runelite-client/src/main/java/net/runelite/client/ui/overlay/components/SplitComponent.java
* client: use immutablemap for maps built in class initializers
* Merge branch 'master' of https://github.com/runelite/runelite into updateee
* Fix
This world type is not specifically a PVP world type; at the time of
this commit, world 365 is a non-PVP high-risk world, where the world is
the same as a regular members' world, except that the Protect Item
prayer is disabled.
- Remove spring boot test (no longer necessary)
- Move test development configuration to main package
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This is a much more natural fit for the config service which is really a
key value store, and has been abusing SQL. This will let us expand the
config stuff later to support profiles and per-account config values.
I have left in the SQL code for now so config changes are still being
sent there in the event of catastrophic mongodb failure.
- Instead of replacing configuration with dev configuration on classpath,
create dev profile and use that
- Move common properties to application.yaml
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
The exclude is supposed to be on SpringBootApplication annotation,
otherwise IntelliJ Spring plugin errors, and also SpringBootApplication
already contains EnableAutoConfiguration.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
The previous change to try and force GSON for serialization broke
default message converters such as text/plain. Change to use
extendMessageConverters and remove the Jackson converter instead.
This fixes deserailization of the loot timestamps for the loot tracker,
and maybe other things. Note this does not use the same Gson instance as
http-api as Spring creates its own Gson, however they are both default
Gson instances.