SkyBlock Minecraft Addon #19 - Improved challenge menu & jetboots

in #utopian-io5 years ago (edited)
@sausemaus didn't like that her fishes are despawning all the time, that is why fish despawning can now be disabled within the SKYBLOCK.SK configuration. Now, players can build fish tanks and keep the fishes. =)

Hello everyone,

this time, I have new changes from SKYBLOCK.SK to show off. While there are no completely new features I have to show today, there have been big improvements made on the challenges menu, the jetboots addon and also a new setting for server operators, which allows them to disable fish despawning.

1. Repository

https://github.com/Abwasserrohr/SKYBLOCK.SK

2. Index

  1. Repository
  2. Index
  3. New Features and changes
    3.1. Fish despawning can now be prevented by the server operator
    3.2. The jetboots.sk add-on is now more reliable
    3.3. Improved challenges menu
    3.4. Added challenge experience modify command for server operators
  4. Pull requests
  5. GitHub Account
  6. How to contribute

3. New Features and changes

3.1. Fish despawning can now be prevented by the server operator

Some players built some big fish tanks to keep some fish to look at and chill out after a long day at SkyBlock. But there was a big problem there. Minecraft Vanilla despawned the beloved fishes out of the tanks after a while. To prevent this from happening, SKYBLOCK.SK now allows the server operator to prevent fish despawning from happening, the players now can actually see some fishes in their fish tanks. =)

fish1.png

I decided to prevent the despawn event if the server operator set a variable to true. Skript allows doing things with a very small amount of code, which is quite nice for these adjustments like seen above. It is also nice to know that we do not have to specify every fish but simply can select all the fishes with any fish.

Pull request: https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/169


3.2. The jetboots.sk add-on is now more reliable

Before this change, the jetboots only have been activated if the player jumped. Now, the jetboots no longer work that way, they now activate once the player puts the jetboots on. Then, they are activated, even after parkour maps and rejoining. This makes them more reliable since they can activate also if the player didn't jump before. That can be helpful in many places. One of them would be: If I'm building a big platform and falling off, I can rescue myself by flying, even if I didn't jump before. That wasn't possible before.

jb2.png

The now added jetboots function initializes the jetboots and then runs a while loop as long as the player is wearing the jetboots. As seen in the little snippet above, there are various cases where the jetboots function is needed. This wasn't needed until now because the jetboots have been only activated if the player jumped. Now, they're always ready to be used, which makes them very useful for emergency situations.

As it is very important to have reliable features, it was necessary to go forward and making the jetboots addon more reliable, otherwise, some people might have lost their trust into it and stopped using it, which isn't what I want.

Because it can happen that the function gets called more than just once, I have added some sort of protection to prevent multiple while loops from happening within the jetboots function.

jb3.png

Here, the loop checks if the timestamp has changed, which has been applied to the metadata value "jetboots" of the player. If it changes, the while loop is stopped and there are not multiple while loops running at the same time.
Before, a simpler version of prevention has been used. This one is more secure and there is almost no way that the function is called twice at the same moment.

Pull request: https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/168


3.3. Improved challenges menu

A while ago, the main menu and all other SKYBLOCK.SK menus have got a "go back to the previous menu" item, which lets players allow to go back to the previous menu. While that is really nice, there was no space left for this in the old challenge menu. This lead to a not really good looking challenges menu, which is now fixed. Also, the overall layout has been improved a lot in my opinion.

Here is a side by side comparison of the old and new challenge menu.

With the new changes of the challenges menu, I also added a new function which hopefully increases readability of the function openchallenges. It was quite hard to read through, because of the length. Now, the openchallenges function calls the renderchallengeitems function, which places all the challenge items for the openchallenges function, that way the challenge menu layout and the challenge items are now separated and it is easier to maintain.

I really tried to find a nice code example but couldn't find a good one to place here, it is just not that nice to create small snippets of these bigger functions. But to explain why I changed it to this is because there can be way more challenges added now and it is easier to view all of them. The menu with the changing heads while selected have a nice touch which gives it some uniqueness, also a reason why I decided to make it this way instead of the old overfilled menu.
Also, all the menus look kind of the same way, only the challenges menu looked not like them, a big target I have is also that SKYBLOCK.SK has an easy configurable corporate identity. Making all the menus fit together is very important in getting closer to a good corporate design which goes through all menus to look more professional.

Since the gif above is a little bit laggy, I decided to make a short video on how it looks like now with a bigger resolution.

Pull request: https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/161


3.4. Added challenge experience modify command for server operators

Some players might have cheated or the server operator wants to punish his players for something or give a gift. With this new command, the server operator can do this easily.

The server operator can use now these commands to manage the challenge experience:

/isadmin challenge xp add <username> <amount>
/isadmin challenge xp remove <username> <amount>

These two commands call the changechallengexp function which is located in the SkyBlock/SKYBLOCK.SK/Functions/challenges.sk file, here is how it looks like:

c1.png

I decided that this function doesn't send any messages to the player. That makes it also usable for custom skripts of server operators.

The way it works is that it gets the bedrock location as a string "x-coordinate_y-coordinate_z-coordinate" and then modifies the variable where the challenge experience is saved. If it was successful, it returns the amount which has been added or removed. If it didn't work, nothing gets returned, the skript which called this function can then check if the asked amount, which had to be removed actually got removed or not by checking the returned amount. That way, this function can be used for various cases, not only as a server operator tool but also for custom challenges and quests by the server operator.

Pull request: https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/161


4. Pull requests

https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/169
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/168
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/161


5. GitHub Account

https://github.com/Abwasserrohr


6. How to contribute

If you're interested in contributing to SKYBLOCK.SK, feel free to contact me on Discord. It is easy to get in touch with me there, I'm the sewage pipe and ready to meet you. =)

Discord: https://discord.gg/FRuK5BC


Thank you for looking into this post and reading my contribution post.

Improving menus which makes the overall impression of SKYBLOCK.SK better is always an amazing thing to do for me but it is also a very time-consuming task because I had to think through all the available options and select the best one (in my opinion).

I also got feedback about the new challenge menu, all people agreed that this is a very nice way of doing it. But I'm also open to better solutions if you have an idea. =)

If you have feedback on this contribution post, SKYBLOCK.SK or the new changes, feel free to share them with me here in the comments. ^^

Have a great Friday and a nice weekend

@immanuel94

Sort:  
  • Great post with animated gifs, code samples and explanations.
  • Good job on the comments in the code.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thank you for reviewing my contribution post. =)

Thank you for your review, @helo! Keep up the good work!

Hey, ich finde das JNR von McSiempre richtig cool. Ich finde es gut das es 3 verschiedene Module gibt. Hier ein screen von meiner bestzeit der 3 module:
1 Modul:
jnr-1.PNG
2 Modul:
jnr-2.PNG
3 Modul:
jnr.PNG

Gute leistung, das Jump and Run von @mcsiempre (rot) in nur einer Minute und 34.52 Sekunden zu schaffen, ist sehr schnell. =)

Das Menue ist schoen uebersichtlich geworden. Zwar etwas ungewohnt wenn man noch das alte kennt aber man gewoehnt sich schnell dran.

Ja, das alte Menü war kleiner als das neue Menü, in das neue hier passt jetzt aber auch mehr rein. =)

endlich kann ich ein aquarium bauen ohne das die fische abhauen . Fand die ansicht bei /island c vorher besser da konnte man alles auf ein blick sehen. ansonsten super arbeit von unserem owner

Freut mich, dass dir die Änderung mit den Fischen gefällt! =) Ja, /island c war vorher übersichtlicher, aber wenn mehr Herausforderungen hinzu kommen, wird es schwieriger, das alles in ein Fenster zu bringen...^^

Ist echt schickt geworden. Weiter so!

Freut mich, dass dir der Beitrag gefallen hat, @solerohot2018. =)

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 2 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 6 SBD worth and should receive 120 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Hi @immanuel94!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.003 which ranks you at #10719 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 255 contributions, your post is ranked at #148.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • You have already shown user engagement, try to improve it further.

Feel free to join our @steem-ua Discord server

Hey, @immanuel94!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63877.55
ETH 3143.56
USDT 1.00
SBD 3.97