Giter Site home page Giter Site logo

hytilities's Introduction

Hytilities

User Guide

What is Hytilities?

Hytilities is a Hypixel focused Forge 1.8.9 mod, adding tons of Quality of Life features that you would want while on Hypixel, such as an Advertisement-Blocker, AutoQueue, Game Status Restyle, AutoComplete for /play and plenty others to discover on your own!

How do I use Hytilities?

Hytilities is installed just like any other Forge mod.

If you do not know how to install a Forge mod, then we recommend following this step-by-step guide.

Features

Chat

Chat

  • Autocomplete /play Commands - Allows tab completion of /play commands
  • Guild Welcome Message - Send a friendly welcome message when a player joins your guild.
  • Chat Swapper - Automatically change back to a selected channel when leaving a party.
  • Chat Swapper Channel - The channel to return to when leaving a party. Requires Chat Swapper.
  • Remove All Chat Message - Hide the "You are now in the ALL channel" message when auto-switching.
  • Game Status Restyle - Replace common game status messages with a new style.
  • Player Count Before Player Name - Put the player count before the player name in game join/leave messages.
  • Player Count On Player Leave - Include the player count when players leave.
  • Player Count Padding - Place zeros at the beginning of the player count to align with the max player count.
  • Short Channel Names - Abbreviate channel names.
  • Shout Cooldown - Show the amount of time remaining until /shout can be reused.
  • Player Adblocker - Remove spam messages from players, usually advertising something.
  • Trim Line Separators - Prevent separators from overflowing onto the next chat line.
  • Remove Automatically Activated Quest Messages -
  • Remove Lobby Statuses - Remove lobby join messages from chat.
  • Limbo /play Helper - When a /play command is run in Limbo, this runs /l first and then the command.
  • Show Personal Mystery Box Rewards - Remove others mystery box messages from chat.
  • Remove Soul Well Announcements - Remove soul well announcements from chat.
  • Remove Game Announcements - Remove game announcements from chat.
  • Remove Hype Limit Reminder - Remove Hype limit reminders from chat.
  • Remove Bedwars Advertisements - Remove player messages asking to join BedWars parties.
  • Remove Friend/guild Statuses - Remove join/quit messages from friend/guild members.
  • Remove Guild Motd - Remove the guild Message Of The Day.
  • Remove Chat Emojis - Remove MVP++ chat emo.jis.
  • Remove Server Connected Messages - Remove server connection messages.
  • Remove Automatically Activated Quest Messages - Remove automatically activated quest messages
  • White Chat - Make nons chat messages appear as the normal chat message color.
  • White Private Messages - Make private messages appear as the normal chat message color.
  • Cleaner Game Start Counter - Compacts game start announcements.
  • Remove Curse Of Spam Messages - Hides the constant spam of kali's curse of spam.
  • Remove Gifts Message - Removes the gifts messages.
  • Thank watchdog - Compliment Watchdog when someone is banned, or a Watchdog announcement is sent.
Lobby

Lobby

  • Hide Lobby Npcs - Hide NPCS in the lobby.
  • Hide Lobby Bossbars - Hide the bossbar in the lobby.
  • Mystery Box Star - Shows what star a mystery box is in the Mystery Box Vault, Orange stars are special boxes.
  • Limbo Limiter - While in Limbo, limit your framerate to 15 to reduce the load of the game on your computer.
General

General

  • Hide Npcs In Tab - Prevent NPCS from showing up in tab.
  • Hide Player Ranks In Tab - Prevent player ranks from showing up in tab.
  • Cleaner Tab In Skyblock - Doesn't render player heads or ping for tab entries that aren't players in Skyblock.
  • Hide Ping In Tab - Prevent ping from showing up in tab while playing games, since the value is misleading. Ping will remain visible in lobbies.
  • Auto Start - Join Hypixel immediately once the client has loaded to the main menu.
  • Hide Guild Tags In Tab - Prevent Guild tags from showing up in tab.
  • Broadcast Achievements - Announce in Guild chat when you get an achievement.
  • Broadcast Levelup - Announce in Guild chat when you level up.
  • Auto Queue - Automatically queues for another game once you die.
  • Auto Queue Delay - Delays the execution of Auto Queue. (The measurement is in seconds)
Game

Game

  • Mute Housing Music - Prevent the Housing songs from being heard.
  • Hide Armour - Hide armour in games where armour is always the same.
  • Hardcore Hearts - When your bed is broken/wither is killed in Bedwars/The Walls, set the heart style to Hardcore.
  • Pit Lag Reducer - Hide entities at spawn while you are in the PVP area.
  • Game Countdown Timer - Hide the displayed title text when a game is about to begin.

How to contribute

Contribution

How can I contribute to Hytilities?

You can contribute to Hytilities by following the instructions below. Basic knowledge of git is required.

Setup - IntelliJ

Press the green "Code" button.

GitHub Code button

Depending on how your Git is set up/you want to clone, you will click on either HTTPS, SSH, or GitHub CLI, then press the clipboard button beside the link.

GitHub HTTPS Clone GitHub SSH Clone GitHub CLI Clone

Open your preferred IDE, in this example we will be using IntelliJ. You can choose the "Community" tab if you do not already own the Ultimate version.

On IntelliJ's main menu, press the button that says "Check out from Version Control", click "GitHub", and paste the URL to the "Git Repository URL" text field. If you want to change the directory it will be cloned to, change the "Parent Directory" text field. Once you are done changing where you want it to be, click "Clone", then wait for it to finish. Once prompted with "You have checked out an IDEA project file: [file location]. Would you like to open it?", press the "Yes" button.

Once it is done cloning, click on the Gradle tab on the very right sidebar.

IntelliJ Gradle tab

Once that is open, click the dropdown beside the Tasks folder.

Gradle Tasks directory

Then click the forgegradle directory dropdown.

ForgeGradle directory

Then proceed to double-click the setupDecompWorkspace task. This may take a few minutes.

setupDecompWorkspace task

Once that is complete, you will want to click on this button in the top left of the Gradle tab.

Refresh Gradle button

Once the project is done refreshing, you will want to run the genIntellijRuns task.

genIntellijRuns task

Once that task is complete, you can start Minecraft by clicking on this dropdown in the top right, usually saying Minecraft Client.

Minecraft Client

Click the Edit Configurations... button.

Edit Configurations

Click on Minecraft Client.

Minecraft Client

Ensure that the classpath is set to Hytilities.main. If it is not, select the drop down and set it.

Classpath

If you want to be able to play Multiplayer, you'll need to log in. To do this, append to the Program Arguments field --username <email> --password <password> where <email> is your email (or your account name if you have an unmigrated account) and <password> is your password.

Login

Apply and save your changes.

Apply Save Changes

You should now be able to run Hytilities in the dev workspace.

Run

If you want to compile, then you must simply run Tasks > build > build.

Compile

Setup - Terminal

Note that while you can launch the game from the Terminal, you cannot login, so playing on Hypixel in the development environment is impossible.

As with many GitHub projects, Hytilities is rather simple to set up in the Terminal.

Click the green code button.

GitHub Code button

Depending on how your Git is set up/you want to clone, you will click on either HTTPS, SSH, or GitHub CLI, then press the clipboard button beside the link.

GitHub HTTPS Clone GitHub SSH Clone GitHub CLI Clone

Go to your terminal, and type git clone , paste in the URL you copied, and hit enter.

Git Clone

Enter the Hytilities directory. From here, what you do depends on your OS. This guide will use Linux, however the process is only slightly different on Windows. Instead of doing ./gradlew ..., you do gradlew .... If you are a Windows user, when copy and pasting commands from here, omit the ./.

Type ./gradlew setupDecompWorkspace. This may take several minutes. It should say BUILD SUCCESSFUL once finished.

Now, you can edit the files as you would any other project, such as with a Terminal editor like vim. To compile, run ./gradlew build. They will be in the versions/1.8.9/build/libs folder. To launch the game, run ./gradlew runClient.

hytilities's People

Contributors

116s avatar 1fxe avatar chachydev avatar cubxity avatar devbefell avatar gaminggeek avatar garykam avatar jacksonchen666 avatar kodingdev avatar lizzymaybedev avatar lyndseyy avatar microcontrollersdev avatar miqhtiedev avatar moire9 avatar my-name-is-jeff avatar nystrex avatar osbourn avatar proudmuslim-dev avatar realm0f avatar simulatan avatar sk1er avatar systemlessdev avatar userteemu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hytilities's Issues

Locraw outputs still are shown in the ReplayMod studio

Image of bug

None. Example output however:

{"server":"mini250J","gametype":"BEDWARS","mode":"BEDWARS_EIGHT_TWO","map":"Lightstone"}

Description

When using the ReplayMod ("RM") studio the locraw output is still shown. This is most likely because we only cancel the locraw message when the Player is active on Hypixel but not if they were in the RM studio...

How to reproduce?

  1. Load the game with Hytilities & RM
  2. Join the Hypixel Server mc.hypixel.net
  3. Use the mod for a decent amount of time, locraw should've been used once or twice by then
  4. Disconnect from Hypixel and go into Replay Videos
  5. Choose your latest Replay video
  6. Watch the replay and locraw messages appear in chat

Possible solutions

  • Detect for the ReplayStudio and cancel the locraw messages

Unsupported solutions

  • Prevent ReplayMod from picking up the chat packets containg locraw

Conflicts with other mods using /locraw

Looking at these lines:

if (!this.playerSentCommand) {
event.setCanceled(true);
}

It appears that the /locraw message is always captured and cancelled unless the player sent it. This causes conflicts with other mods. that use /locraw if they do not set their priority higher. A higher priority would result in a never-ending war of who comes first.

The best solution to this in my opinion would be, instead of not cancelling when the message is player-sent, only cancel if the message is mod-sent.

Player found a 5 star Mystery Box

I put this in #suggestions on the discord a while back and it hasnt been noticed and Sk1er told me to make this a issue request so, in Hytilities when will you add a toggle to remove Player found a 5 star Mystery Box

Issues

Hytilities' "Cleaner Game Start Counter" feature does not work when using Patcher's Compact Chat
Hardcore Hearts renders a second hunger bar or doesn't work entirely
Remove Guild message of the day doesn't actually remove the guild MOTD

A cool addition to the mod would to add a search bar to the control menu aswell as a show conflicts button, because controlling (1.8) doesn't work well with other mods especially mods that effect the controls tab like SettingsProfiles and BetterSprinting

Trim Line Separators doesn't work on the rewards summary

Hypixel sends the rewards summary as one message which breaks the trim line separators feature.
The timestamp and other unnecessary things has been trimmed away from the log for the sake of readability.

[CHAT] §r§a§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
[CHAT]                                   SkyWars
[CHAT] 
[CHAT]                              Winner - karadera
[CHAT] 
[CHAT]                        1st Killer - karadera - 4
[CHAT]                    2nd Killer - [VIP] FG_Dalbam - 3
[CHAT]                      3rd Killer - [MVP+] Esaul - 2
[CHAT] 
[CHAT] §r§a§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
[CHAT]
[CHAT] §a§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
§r                            §f§lReward Summary§f§l

   §7You earned
§r     • §61,440 SkyWars Coins
§r     • §318 Hypixel Experience
§r     • §280 Guild Experience

§7You harvested §b1 Soul
§7You earned §d1 SkyWars Experience

§a§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

The "Improved Join Message" normally outputs negative numbers and sometimes fails to be sent.

Image of bug

Image of Bug

Description

When one joins a game with Hytilities, if enabled, improves the chat message sent by Hypixel. However, it currently sends negative numbers.

How to reproduce?

  1. Load the game with Hytilities
  2. Join the Hypixel Server mc.hypixel.net
  3. Join a game
  4. If not enabled, enable the "Improved Join Messages" feature
  5. Watch the chat be filled with negative numbers, etc.

Trim Line Breaker removes components click and hover actions.

The trim line breaker config option uses a regex that can match anything that contains at least 1 letter and a hyphen right after therefore making it so if you send a message with a- it will remove the profile click action from the message. This also breaks links that contain a hyphen such as the reward-claim messages.

Here is an example:

What Hytilities sees a hyphen in.

TextComponent{text='', siblings=[TextComponent{text='Click the link to visit our website and claim your reward: ', siblings=[], style=Style{hasParent=true, color=§6, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text='https://rewards.hypixel.net/claim-reward/e321be5b', siblings=[], style=Style{hasParent=true, color=§b, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=ClickEvent{action=OPEN_URL, value='https://rewards.hypixel.net/claim-reward/e321be5b'}, hoverEvent=HoverEvent{action=SHOW_TEXT, value='TextComponent{text='Click to visit our website', siblings=[TextComponent{text='
', siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text='§7Opens §ehttps://rewards.hypixel.net/claim-reward/e321be5b §7on click.', siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], style=Style{hasParent=false, color=§f, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}'}, insertion=null}}, TextComponent{text='
', siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}

What Hytilities changes it to:

TextComponent{text='§r§6Click the link to visit our website and claim your reward: §r§bhttps://rewards.hypixel.net/claim-reward/e321be5b§r§r', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}

Game Status Restyle option no longer works

With just Hytilities in my mods folder and the option enabled, the game status was not restyled in bedwars, skywars, duels or murder mystery.

I will take a look at this myself tomorrow if nobody else does so before me (and hopefully not cause any issues this time 😳)

Feature: Remove messages with unicode character spam from chat

It's a common technique of spammers to just use random unicode characters to bypass the filter.

So, just search for any messages with more than, let's say, 4 charcters past like, 0x007F. Alternatively, you could go up to 0x00FF if you the Latin-1 Supplement characters, 0x017F if you want Latin Extendend-A characters, and 0x024F if you want Latin Extended-B characters. See: https://unicode-table.com/en/#basic-latin (Note, the § character used for colour codes is part of the Latin-1 Supplement characters)

Here's some examples of spam text from today:

§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | ZpKsHIpUv
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | LkNoRHmDj
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | RmMnKXlYd
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | RvNaOMbCm
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | DdRxJWaSi
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | PcWrWAsLg
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | KdWqYMnNv
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | RlOlGGcLz
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | KfNgVDtNl
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | QqPwBQzGn
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | RbQoEZwPg
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | HxJpVBlVs
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | BlKoONpRc
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | BvYtRAwQe
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | ExYlDUmOs
§7[1✫] §a[VIP§6+§a] officialspitfire§f: discord.gg⧸KCALS < FREE MVP++ | UdPnDAyLr

Hytilities message detection doesn't support other languages.

Users should be able to select the detection language (English, by default) through the GUI using a SELECTOR property type.

A way to improve this would be fetch the users currently selected language, then automatically change the language it will use for regex detection & select the file based on that.

https://api.sk1er.club/player/username will return

{
  "userLanguage": "ENGLISH"
}

and with that, it would select the regex file with the corresponding language lettering chosen through a switch

switch (language) {
    case "ENGLISH":
        return "en"; // suffix to the end of the `regex_name.json`
    case "SPANISH":
        return "es"
    // etc...
}

(regex_en in this case)

These would need to be community-sourced, as I personally do not have the time to run through all 16 (as of today) languages and support them through regex.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.