Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Submit TileMarkerMetronome #6998

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

RenaudBernon
Copy link

Tile Marker Metronome is a adaptation of the built in GroundMarkers plugin.
Added functionalities include:

  • Creating groups of Tiles
  • Changing tile color every x ticks
    Tile groups have separate settings, and can be hidden/shown separately as well.

@runelite-github-app
Copy link

runelite-github-app bot commented Nov 18, 2024

@iProdigy
Copy link
Member

tile-marker-metronome: Missing LICENSE file
All plugins must be licensed under a license that allows us to freely distribute the plugin jar standalone.
We recommend the BSD 2 Clause license.

@iProdigy iProdigy added the waiting for author waiting for the pr author to make changes or respond to questions label Nov 18, 2024
@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Nov 19, 2024
@iProdigy
Copy link
Member

not a complete review but: on plugin shutDown, please remove navigationButton from the ClientToolbar

not as important: your game state logic will be called more frequently than you think due to the intermediate LOADING state (e.g., LOGGED_IN -> LOADING -> LOGGED_IN)

@iProdigy iProdigy added the waiting for author waiting for the pr author to make changes or respond to questions label Nov 19, 2024
@RenaudBernon
Copy link
Author

not as important: your game state logic will be called more frequently than you think due to the intermediate LOADING state (e.g., LOGGED_IN -> LOADING -> LOGGED_IN)

Doesnt the intermediate loading state also load new regions?
Granted, I shouldn't be doing loadGroups(); but loadPoints(); seems necessary?

@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Nov 19, 2024
@iProdigy
Copy link
Member

Doesnt the intermediate loading state also load new regions? Granted, I shouldn't be doing loadGroups(); but loadPoints(); seems necessary?

Yeah I should've been more precise: loadGroups() is unnecessary there. technically it's possible to hit LOADING without the player's current region changing, but other regions may have loaded so loadPoints() is fine

@RenaudBernon
Copy link
Author

Ill remove the load groups()
If you think the IO for the load points is taxing I can also add a check for the region so I only load the points here when necessary.

@iProdigy
Copy link
Member

another option is to inject ScheduledExecutorService and perform that IO off of the client thread, but I doubt there is enough of a performance hit to require you to make that change

@raiyni
Copy link
Member

raiyni commented Nov 20, 2024

Is there a serious use for this outside of timing some kind of boss/skill/minigame mechanic and knowing where to stand?

@raiyni raiyni added the waiting for author waiting for the pr author to make changes or respond to questions label Nov 20, 2024
dont load groups on game state changed
@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Nov 20, 2024
@RenaudBernon
Copy link
Author

@iProdigy, I removed the navigation on shutdown, and removed loading groups on gamestate changed
@raiyni, The main usecase I see indeed is timing during PvM encounters, maybe sepulchure.
You can also turn the Falador party room into a disco floor if thats your thing, but I recon thats not what most people would do ;)

@raiyni
Copy link
Member

raiyni commented Nov 20, 2024

I'm struggling to see the validity of this plugin outside of using it for boss/minigame mechanics. I think this would need to be heavily gated to be allowed but other contributors can chime in I guess.

@raiyni raiyni added the waiting for author waiting for the pr author to make changes or respond to questions label Nov 20, 2024
@RenaudBernon
Copy link
Author

maybe I'm misunderstanding your comment, are you saying this would be against the Jagex guidelines?

@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Nov 20, 2024
@LlemonDuck
Copy link
Contributor

If I'm understanding correctly, this is just visual metronome but on ground tiles, right?

Does the player have to manually start the timers each time or are they started when the map scene is loaded?

@LlemonDuck LlemonDuck added the waiting for author waiting for the pr author to make changes or respond to questions label Nov 21, 2024
@RenaudBernon
Copy link
Author

It's indeed just visual metronome on ground tiles with some small things added.
Once a tile is marked it will change color each tick.
There is no manual starting/pausing for these animations.

There is config named AnimationType which has 2 options:
(examples have default config of 2 colors, white/blue
SYNCED
All tiles are share the same color each tick

Tick 1 Tick 2
Tile 1 white blue
Tile 2 white blue
Tile 3 white blue

TRAIN Each tile takes the next color from the pool each tick

Tick 1 Tick 2
Tile 1 white blue
Tile 2 blue white
Tile 3 white blue

Additionally the player can create groups of tiles which can be configured independently from each other.
So if you often do 2 different activities in the same location it is easy to show/hide the relevant tiles.
For example if you always do Bandos 7:0 but want to try 6:0 you can hide the 7:0 markers, create a group for 6:0 and give it a few attempts without 'losing' your marked tiles.

I hope this clears things up.

@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants