Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.20.4 #2

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
init
Voxxin committed Feb 16, 2024
commit f71b2dba0795a480d44081740e6edd9a8e9edc52
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -35,6 +35,9 @@ dependencies {
implementation 'com.google.code.gson:gson:2.8.9'

modRuntimeOnly("me.djtheredstoner:DevAuth-fabric:1.1.2")

implementation("com.github.LlamaLad7:MixinExtras:0.1.1")
annotationProcessor("com.github.LlamaLad7:MixinExtras:0.1.1")
}

processResources {
12 changes: 8 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -3,14 +3,18 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties

# check these on https://modmuss50.me/fabric.html
minecraft_version=1.20
yarn_mappings=1.20+build.1
loader_version=0.14.10
minecraft_version=1.20.4
yarn_mappings=1.20.4+build.3
loader_version=0.15.1

# Mod Properties
<<<<<<< Updated upstream
mod_version=2.2.0
=======
mod_version=2.2.0-1.20.4
>>>>>>> Stashed changes
maven_group=com.github.voxxin.cape_cacher
archives_base_name=cape_cacher

# Dependencies
mod_menu_version=7.0.0
mod_menu_version=9.0.0
24 changes: 21 additions & 3 deletions src/main/java/com/github/voxxin/cape_cacher/config/ConfigUI.java
Original file line number Diff line number Diff line change
@@ -297,6 +297,7 @@ public void close() {
CapeCacher.client().setScreen(parent);
}

<<<<<<< Updated upstream
// @Override
// public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
// double accumulatedDelta = 0.0;
@@ -311,20 +312,37 @@ public void close() {
// return super.mouseScrolled(mouseX, mouseY, mouseY, verticalAmount);
// }

=======
>>>>>>> Stashed changes
@Override
public boolean mouseScrolled(double mouseX, double mouseY, double amount) {
public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
double accumulatedDelta = 0.0;
double smoothingFactor = 10;

accumulatedDelta += amount;
accumulatedDelta += verticalAmount;
double smoothedDelta = accumulatedDelta * smoothingFactor;
accumulatedDelta += smoothedDelta;

scrollAmount = accumulatedDelta;
this.clearAndInit();
return super.mouseScrolled(mouseX, mouseY, amount);
return super.mouseScrolled(mouseX, mouseY, mouseY, verticalAmount);
}


// @Override
// public boolean mouseScrolled(double mouseX, double mouseY, double amount) {
// double accumulatedDelta = 0.0;
// double smoothingFactor = 10;
//
// accumulatedDelta += amount;
// double smoothedDelta = accumulatedDelta * smoothingFactor;
// accumulatedDelta += smoothedDelta;
//
// scrollAmount = accumulatedDelta;
// this.clearAndInit();
// return super.mouseScrolled(mouseX, mouseY, amount);
// }

private float sizeWithText(String text) {
return CapeCacher.client().textRenderer.getTextHandler().getWidth(text);
}
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ public ButtonOptionWidget(int x, int y, int width, int height, Text title, Butto
}

@Override
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
int sizeX = this.size[0] / 2;
int sizeY = this.size[1] / 2;
boolean overlaying = WidgetUtil.overlaying(mouseX, mouseY, this.pos[0] - sizeX, this.pos[1] - sizeY, this.pos[0] + sizeX, this.pos[1] + sizeY);
@@ -65,6 +65,29 @@ public void renderButton(DrawContext context, int mouseX, int mouseY, float delt
context.drawTextWithShadow(CapeCacher.client().textRenderer, title.getString(), this.pos[0] + sizeX + 10, this.pos[1] - sizeY / 2, 0xFFFFFF);
}

// @Override
// public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
// int sizeX = this.size[0] / 2;
// int sizeY = this.size[1] / 2;
// boolean overlaying = WidgetUtil.overlaying(mouseX, mouseY, this.pos[0] - sizeX, this.pos[1] - sizeY, this.pos[0] + sizeX, this.pos[1] + sizeY);
//
// if (KEYBOARD_MANAGER.isMouseKey(GLFW.GLFW_MOUSE_BUTTON_LEFT)
// && overlaying) {
// clicked();
// }
//
// if (this.buttonOptionType != null) {
// if (!overlaying) {
// context.drawTexture(this.texture, this.pos[0] - sizeX, this.pos[1] - sizeY, 0, 0, 20, 20, 20, 20);
// } else {
// context.drawTexture(this.overlayTexture, this.pos[0] - sizeX, this.pos[1] - sizeY, 0, 0, 20, 20, 20, 20);
// }
// }
//
// // Text
// context.drawTextWithShadow(CapeCacher.client().textRenderer, title.getString(), this.pos[0] + sizeX + 10, this.pos[1] - sizeY / 2, 0xFFFFFF);
// }

@Override
protected void appendClickableNarrations(NarrationMessageBuilder builder) {
}
Original file line number Diff line number Diff line change
@@ -21,8 +21,13 @@ public ColourDisplayWidget(int x, int y, int width, int height, Text message, St
}


// @Override
// public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
// context.drawTextWithShadow(CapeCacher.client().textRenderer, Text.translatable("config.cape_cacher.cape.general.color_example"), this.pos[0], this.pos[1], Integer.parseInt(this.colour.substring(2),16));
// }

@Override
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
context.drawTextWithShadow(CapeCacher.client().textRenderer, Text.translatable("config.cape_cacher.cape.general.color_example"), this.pos[0], this.pos[1], Integer.parseInt(this.colour.substring(2),16));
}

Original file line number Diff line number Diff line change
@@ -24,8 +24,13 @@ public OptionBackgroundWidget(int x, int y, int width, int height) {
protected void appendClickableNarrations(NarrationMessageBuilder builder) {
}

// @Override
// public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
// context.fill(this.pos[0], this.pos[1], this.pos[0] + this.size[0], this.pos[1] + this.size[1], 0x80000000);
// }

@Override
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
context.fill(this.pos[0], this.pos[1], this.pos[0] + this.size[0], this.pos[1] + this.size[1], 0x80000000);
}
}
Original file line number Diff line number Diff line change
@@ -17,8 +17,16 @@ public OutlineAreaWidget(int x, int y, int width, int height, int colour) {
this.colour = colour;
}

// @Override
// public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
// context.drawHorizontalLine(this.pos[0], this.pos[0] + this.size[0]-1, this.pos[1], this.colour);
// context.drawHorizontalLine(this.pos[0], this.pos[0] + this.size[0]-1, this.pos[1] + this.size[1], this.colour);
// context.drawVerticalLine(this.pos[0], this.pos[1] + this.size[1], this.pos[1], this.colour);
// context.drawVerticalLine(this.pos[0] + this.size[0]-1, this.pos[1] + this.size[1], this.pos[1], this.colour);
// }

@Override
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
context.drawHorizontalLine(this.pos[0], this.pos[0] + this.size[0]-1, this.pos[1], this.colour);
context.drawHorizontalLine(this.pos[0], this.pos[0] + this.size[0]-1, this.pos[1] + this.size[1], this.colour);
context.drawVerticalLine(this.pos[0], this.pos[1] + this.size[1], this.pos[1], this.colour);
Original file line number Diff line number Diff line change
@@ -26,8 +26,13 @@ public TextFieldWidget(int x, int y, int width, int height, Text message, int co
protected void appendClickableNarrations(NarrationMessageBuilder builder) {
}

// @Override
// public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
// context.drawCenteredTextWithShadow(CapeCacher.client().textRenderer, text, this.pos[0] + this.size[0]/2, this.pos[1], this.colour);
// }

@Override
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
context.drawCenteredTextWithShadow(CapeCacher.client().textRenderer, text, this.pos[0] + this.size[0]/2, this.pos[1], this.colour);
}
}
Original file line number Diff line number Diff line change
@@ -12,39 +12,61 @@
import com.github.voxxin.cape_cacher.task.util.UserObject;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.minecraft.MinecraftProfileTexture;
import com.mojang.authlib.minecraft.MinecraftProfileTextures;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.ProfileResult;
import net.minecraft.client.MinecraftClient;
<<<<<<< Updated upstream
import net.minecraft.client.network.PlayerListEntry;
=======
import net.minecraft.client.texture.PlayerSkinProvider;
import net.minecraft.client.util.SkinTextures;
>>>>>>> Stashed changes
import net.minecraft.text.ClickEvent;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
import net.minecraft.text.TextColor;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;

import java.util.UUID;
import java.util.concurrent.CompletableFuture;

import java.util.HashMap;
import java.util.Map;


@Mixin(PlayerListEntry.class)
@Mixin(PlayerSkinProvider.class)
public abstract class PlayerSkinProviderMixin {
@Shadow public abstract GameProfile getProfile();

@Inject(at = @At("HEAD"), method = "method_2956")
private void loadSkin(MinecraftProfileTexture.Type type, Identifier id, MinecraftProfileTexture texture, CallbackInfo ci) {
MinecraftProfileTexture.Type CAPE = MinecraftProfileTexture.Type.CAPE;
String textureURL = texture.getUrl();
@Inject(at = @At("TAIL"), method = "fetchSkinTextures(Ljava/util/UUID;Lcom/mojang/authlib/minecraft/MinecraftProfileTextures;)Ljava/util/concurrent/CompletableFuture;", locals = LocalCapture.CAPTURE_FAILHARD)
private void loadSkin(
UUID uuid, MinecraftProfileTextures textures,
CallbackInfoReturnable<CompletableFuture<SkinTextures>> cir,
MinecraftProfileTexture minecraftProfileTexture,
CompletableFuture completableFuture,
SkinTextures.Model model, String string,
MinecraftProfileTexture minecraftProfileTexture2,
CompletableFuture completableFuture2, MinecraftProfileTexture minecraftProfileTexture3,
CompletableFuture completableFuture3) {

if (textures.cape() == null) return;
if (textures.cape().getUrl() == null) return;

ProfileResult profileResult = MinecraftClient.getInstance().getSessionService().fetchProfile(uuid, true);
if (profileResult == null) return;
GameProfile profile = profileResult.profile();

String textureURL = textures.cape().getUrl();

if (!type.equals(CAPE)) return;
if (MinecraftClient.getInstance().player == null) return;

final String playerUUID = getProfile().getId().toString();
final String playerUUID = String.valueOf(profile.getId());
if (playerUUID.endsWith("0000-000000000000")) return;

final String playerName = getProfile().getName();
final String playerName = profile.getName();
CapesObject capeInfo = IdentifyCapeType.CapeIdentifier(textureURL);
PingSite.pingCapesmeAsync(playerUUID)
.exceptionally(e -> {