Skip to content

Commit

Permalink
Merge branch 'Polyfrost:main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
Coccocoahelper authored Jul 15, 2024
2 parents 8e3eb05 + d2e8f0f commit 3682db4
Show file tree
Hide file tree
Showing 57 changed files with 1,837 additions and 244 deletions.
48 changes: 35 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# PolyPatcher
<img src="https://wsrv.nl/?url=https%3A%2F%2Fpolyfrost.org%2Fimg%2Fcompact_vector.svg&n=-1&w=1000" width=56 /> ![Dev Workflow Status](https://img.shields.io/github/v/release/Polyfrost/PolyPatcher.svg?style=for-the-badge&color=1452cc&label=release)
<img src="https://wsrv.nl/?url=https%3A%2F%2Fpolyfrost.org%2Fimg%2Fcompact_vector.svg&n=-1&w=1000" width=56 alt="oneconfig logo"/> ![Dev Workflow Status](https://img.shields.io/github/v/release/Polyfrost/PolyPatcher.svg?style=for-the-badge&color=1452cc&label=release)

PolyPatcher is a Forge mod for 1.8.9 & 1.12.2 created to improve your all-around Minecraft experience, bringing tons of Quality of Life additions, performance improvements, and tons of Vanilla bug fixes.

Expand All @@ -17,13 +17,15 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
- **Layers In Tab** - Resolve players sometimes not having a hat layer in Tab. *default
- **Player Void Rendering** - Resolve the black box around the player while in the void. *default
- **Alex Arm Position** - Resolve Alex-model arms being shifted down further than Steve-model arms. *default
- **Add Background to Book GUI** *(not in original)* - Adds the dark background to the book GUI like all other containers/menus.
- **Resource Exploit Fix** - Resolve an exploit in 1.8 allowing servers to look through directories. *default
- **Forge Chest Behavior** - Resolve forge changing vanilla chest behavior. *default
</details>
<details>
<summary>Experimental</summary>

# Experimental
- **Improved Skin Rendering** *(not in original)* - Remove transparent pixels on skins instead of turning them black.
- **HUD Caching** - Reuse frames from the HUD instead of constantly recreating them every frame, as most HUD elements will stay the same for a long amount of time. (This may cause stuff with animations to feel "choppy".)
- **Cache FPS** *(not in original)* - The amount of frames to cache for the HUD.

Expand All @@ -34,6 +36,7 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
# Miscellaneous
- **Remove Ground Foliage** - Stop plants/flower from rendering.
- **1.12 Farm Selection Boxes** - Replace the selection box for crops with the 1.12 variant. (Only works on Hypixel & Singleplayer) *default
- **Exclude Cacti from 1.12 Boxes** *(not in original)* - Exclude cacti from the 1.12 selection box changes, as it would actually shrink rather than increase in size. *default
- **Remove Water FOV** *(not in original)* - Remove FOV change when underwater. *default
- **FOV Modifier** - Allow for modifying FOV change states.
- **Sprinting FOV** - Modify your FOV when sprinting.
Expand All @@ -45,7 +48,7 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
- **Disable Hotbar Scrolling** - Remove the ability to scroll through your hotbar.
- **Invert Hotbar Scrolling** *(not in original)* - Change the direction of scrolling in your hotbar.
- **Prevent Overflow Hotbar Scrolling** *(not in original)* - Prevent from directly scrolling between the first and last hotbar slot.
- ~~**Crosshair Perspective** - Remove the crosshair when in third person.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/polycrosshair))
- ~~**Crosshair Perspective** - Remove the crosshair when in third person.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/crosshair))
- **Unfocused Sounds** - Change the volume of sounds when you're not tabbed into the window.
- **Unfocused FPS** - Toggle changing your FPS to whatever Unfocused FPS is set to when not tabbed into the window.**
- **Unfocused FPS Amount** - Change the maximum FPS when you're not tabbed into the window, saving resources.
Expand Down Expand Up @@ -77,14 +80,15 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
- **Hide Fire Overlay with Fire Resistance** - Hide the fire overlay when you have fire resistance active. The overlay will blink 5 seconds before your fire resistance is about to run out.
- **Pumpkin Overlay Opacity** *(not in original)* - Change the opacity of the pumpkin overlay.
- **Remove Water Overlay** - Remove the water texture overlay when underwater.
- ~~**Remove Inverted Colors from Crosshair** - Remove the inverted color effect on the crosshair.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/polycrosshair))
- ~~**Remove Inverted Colors from Crosshair** - Remove the inverted color effect on the crosshair.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/crosshair))
- **Fullbright** - Remove lighting updates, increasing visibility. (Can positively impact performance. May conflict with minimaps) *default
- **Smart Fullbright** - Automatically Disable the Fullbright Effect when using OptiFine Shaders. (Requires Fullbright) *default
- **Disable Night Vision** *(not in original)* - Completely disables the effects of night vision.
- **Cleaner Night Vision** *(not in original)* - Makes the night vision effect fade out instead of a flashing effect.
- ~~**Show Own Nametag** - See your nametag in third person.~~ (replaced by [PolyNametag](https://modrinth.com/mod/polynametag))
- **Clean Projectiles** - Show projectiles 2 ticks after they're shot up to stop them from obstructing your view. (Includes eggs, snowballs, and fishing hooks)
- **Ridden Horse Opacity** - Change the opacity of the horse you're currently riding for visibility.
- **Water Fog Density** *(not in original)* - Changes the fog density in water to improve visibility.
- **Hide Aura on Invisible Withers** - Don't render the aura around a wither when it is invisible.
- **Numerical Enchantments** - Use readable numbers instead of Roman numerals on enchants.
- **Translate Unknown Roman Numerals** - Generate Roman Numeral from enchantment/potion level instead of using language file. *default
Expand All @@ -105,8 +109,7 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
- ~~**Title Opacity** - Change the opacity of titles.~~ (replaced by [VanillaHUD](https://modrinth.com/mod/vanillahud))
- **Windowed Fullscreen** - Implement Windowed Fullscreen in Minecraft, allowing you to drag your mouse outside the window.
- **Instant Fullscreen** - Instant switching between fullscreen and non-fullscreen modes.
- **Natural Capes** - Changes some physics in capes to fix rotation bugs and look more natural.
- **Fix Action Bar Overlap** - Prevents action bar text from overlapping with armor or health bars.
- ~~**Fix Action Bar Overlap** - Prevents action bar text from overlapping with armor or health bars.~~ (replaced by [VanillaHUD](https://modrinth.com/mod/vanillahud))

</details>
<details>
Expand Down Expand Up @@ -162,16 +165,16 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
# Screens
- **1.11 Chat Length** - Extend the number of characters you can type from 100 to 256 on supported servers. (Supported servers are servers that support 1.11 or above. Some servers may kick you for this despite supporting 1.11 or above) *default
- **Remove Chat Message Limit** *(not in original)* - Remove the limit on how many messages can show up in chat. *default
- **Transparent Chat** - Remove the background from chat. (Can positively impact performance).
- **Transparent Chat Input Field** - Remove the background from chat's input field. (Can positively impact performance).
- **Extend Chat Background** - Extend the chat background all the way to the left of the screen. *default
- ~~**Transparent Chat** - Remove the background from chat. (Can positively impact performance).~~ (replaced by [Chatting](https://modrinth.com/mod/chatting))
- ~~**Transparent Chat Input Field** - Remove the background from chat's input field. (Can positively impact performance).~~ (replaced by [Chatting](https://modrinth.com/mod/chatting))
- ~~**Extend Chat Background** - Extend the chat background all the way to the left of the screen. *default~~ (replaced by [Chatting](https://modrinth.com/mod/chatting))
- **Compact Chat** - Clean up the chat by stacking duplicate messages (Does not work with Labymod) *default
- **Consecutive Compact Chat** - Only compact messages if they're consecutive.
- **Compact Chat Time** - Change the amount of time old messages take to stop being compacted. (Measured in seconds)
- **Remove Blank Messages** - Stop messages with no content from showing up in chat.
- **Shift Chat** - Keep chat open while sending a message if Shift is held while pressing Enter.
- **Chat Delay** - Delay chat messages if they're sent within the selected timeframe after the previous message. (Measured in seconds)
- **Chat Position** - Move the chat up 12 pixels to stop it from overlapping the health bar, as done in 1.12+. *default
- ~~**Chat Position** - Move the chat up 12 pixels to stop it from overlapping the health bar, as done in 1.12+. *default~~ (replaced by [Chatting](https://modrinth.com/mod/chatting))
- **Chat Timestamps** - Add timestamps before a message.
- **Chat Timestamps Style** - Choose how Chat Timestamps should appear.
- **Chat Timestamps Format** - Change the time format of Chat Timestamps.
Expand All @@ -184,7 +187,7 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
- **Projectile Protection Percentage** - View how much total projectile protection you have inside your inventory.
- **Container Background Opacity** *(not in original)* - Change the opacity of the dark background inside a container, or remove it completely.
- **Container Opacity** - Change the opacity of supported containers. Includes Chests & Survival inventory.
- ~~**GUI Crosshair** - Stop rendering the crosshair when in a GUI.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/polycrosshair))
- ~~**GUI Crosshair** - Stop rendering the crosshair when in a GUI.~~ (replaced by [PolyCrosshair](https://modrinth.com/mod/crosshair))
- **Startup Notification** - Notify how long the game took to start. *default
- **Clean Main Menu** - Remove the Realms button on the main menu as it's useless on 1.8.9. *default
- **Open to LAN Replacement** - Modify the Open to LAN button to either redirect to the server list or be removed.
Expand Down Expand Up @@ -222,27 +225,38 @@ This work, "PolyPatcher", is adapted from ["Patcher"](https://sk1er.club/mods/pa
<summary>Changes from original mod</summary>

# Changes from original mod
- Replace Essential with OneConfig
- Boost performance by batch-drawing tile entities
- Boost performance by reducing quad counts in item models
- Boost performance by decreasing size of sine and cosine lookup tables
- Boost performance by only rendering special tile entities once instead of twice per frame
- Improve speed when changing language, mipmap level, and anisotropic filtering level
- Fix Forge held item lighting to match vanilla
- Fix vanilla bug where entering an entity in spectator mode while in third person applies shaders
- Fix vanilla bug where enchantment glint takes up the whole slot
- Fix vanilla bug where items glitch out when using negative scale
- Fix vanilla bug where pumpkin overlay shows in spectator mode
- Fix vanilla sky lighting calculation
- Fix texture manager memory leak
- Fix compatability with LoliASM/CensoredASM
- Add ability to change HUD Caching FPS
- Add "Natural Capes" feature
- Add "Pumpkin Overlay Opacity"
- Add "Cleaner Night Vision" and "Disable Night Vision"
- Add Invert Hotbar Scrolling
- Add Prevent Overflow Hotbar Scrolling
- Add "Invert Hotbar Scrolling"
- Add "Prevent Overflow Hotbar Scrolling"
- Add "Disable Falling Blocks"
- Add "Exclude Cacti from 1.12 Boxes"
- Add "Improved Skin Rendering"
- Add "Add Background to Book GUI"
- Replace "Remove Container Background" with "Container Background Opacity"
- Replace "Nausea Effect" toggle to "Distortion Effects" slider
- Split "Disable Grounded Arrows" into two settings ("Disable Unpickable Grounded Arrows" and "Disable All Grounded Arrows")
- Add ability to change tile entity render distance
- Add ability not to cull ender dragons and withers from Entity Culling
- Fix very rare crash on Minecraft's main menu
- Re-add "Remove Water FOV"
- Re-add "Tooltip Cache" feature
- Re-add "Remove Water FOV" feature
- Re-add "Remove Chat Message Limit" feature
- Remove features replaced by various Polyfrost mods
- Please install VanillaHUD for any title-related, actionbar-related, or tablist-related features
Expand Down Expand Up @@ -285,3 +299,11 @@ This list may not always be up-to-date. To view an updated list, click [here](ht
- **NoScroll**

</details>
<details>
<summary>License disclaimers</summary>

This work, "PolyPatcher", uses code from CaffeineMC's "lithium-fabric", licensed under the LGPL-3.0 license. The original license is included in the repository.
https://github.com/CaffeineMC/lithium-fabric/tree/develop
https://github.com/CaffeineMC/lithium-fabric/blob/develop/LICENSE.txt

</details>
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ val modShade: Configuration by configurations.creating {
sourceSets {
val dummy by creating
main {
dummy.compileClasspath += compileClasspath
compileClasspath += dummy.output
output.setResourcesDir(java.classesDirectory)
}
Expand Down Expand Up @@ -121,7 +122,7 @@ dependencies {
// If we are building for legacy forge, includes the launch wrapper with `shade` as we configured earlier.
if (platform.isLegacyForge) {
compileOnly("org.spongepowered:mixin:0.7.11-SNAPSHOT")
shade("cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-beta+")
shade("cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-beta17")
}
}

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mod_id=patcher
# betas will be "1.x.x+beta-y" / "1.x.x+branch_beta-y"
# rcs will be 1.x.x+rc-y
# extra branches will be 1.x.x+branch-y
mod_version=1.9.0
mod_version=1.9.3-alpha.6
# Sets the name of the jar file that you put in your 'mods' folder.
mod_archives_name=PolyPatcher

Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pluginManagement {
maven("https://repo.polyfrost.org/releases") // Adds the Polyfrost maven repository to get Polyfrost Gradle Toolkit
}
plugins {
val pgtVersion = "0.6.2" // Sets the default versions for Polyfrost Gradle Toolkit
val pgtVersion = "0.6.3" // Sets the default versions for Polyfrost Gradle Toolkit
id("org.polyfrost.multi-version.root") version pgtVersion
}
}
Expand Down
10 changes: 10 additions & 0 deletions src/dummy/java/com/unascribed/ears/Ears.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.unascribed.ears;

import net.minecraft.client.renderer.ImageBufferDownload;

import java.awt.image.BufferedImage;

public class Ears {
public static void preprocessSkin(ImageBufferDownload subject, BufferedImage rawImg, BufferedImage img) {
}
}
11 changes: 5 additions & 6 deletions src/main/java/club/sk1er/patcher/Patcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
import club.sk1er.patcher.util.chat.ChatHandler;
import club.sk1er.patcher.util.enhancement.EnhancementManager;
import club.sk1er.patcher.util.enhancement.ReloadListener;
import club.sk1er.patcher.util.forge.EntrypointCaching;
import club.sk1er.patcher.util.fov.FovHandler;
import club.sk1er.patcher.util.item.TooltipHandler;
import club.sk1er.patcher.util.keybind.FunctionKeyChanger;
import club.sk1er.patcher.util.keybind.KeybindDropModifier;
import club.sk1er.patcher.util.keybind.MousePerspectiveKeybindHandler;
Expand Down Expand Up @@ -102,6 +104,8 @@ public class Patcher {

@Mod.EventHandler
public void onInit(FMLInitializationEvent event) {
EntrypointCaching.INSTANCE.onInit();

registerKeybinds(
dropModifier = new KeybindDropModifier(),
hideScreen = new FunctionKeyChanger.KeybindHideScreen(),
Expand Down Expand Up @@ -132,7 +136,7 @@ public void onInit(FMLInitializationEvent event) {
new TitleFix(), new LinuxKeybindFix(),
new MetricsRenderer(), new HUDCaching(), new EntityRendererHook(),
MinecraftHook.INSTANCE, ScreenshotPreview.INSTANCE,
new MousePerspectiveKeybindHandler()
new MousePerspectiveKeybindHandler(), TooltipHandler.INSTANCE
);

checkLogs();
Expand Down Expand Up @@ -347,11 +351,6 @@ private void detectIncompatibilities(List<ModContainer> activeModList, Notificat
notifications.send("Patcher", baseMessage + "Compact Chat is now disabled.");
PatcherConfig.compactChat = false;
}

if (PatcherConfig.chatPosition) {
notifications.send("Patcher", baseMessage + "Chat Position is now disabled.");
PatcherConfig.chatPosition = false;
}
}

if (PatcherConfig.optimizedFontRenderer && modId.equals("smoothfont")) {
Expand Down
Loading

0 comments on commit 3682db4

Please sign in to comment.