Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 1 addition & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
uses: gradle/actions/setup-gradle@v5
- run: chmod +x gradlew
- name: Build
run: ./gradlew build
run: ./gradlew :${{ matrix.version }}:build
- name: Upload Artifact ${{ matrix.version }}
uses: actions/upload-artifact@v7.0.0
with:
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ loom.apply {
runConfigs["client"].apply {
ideConfigGenerated(true)
runDir = "../../run"
vmArg("-Dfabric.modsFolder=" + '"' + rootProject.projectDir.resolve("run/${mcVersion}Mods").absolutePath + '"')
vmArg("-Dfabric.modsFolder=${mcVersion}Mods")
}

if (accessWidenerFile.exists()) {
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ dependencies {
implementation(plugin(libs.plugins.meowdding.auto.mixins))
implementation(plugin(libs.plugins.fabric.loom.asProvider()))
implementation(plugin(libs.plugins.fabric.loom.remap))
implementation("dev.kikugie.stonecutter:dev.kikugie.stonecutter.gradle.plugin:0.10-alpha.2")
implementation("dev.kikugie.stonecutter:dev.kikugie.stonecutter.gradle.plugin:0.10-alpha.8")
}
2 changes: 1 addition & 1 deletion gradle/26_2.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ minecraft-range = "26.2.x"
minecraft = "26.2"

sbapi-mc-version = "26.2"
fabric-api = "0.152.0+26.2"
fabric-api = "0.161.0+26.2"

resourceful-lib = "5.0.2"
resourceful-config = "5.0.0"
Expand Down
21 changes: 21 additions & 0 deletions gradle/26_3.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[versions]
minecraft-range = "26.3.x"
minecraft = "26.3"

sbapi-mc-version = "26.3"
fabric-api = "0.160.4+26.3"

resourceful-lib = "6.0.0"
resourceful-config = "6.0.1"
olympus = "1.9.5"
placeholders = "3.1.0-beta.1+26.2"

[libraries]
minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" }

fabric-api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric-api" }

resourceful-lib = { module = "com.teamresourceful.resourcefullib:resourcefullib-fabric-26.3", version.ref = "resourceful-lib" }
resourceful-config = { module = "com.teamresourceful.resourcefulconfig:resourcefulconfig-fabric-26.3", version.ref = "resourceful-config" }
olympus = { module = "earth.terrarium.olympus:olympus-fabric-26.3", version.ref = "olympus" }
placeholders = { module = "eu.pb4:placeholder-api", version.ref = "placeholders" }
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ kotlin-gradle-plugin = "2.4.0"
kotlin-symbol-processor = "2.3.5"

# Dependencies
skyblockapi = "4.2.25"
skyblockapi = "4.2.27"
repolib = "2.0.2"

resourceful-configkt = "4.0.0-beta.1"

hypixelapi = "1.0.1+build.1+mc1.21"
mixinconstraints = "1.0.7"

meowdding-lib = "4.2.24"
meowdding-lib = "4.2.26"
meowdding-ktmodules = "1.0.5"
meowdding-ktcodecs = "1.1.14"
meowdding-resources = "1.0.17"
Expand Down
4 changes: 2 additions & 2 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ pluginManagement {

plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
id("dev.kikugie.stonecutter") version "0.10-alpha.2"
id("dev.kikugie.stonecutter") version "0.10-alpha.8"
}
rootProject.name = "skyblockpv"

val versions = listOf("26.2", "26.1")
val versions = listOf("26.3", "26.2", "26.1")

stonecutter {
create(rootProject) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/me/owdding/skyblockpv/MixinHelper.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package me.owdding.skyblockpv;

import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.renderpearl.api.pipeline.RenderPipeline;

public class MixinHelper {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,17 @@ public boolean containsPoint(GuiGraphicsExtractor.ScissorStack instance, int x,
return true;
}

//~ if >= 26.2 'Lnet/minecraft/client/gui/navigation/ScreenRectangle;"' -> 'V"'
@WrapOperation(method = "enableScissor", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphicsExtractor$ScissorStack;push(Lnet/minecraft/client/gui/navigation/ScreenRectangle;)V"))
//~ if >= 26.2 'public ScreenRectangle' -> 'public void'
public void ignoreIfExclusive(GuiGraphicsExtractor.ScissorStack instance, ScreenRectangle scissor, Operation<ScreenRectangle> original) {
if (this.scissor == null || scissor == this.scissor) {
//? < 26.2
//return
original.call(instance, scissor);
}
//? < 26.2
//return null;
}

@Override
Expand Down
15 changes: 8 additions & 7 deletions src/main/kotlin/me/owdding/skyblockpv/SkyBlockPv.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import me.owdding.ktmodules.Module
import me.owdding.lib.events.FinishRepoLoadingEvent
import me.owdding.lib.utils.MeowddingLogger
import me.owdding.lib.utils.MeowddingUpdateChecker
import me.owdding.lib.utils.isMeowddingDev
import me.owdding.lib.utils.isMeowddingMaintainer
import me.owdding.repo.RemoteRepo
import me.owdding.skyblockpv.api.PvAPI
import me.owdding.skyblockpv.command.SkyBlockPlayerSuggestionProvider
Expand Down Expand Up @@ -43,7 +43,7 @@ import tech.thatgravyboat.skyblockapi.api.SkyBlockAPI
import tech.thatgravyboat.skyblockapi.api.events.base.Subscription
import tech.thatgravyboat.skyblockapi.api.events.misc.LiteralCommandBuilder
import tech.thatgravyboat.skyblockapi.api.events.misc.RegisterCommandsEvent
import tech.thatgravyboat.skyblockapi.api.events.misc.RepoStatusEvent
import tech.thatgravyboat.skyblockapi.api.events.repo.RepoEvent
import tech.thatgravyboat.skyblockapi.api.events.screen.ScreenInitializedEvent
import tech.thatgravyboat.skyblockapi.helpers.McClient
import tech.thatgravyboat.skyblockapi.helpers.McPlayer
Expand All @@ -59,7 +59,8 @@ import java.util.concurrent.CompletableFuture
@Module
object SkyBlockPv : ClientModInitializer, MeowddingLogger by MeowddingLogger.autoResolve() {

val registryLookup: HolderLookup.Provider by lazy { VanillaRegistries.createLookup() }
//~ if >= 26.3 'createLookup' -> 'createWorldLookup'
val registryLookup: HolderLookup.Provider by lazy { VanillaRegistries.createWorldLookup() }
private var meowddingRepo: Boolean = false
private var apiRepo: Boolean = false

Expand All @@ -78,7 +79,7 @@ object SkyBlockPv : ClientModInitializer, MeowddingLogger by MeowddingLogger.aut
val config by lazy { Config.register(configurator) }

val isDevMode get() = McClient.isDev || DevConfig.devMode
val isSuperUser by lazy { McPlayer.uuid.isMeowddingDev() }
val isSuperUser by lazy { McPlayer.uuid.isMeowddingMaintainer() }

val backgroundTexture = id("buttons/normal")

Expand Down Expand Up @@ -114,10 +115,10 @@ object SkyBlockPv : ClientModInitializer, MeowddingLogger by MeowddingLogger.aut
// Prioritise over skyblocker pv
val commandId = id("skyblock_pv_command")
ClientCommandRegistrationCallback.EVENT.addPhaseOrdering(Event.DEFAULT_PHASE, commandId)
ClientCommandRegistrationCallback.EVENT.register(commandId) { dispatcher, _ ->
ClientCommandRegistrationCallback.EVENT.register(commandId) { dispatcher, context ->
if (!Config.isDisabled) {
dispatcher.root.children.removeIf { it.name == "pv" }
onRegisterCommands(RegisterCommandsEvent(dispatcher))
onRegisterCommands(RegisterCommandsEvent(dispatcher, context))
}
}

Expand All @@ -129,7 +130,7 @@ object SkyBlockPv : ClientModInitializer, MeowddingLogger by MeowddingLogger.aut
}

@Subscription
private fun RepoStatusEvent.repoReady() {
private fun RepoEvent.Status.repoReady() {
apiRepo = true
onRepoReady()
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/me/owdding/skyblockpv/config/ThemeRenderer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import com.teamresourceful.resourcefulconfig.client.UIConstants
import com.teamresourceful.resourcefulconfig.client.components.ModSprites
import com.teamresourceful.resourcefulconfig.client.components.base.ListWidget
import com.teamresourceful.resourcefulconfig.client.components.base.SpriteButton
import me.owdding.lib.platform.screens.BaseWidget
import me.owdding.lib.platform.screens.MouseButtonEvent
import me.owdding.lib.platform.screens.Overlay
import earth.terrarium.olympus.client.components.base.BaseWidget
import earth.terrarium.olympus.client.ui.Overlay
import me.owdding.skyblockpv.SkyBlockPv.id
import me.owdding.skyblockpv.utils.theme.ThemeHelper
import net.minecraft.client.Minecraft
import net.minecraft.client.gui.GuiGraphicsExtractor
import net.minecraft.client.gui.components.AbstractWidget
import net.minecraft.client.gui.navigation.ScreenRectangle
import net.minecraft.client.input.MouseButtonEvent
import net.minecraft.network.chat.Component
import tech.thatgravyboat.skyblockapi.helpers.McClient
import tech.thatgravyboat.skyblockapi.helpers.McScreen
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package me.owdding.skyblockpv.screens

import com.google.gson.*
import com.mojang.authlib.GameProfile
import com.mojang.blaze3d.Blaze3D
import com.mojang.serialization.JsonOps
import earth.terrarium.olympus.client.components.Widgets
import earth.terrarium.olympus.client.components.renderers.WidgetRenderers
import earth.terrarium.olympus.client.dialog.OlympusDialogs
import me.owdding.lib.displays.Alignment
import me.owdding.lib.displays.DisplayWidget
import me.owdding.lib.displays.asWidget
Expand All @@ -28,6 +30,7 @@ import net.minecraft.client.gui.layouts.LayoutElement
import net.minecraft.client.gui.screens.Screen
import net.minecraft.network.chat.Component
import net.minecraft.world.item.ItemStack
import tech.thatgravyboat.skyblockapi.helpers.McClient
import tech.thatgravyboat.skyblockapi.helpers.McPlayer
import tech.thatgravyboat.skyblockapi.utils.text.CommonText
import java.lang.reflect.Type
Expand Down Expand Up @@ -114,7 +117,7 @@ abstract class BasePvScreen(val name: String, val gameProfile: GameProfile, init
.withRenderer(WidgetRenderers.text(+"widgets.open_logs"))
.withSize(100, 20)
.withCallback {
Util.getPlatform().openPath(FabricLoader.getInstance().gameDir.resolve("logs"))
McClient.openUri(FabricLoader.getInstance().gameDir.resolve("logs").normalize().toUri())
},
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package me.owdding.skyblockpv.screens.windowed

import com.mojang.authlib.GameProfile
import com.mojang.blaze3d.Blaze3D
import com.mojang.blaze3d.platform.InputConstants
import com.teamresourceful.resourcefulconfig.api.client.ResourcefulConfigScreen
import earth.terrarium.olympus.client.components.Widgets
import earth.terrarium.olympus.client.components.buttons.Button
Expand All @@ -19,8 +21,6 @@ import me.owdding.lib.displays.Displays
import me.owdding.lib.displays.asWidget
import me.owdding.lib.extensions.getStackTraceString
import me.owdding.lib.layouts.setPos
import me.owdding.lib.platform.screens.MouseButtonEvent
import me.owdding.lib.platform.screens.mouseClicked
import me.owdding.skyblockpv.SkyBlockPv
import me.owdding.skyblockpv.api.*
import me.owdding.skyblockpv.api.data.SocialEntry
Expand Down Expand Up @@ -50,9 +50,10 @@ import net.minecraft.client.gui.GuiGraphicsExtractor
import net.minecraft.client.gui.components.AbstractWidget
import net.minecraft.client.gui.layouts.FrameLayout
import net.minecraft.client.gui.layouts.LayoutElement
import net.minecraft.client.input.MouseButtonEvent
import net.minecraft.client.input.MouseButtonInfo
import net.minecraft.network.chat.CommonComponents
import net.minecraft.util.TriState
import net.minecraft.util.Util
import tech.thatgravyboat.skyblockapi.api.location.LocationAPI
import tech.thatgravyboat.skyblockapi.api.profile.profile.ProfileType
import tech.thatgravyboat.skyblockapi.helpers.McClient
Expand All @@ -66,9 +67,13 @@ import tech.thatgravyboat.skyblockapi.utils.text.TextProperties.stripped
import tech.thatgravyboat.skyblockapi.utils.text.TextStyle.color
import tech.thatgravyboat.skyblockapi.utils.text.TextStyle.underlined
import tech.thatgravyboat.skyblockapi.utils.text.TextUtils.splitLines
import java.net.URI
import java.nio.file.Files
import java.util.concurrent.CompletableFuture

//? < 26.3
//import net.minecraft.util.Util

private const val ASPECT_RATIO = 16.0 / 9.0

abstract class BaseWindowedPvScreen(name: String, gameProfile: GameProfile, profile: SkyBlockProfile?) : BasePvScreen(name, gameProfile, profile) {
Expand Down Expand Up @@ -435,7 +440,7 @@ abstract class BaseWindowedPvScreen(name: String, gameProfile: GameProfile, prof
if (coopDropdownVisible) {
widget(coopMemberDropdown)
McClient.runNextTick {
coopMemberDropdown.mouseClicked(MouseButtonEvent(coopMemberDropdown.x + 1.0, coopMemberDropdown.y + 1.0, 1), false)
coopMemberDropdown.mouseClicked(MouseButtonEvent(coopMemberDropdown.x + 1.0, coopMemberDropdown.y + 1.0, MouseButtonInfo(InputConstants.MOUSE_BUTTON_LEFT, 0)), false)
}
coopDropdownVisible = false
} else widget(username)
Expand Down Expand Up @@ -511,7 +516,7 @@ abstract class BaseWindowedPvScreen(name: String, gameProfile: GameProfile, prof
McClient.clipboard = it.url
PvToast.addSocialsCopiedToast(it.url)
} else {
Util.getPlatform().openUri(it.url)
McClient.openUri(it.url)
}
}
builder.withAlignment(OverlayAlignment.TOP_LEFT)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class FactionCfScreen(gameProfile: GameProfile, profile: SkyBlockProfile? = null
strings.size, 1,
strings.map {
val amount = cf.rabbits[it]
Displays.item(if (amount != null) ColoredItems.LIME_DYE else ColoredItems.GRAY_DYE).withPadding(2).withTooltip {
Displays.item(if (amount != null) Items.DYE.lime() else Items.DYE.gray()).withPadding(2).withTooltip {
add(it.toTitleCase(), PvColors.GRAY)
add("Found: ") {
color = PvColors.GRAY
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package me.owdding.skyblockpv.utils.components

import com.mojang.blaze3d.platform.cursor.CursorType
import com.mojang.blaze3d.platform.cursor.CursorTypes
import earth.terrarium.olympus.client.components.base.BaseWidget
import earth.terrarium.olympus.client.components.buttons.Button
import earth.terrarium.olympus.client.components.renderers.WidgetRenderers
import me.owdding.lib.displays.Display
import me.owdding.lib.displays.DisplayWidget
import me.owdding.lib.displays.Displays
import me.owdding.lib.platform.screens.BaseWidget
import me.owdding.lib.platform.screens.MouseButtonEvent
import me.owdding.skyblockpv.screens.windowed.elements.ExtraConstants
import me.owdding.skyblockpv.utils.CarouselPageState
import me.owdding.skyblockpv.utils.ExtraWidgetRenderers
Expand All @@ -17,6 +16,7 @@ import me.owdding.skyblockpv.utils.Utils
import net.minecraft.client.gui.GuiGraphicsExtractor
import net.minecraft.client.gui.layouts.Layout
import net.minecraft.client.gui.layouts.LayoutSettings
import net.minecraft.client.input.MouseButtonEvent
import tech.thatgravyboat.skyblockapi.helpers.McFont
import tech.thatgravyboat.skyblockapi.platform.drawString
import tech.thatgravyboat.skyblockapi.platform.pushPop
Expand Down Expand Up @@ -110,7 +110,8 @@ class CarouselWidget(
}

override fun onClick(event: MouseButtonEvent, doubleClick: Boolean) {
val (mouseX, mouseY) = event
val mouseX = event.x
val mouseY = event.y
val curr = displays.getOrNull(index) ?: return
val last = displays.getOrNull((index - 1 + displays.size) % displays.size)
val next = displays.getOrNull((index + 1) % displays.size)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ class FakePlayer(val gameProfile: GameProfile, val armor: List<ItemStack>, val c
private var _skin: PlayerSkin = DEFAULT_SKIN

init {
equipment.set(EquipmentSlot.HEAD, armor[3])
equipment.set(EquipmentSlot.CHEST, armor[2])
equipment.set(EquipmentSlot.LEGS, armor[1])
equipment.set(EquipmentSlot.FEET, armor[0])
equipment.set(HEAD, armor[3])
equipment.set(CHEST, armor[2])
equipment.set(LEGS, armor[1])
equipment.set(FEET, armor[0])
McClient.self.playerSkinRenderCache().lookup(_profile).whenComplete { skin, _ ->
skin.ifPresent { skin ->
_skin = skin.playerSkin()
Expand Down Expand Up @@ -90,7 +90,7 @@ class FakePlayer(val gameProfile: GameProfile, val armor: List<ItemStack>, val c
override fun getDisplayName(): Component = customDisplayName
override fun getSkin() = _skin

override fun isModelPartShown(part: PlayerModelPart) = part != PlayerModelPart.CAPE
override fun isModelPartShown(part: PlayerModelPart) = part != CAPE

override fun position(): Vec3? = Minecraft.getInstance().cameraEntity?.position()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class CatOnShoulderLayer(renderer: RenderLayerParent<AvatarRenderState, PlayerMo
if (catResource.equals(MissingTextureAtlasSprite.getLocation())) return
val asset = clientAssetConverter()(catResource)
val leftShoulder = renderState.parrotOnLeftShoulder == null

submitOnShoulder(
poseStack,
collector,
Expand Down Expand Up @@ -72,7 +73,17 @@ class CatOnShoulderLayer(renderer: RenderLayerParent<AvatarRenderState, PlayerMo
catRenderState.yRot = yRot
catRenderState.xRot = xRot
val model = if (isBaby) this.babyModel else this.adultModel
collector.submitModel(model, catRenderState, poseStack, model.renderType(variant), packedLight, OverlayTexture.NO_OVERLAY, 0, null)
collector.submitModel(
model,
catRenderState,
poseStack,
model.renderType(variant),
packedLight,
OverlayTexture.NO_OVERLAY,
0,
//? < 26.3
//null,
)
poseStack.popPose()
}
}
Loading
Loading