advanced-achievements icon indicating copy to clipboard operation
advanced-achievements copied to clipboard

Ideas for new categories

Open Platinteufel opened this issue 9 years ago • 32 comments

Hey PyvesB,

I had some ideas for new categories in future versions today. A lot of them are official Minecraft statistics. Would be awesome if you could give me feedback and tell me if you like some of them. ;-)

  • ~~Animals bred (Breeder): The number of times the player bred two mobs.~~ Done.
  • Distance climbed (Tarzan): The total distance traveled up ladders or vines.
  • ~~Distance crouched (Ninja): The total distance walked while sneaking.~~ Done.
  • ~~Distance dove or swum (Dolphin): The total distance you have walked underwater or swum. Wading through water also increases this number. It does not include vertical distance from bouncing in water.~~ Not really doable. The isSwimming method also takes sprint-swimming into account, not any other water movement.
  • Plants potted (Gardener): The number of plants potted onto flower pots. (Cooldown!)
  • Zombie villager cured (Doctor): The total number of zombie villager the player cured.
  • Mobs named: The total number of mobs the player named by a nametag.
  • Sheeps dyed: The total number of sheeps the player dyed.

Cheers ;-)

Platinteufel avatar Mar 23 '17 23:03 Platinteufel

Hello Platinteufel,

I do like most of the category ideas! I have simplified large parts of the code recently and will include Wiki instructions so that other developers can easily add new categories to the plugin with only moderate programming required. ;-)

Cheers,

Pyves

PyvesB avatar Mar 24 '17 16:03 PyvesB

Sounds good! But does that mean you won't add more categories from now on?

Platinteufel avatar Mar 24 '17 16:03 Platinteufel

Dunno. I've added so many categories over the years, it isn't as instructive or as fun as it used to be for me. Adding them would probably be more beneficial to other developers. 😉

PyvesB avatar Mar 24 '17 16:03 PyvesB

Okay, that's understandable. Maybe you could pick one category that you like most, implement it for the next big release and turn down the others. I've just noted them while playing a few hours survival again. Thank you for your feedback! :-)

Platinteufel avatar Mar 24 '17 16:03 Platinteufel

Some ideas:

  • Mob build/spawning achievement (Wither, Iron and snow golem)
  • Killed by achievement (reverse of kill achievement)
  • Playtime in a particular world achievement

JohOply avatar Dec 05 '17 15:12 JohOply

Maybe more AACH with other Plugins like PocketGames ~~or Jobs Reborn~~ Done. With ChestShop (Earn Money with Shops) will be also a great idea. How is the idea with Achievements for survival in a Arena from CoreArena?

Oh this idea will also great: Achievements for MyPet !

enterih avatar Oct 08 '18 01:10 enterih

Hi,

Many interesting ideas here, are any additions of these categories planned in the near future ? And a new idea of achievement :

  • Thrown tridents

aurel85 avatar Mar 24 '19 13:03 aurel85

I flagged the issue as "good first issue" as it's something new contributors to the project can easily work on. There's even some guidance on how to implement new categories in the Wiki, anyone can feel free to give it a go. :wink:

PyvesB avatar Mar 26 '19 19:03 PyvesB

Coming soon, new achievement category:

TargetsShot:
  villager:
    10:
      Goal: Throw things at villagers.
      Message: You lapidated villagers 10 times.
      Name: targetsshot_10_villager
      DisplayName: The Stoner
  glass:
    100:
      Goal: Try to break granny's windows.
      Message: You shot 100 projectiles at glass blocks!
      Name: targetsshot_100_glass
      DisplayName: Window Breaker

PyvesB avatar May 06 '19 17:05 PyvesB

Hi, Would it also be a idea a category hitting mobs/players/blocks with bare hands. Would be funny to make a achievement that players need to hit a creeper bare hands for some amount of times.

Cloman avatar Aug 02 '19 08:08 Cloman

It's Hacktoberfest! Feel free to submit contributions for new categories, it's an easy way to work towards your contribution count! :tada:

PyvesB avatar Oct 04 '19 22:10 PyvesB

Hi,

With 1.14 we can imagine a lot of new achievements :

  • Make banners (with loom)
  • Disenchant tools (with grindstone)
  • Use a composter
  • Copy a map (with cartography table)
  • ~~Raids won~~ Done.
  • Catch fish with a bucket
  • Number of books read in a lectern

aurel85 avatar Oct 09 '19 12:10 aurel85

I need a few Hacktoberfest PRs more so I'll work on some later this week.

supertassu avatar Oct 10 '19 05:10 supertassu

Here's a test version containing @supertassu's new RaisWon category! There are also changes to how the classes handling statistic increases are designed internally, let me know if you notice anything odd. 😉 AdvancedAchievements.zip

PyvesB avatar Oct 14 '19 18:10 PyvesB

Hi there, I also have some ideas about the new categories, like:

  • Player Death Event - things like drowned, fell the momentum ...... and count them. (be more specific)
  • Sleep Count - like doesn't sleep for 100 days .....
  • Multi-action - like jump into the lava and then jump into water (This looks like the Mojang's achievement)

BillZhucn avatar Mar 25 '20 00:03 BillZhucn

Upcoming new category: DistanceSneaking! 🎉

I also implemented DistanceSwimming but later scrapped it. Spigot's isSwimming method only returns true when the player is sprint-swimming, any other movement in the water would not be taken into account. This would be a very confusing category for users as the statistic would not increase if they're swimming at a normal pace in the water for example. Maybe someone could raise a Spigot improvement request about this? Another annoyance is that the aforementioned method was only added recently in Minecraft 1.13: not everyone would benefit from such a category and it made the code slightly more complicated as Advanced Achievements maintains compatibility all the way back to Minecraft 1.7.

PyvesB avatar Sep 27 '20 12:09 PyvesB

Good news ! For swimming would it be so bad if it involves swimming while sprinting ? Personally that would not bother me, just it will be necessary that I specify it in the achievement.

aurel85 avatar Sep 27 '20 12:09 aurel85

Might revisit swimming at some point, for now I think there's probably more interesting stuff to implement. For example the Places category now supports custom display names, which effectively adds support to a wide range of third-party plugins! You can keep track of player heads and that kind of stuff! 🍾

PyvesB avatar Oct 03 '20 18:10 PyvesB

Can someone help me to add Reborn job support ?? I'm trying to add with this: https://github.com/PyvesB/advanced-achievements/wiki/Adding-new-categories But this is not up to date ... and I don't know where I can find the necessary listeners ^^ If someone could help me I would take care of making the additions to the plugins :) if that can help: https: //github.com/Zrips/Jobs and if that is not enough I can ask the developer directly ^^

ghost avatar Oct 24 '20 20:10 ghost

But this is not up to date ...

What makes you think it's not up-to-date? It is as far as I can tell, is there qnything I can clarify maybe?

and I don't know where I can find the necessary listeners ^^

Advanced Achievements' existing listeners are in this folder: https://github.com/PyvesB/advanced-achievements/tree/master/advanced-achievements-plugin/src/main/java/com/hm/achievement/listener/statistics

By the way, someone added Job Reborn support back in 2019, but never contributed support back to the main repository. But their code is still available, so that may be a starting point: https://github.com/fabianwennink/AdvancedAchievements 😉

PyvesB avatar Oct 24 '20 23:10 PyvesB

Not up to date : Add a new listener class to the com.hm.achievement.listener.statistics package. DropsListener.java is a very simple example you can use as a reference Now > Broke down listeners into one class per achievement category ^^

and ty for this i check this and if i need help, I say to you =D

Edit :

https://github.com/fabianwennink/AdvancedAchievements/blob/master/advanced-achievements-plugin/src/main/java/com/hm/achievement/listener/statistics/JobsRebornListener.java

This is the only file that contains jobs reborn in it, is there anything else I need? I've seen that I need to do this too:

Add a new binding method in ReloadableModule.java, similar to the existing ones.
Add a new default permission value in plugin.yml (achievement.count. followed by the category name in lower case). This file is situated in the resources folder.

So if the listener is good I can test it and use it? ^^

ghost avatar Oct 25 '20 16:10 ghost

Not up to date : Add a new listener class to the com.hm.achievement.listener.statistics package. DropsListener.java is a very simple example you can use as a reference Now > Broke down listeners into one class per achievement category ^^

Well yeah, that's why it's indicated that you need a new class! :D

I'll try to reword at some point.

https://github.com/fabianwennink/AdvancedAchievements/blob/master/advanced-achievements-plugin/src/main/java/com/hm/achievement/listener/statistics/JobsRebornListener.java

This is the only file that contains jobs reborn in it, is there anything else I need?

You'll probably need to modify it a tiny bit so that it's compatible with new versions of the plugin, but nothing major: take a look at BreedingListener.java, you'll notice that the category name has moved for example. You'll need to add the corresponding entry in MultipleAchievements.java, as well as the three last bullet points listed in https://github.com/PyvesB/advanced-achievements/wiki/Adding-new-categories

An additional thing you need for Jobs Reborn is the Maven dependency setup, as described here:

  • in the root pom.xml, add the following dependency, for example under the placeholderapi one:
    <dependency>
        <groupId>com.github.Zrips</groupId>
        <artifactId>Jobs</artifactId>
        <version>4.16.2</version>
        <scope>provided</scope>
    </dependency>
  • in advanced-achievements-plugin/pom.xml, add the following dependency, for example under the placeholderapi one:
    <dependency>
        <groupId>com.github.Zrips</groupId>
        <artifactId>Jobs</artifactId>
    </dependency>

PyvesB avatar Oct 25 '20 18:10 PyvesB

I'm sorry I tried to make proposals to add everything but I screwed up somewhere and I know absolutely nothing about java ^^... Could you explain me or did I miss something ? Thanks in advance =D If needed : n54b#0083 (discord ^^)

ghost avatar Oct 27 '20 21:10 ghost

You made one pull request for each file, that's a bit annoying but it's something we can work with.

Things are probably not working because JobsRebornListener is missing it extension (.java) and you have to add the new entry in MultipleAchievements.java. :)

PyvesB avatar Oct 27 '20 21:10 PyvesB

I'm really sorry for all these requests x) I'm really not getting away with github >_<. I'm stuck here and I don't know what to do to make it work. I've tried everything but I've got some mistakes I can't solve :'( Could you help me Oh great and powerful PyvesB <3

ghost avatar Oct 28 '20 22:10 ghost

Thanks for the efforts, I'll have a look tomorrow. I'll probably try to squash all pull requests into one, so don't panic if you see things getting closed. Could you please double check that "Allow edits from maintainers" is ticked in #874?

There's probably some decent documentation to use GitHub, I'll see if I can dish something out for you. :)

PyvesB avatar Oct 28 '20 22:10 PyvesB

Thanks a lot ^^, I just checked and yes the box is well checked at home :)

ghost avatar Oct 28 '20 22:10 ghost

New JobsReborn category released, thanks for the help @n54b ! 🍾

PyvesB avatar Oct 31 '20 12:10 PyvesB

Especially thank you to you for the resolution of the concerns: D

ghost avatar Oct 31 '20 13:10 ghost

By the way, for anyone wanting to learn how to better use GitHub, their documentation is actually quite decent for beginners:

  • https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project
  • https://docs.github.com/en/free-pro-team@latest/desktop/contributing-and-collaborating-using-github-desktop/pushing-changes-to-github

PyvesB avatar Oct 31 '20 14:10 PyvesB