SkyBlock Minecraft Addon #26 - Top list sorting, new flags & new anti afk add-onsteemCreated with Sketch.

in #utopian-io5 years ago
Here is a slime next to me, some people already fear these slimes at SkyBlock, but now, there is finally a way to get rid of them using a flag in SKYBLOCK.SK.

Hello everyone,

I have new exciting features and changes to show for you guys. This time, sortable top lists, general improvements and an anti afk add-on have been added, which give the game more depth, particularly the sortable top lists now allow players to specialize to specific parts of the island. They no longer can only be the first guy who has the most valuable island but also the one who has the most visitors or challenge experience gathered.

1. Repository

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

2. Index

  1. Repository
  2. Index
  3. New Features and changes
    3.1 Added sorted toplist & improvements of island warps
    3.2 Added new flags
    3.3 Changed y-coordinates of the island protection
    3.4 Improved afkcheck add-on
    3.5 Improved jetboots
    3.6 Added anti afk add-on
    3.7 Added protection for item frames and pictures
  4. Pull requests
  5. GitHub Account
  6. How to contribute

3. New Features and changes

3.1 Added sorted toplist & improvements of island warps

People wanted to know who is the best with the challenges and who gets visited very often. Because people asked for this feature, I added it in. This new feature now allows players to view a top list not only for the best island by level but also by challenge experience and island visitors.

Here is a quick video that shows the new toplist, you can see that there are some 's as names, these are there because I have changed some things on my production server which temporary broke these names for me. This is not the case on a current version of SKYBLOCK.SK.

Also, the /island warp has been improved and hooked together with this top list.

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


3.2 Added new flags

Some people still experience players who participate in griefing. To prevent further problems, I have added new flags, which hopefully stop some of these griefing problems.

  • Player vs. player (pvp) flag:
    This new pvp flag now allows the island owner to toggle the pvp of the island between on and off, the server operator can disable this flag to not be changeable, of course.

  • Island access flag:
    If outsiders shouldn't be able to access the island, this flag is the right one. It will prevent any access to the island and stop players from griefing easily. I'm not talking about breaking blocks but simply making the gameplay worse by jerking around. This flag gives the island operators the ability to handle that.

  • Slime spawning flag:
    Some people have slime chunks and some do not have them. While some might say that it is nice to have one, they can get really annoying to handle with, because there are simply too many of these around. To avoid being annoyed by these slimy things, I added this flag which allows the player to toggle these slimes from spawning to off.

Here is a example how the event for the slime spawning is handled.

Thanks to the handlegeneralflagevent function, checking and canceling these events is easily done.

For the island access flag, a new function has been added, here is how it looks like:


It does one particular thing: Checking if the island, on which the player is currently on changed to another one. This can happen if a player moves or teleports.

This function also directly handles the flag. To make this function fully working, it has to be called every time a player is moving. To prevent the main game from lagging on a larger player base, I have made this function threaded, which means that it can't halt the game because it is in a separate process.

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


3.3 Changed y-coordinates of the island protection

With the elytra and jetboots, players have the opportunity to fly way above islands. This is a great way to make the late game funnier, since who doesn't want to fly around his fully built and fancy island.

But since the island protection prohibited players from doing that, because it thought that islands end at the y-coordinate 256, it was not possible to fly any higher or lower than 0. Now, players can fly on their island between the y-coordinate -5000 to 5000 without getting any problems.


As you can see, the change is only two lines big but has a big impact on the gameplay for the players.

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


3.4 Improved afkcheck add-on

There are always people who want and can automate things. The afk check add-on has been made to check if a player is actually afk or not. But since people were able to capture the screen to check for changes, they simply have automated the afk check. To increase the difficulty for these people who try to automate things, I added a random integer to the afk check add-on. If a team member now types /afkcheck <player>, the player not only has to type in /afkok, but /afkcheck <random integer>.

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


3.5 Improved jetboots add-on

The jetboots now can be further configured by server operators, as there can now be more fuel types than just one. Also, the server operator can define how efficient each fuel type is. This allows for more options to the players and customization by the server operator.

Additional to the new fuels, the fuel amount within the item now shows red, if it reaches a dangerous amount to prevent players from falling down when there is no fuel left. Thanks for the suggestions regarding the jetboots, @jongartv.

To visualize the new colored item lore here, I made a short video here:

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


3.6 Added anti afk add-on

There are already anti afk plugins out there. But almost all of the plugins I have seen are working like this:

  • Player goes online
  • Check the difference between now and the time of the last movement
  • If the difference is too high kick the player, for example, 5 minutes
  • Player automates the client to rejoin every 6 minutes

This is my solution:

  • The player goes online and gets 50 seconds of afk time to use
  • Any movement each 50ms gives the player activity points
  • Every 50ms in which the player doesn't move will result in a loss of activity
  • Once the player has reached an activity of 0, the player is kicked from the server

This way, active players will not be annoyed by a short 5 minutes break. But people who wanted to automate their stuff or rejoin every 5 minutes will face some new problems.

Also, I have added a system which checks how many repeated locations the player has visited the last 2000 locations, this can be changed higher or lower by the server operator. This means, if a player comes across a specific location 20 times (changeable), the location will no longer be counted as an active but an inactive location.

There are multiple automated anti afk farms in Minecraft, here is an example of two, which can be detected by this after a short amount of time:

There went more thoughts into this add-on, but these were the most important parts I wanted to show.


I also added a command to this add-on which allows players to view how much activity they have. I'm just saving a boolean (true) to the metadata key "activiyshow" of the player, which allows the anti afk function later to check for it to determine if the player should get notified about his activity or not.

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

3.7 Added protection for item frames and pictures

For some reason, SKYBLOCK.SK dropped the support to protect item frames and pictures at some point. This could have happened due to an update from SkQuery or Skript, on which SKYBLOCK.SK depends. I added the protection back in.

Commit: https://github.com/Abwasserrohr/SKYBLOCK.SK/commit/c1357c9b071c33a3da687d6d541be1b5945f2e16


4. Pull requests / Commits

https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/271
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/274
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/276
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/277
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/278
https://github.com/Abwasserrohr/SKYBLOCK.SK/pull/284
https://github.com/Abwasserrohr/SKYBLOCK.SK/commit/c1357c9b071c33a3da687d6d541be1b5945f2e16


5. GitHub Account

https://github.com/Abwasserrohr


6. How to contribute

If you want to contribute to SKYBLOCK.SK, contact me here in the comments or on Discord. Please contact me directly, I'm the sewage pipe on Discord. I look forward to meeting people who want to get in touch with Skript and Minecraft.
If you never had anything to do with programming, SKYBLOCK.SK could be a great way to start. Skript is easy to learn and gives you the opportunity to understand how things work and also get the idea behind object-oriented languages, like Java while playing a game.

Discord: https://discord.gg/FRuK5BC


Thank you for reading my contribution post.

This time, players who automated their game using external programs have to improve their bots to keep up with the newly added features to prevent afk from happening. Also, the new flags will help players for sure. The toplist sorting is one thing I've been very happy to have it finally in. That way, there are multiple goals for players. Just making an island out of diamonds isn't enough to get a lot of visitors to the island. This allows players to specialize on island levels, challenge experience or tourism by visitors.

If you have feedback about this contribution post, the new features or SKYBLOCK.SK as a whole, just comment below this post, I appreciate your feedback.

Have a great Friday and a good start into the weekend,

@immanuel94

Sort:  
  • Great post with videos, images, code samples, the whole thing!
  • Commit and code comments are awesome.
  • Good advancements and explanations of coding choices.

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!

How do you earn Taler on SkyBlock?

Posted using Partiko Android

Hey @pompe72! =)

Using the command /store, you can get to the store where you can buy/sell stuff. If you're in the menu, click on the red block to sell stuff.

Also, I'm currently on the translation to English, which should help with the navigation through these menus a lot. ^^

ich finde es nice dass man jetzt die Jetboots auch mit andere treibstoffen befüllen kann

Vielen Dank nochmal für dein Feedback. ;)

Die neuen features hören sich sehr gut an. Vor allem das neue Anti-AFK ist echt sehr genial.

Ja, mal schauen, ob das anti afk soweit gut läuft...^^

Die Neuerungen hören sich gut an.

Hey @immanuel94,
bisher ist es so das dass Bauen und Abbauen Flag zusammen ist, ich fände es jedoch besser wenn es dafür getrennte Flags gebe. Also einmal ein Flag zum bauen und einmal ein Flag zum abbauen. Der Grund dafür ist dass wenn man jemanden beauftragen möchte etwas zu bauen nur den Flag einstellen kann dass er bauen kann und keine anderen Blöcke abbauen kann so ist die Insel vor Griefern geschützt.

Hallo @jongartv! =)

Vielen Dank für dein Feedback, ja, das ist eine gute Idee. Ich schaue mal, wann das umgesetzt werden kann.^^

Hey, ich habe nochmal einen verbesserungsvorschlag. Und zwar kann man die Lagersysteme nur öffnen wenn ein Block nach oben Platz ist/ eine Stufe drübert ist. Könnte man es vlt machen dass man die Lagersystem auch öffnen kann wenn ein block drüber ein Block ist, das würde oftmals schöner aussehen.

Hallo @jongartv! =)

Das ist ein guter Vorschlag. Ich schaue mal, ob und wie sich das am besten umsetzen lässt. Aktuell ist mit 1.14 viel anderes zu erledigen, aber sofern Zeit ist, wird das gemacht.

Congratulations @immanuel94! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 150 posts. Your next target is to reach 200 posts.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

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!

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.670 which ranks you at #5457 across all Steem accounts.
Your rank has improved 4260 places in the last three days (old rank 9717).

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

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers appreciate your great work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60991.61
ETH 2921.47
USDT 1.00
SBD 3.56