Fix some issues idk
This commit is contained in:
@@ -35,7 +35,7 @@ public class MixinHandledScreen {
|
|||||||
|
|
||||||
@Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;handleHotbarKeyPressed(II)Z", shift = At.Shift.BEFORE), cancellable = true)
|
@Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;handleHotbarKeyPressed(II)Z", shift = At.Shift.BEFORE), cancellable = true)
|
||||||
public void onKeyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) {
|
public void onKeyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) {
|
||||||
if (HandledScreenKeyPressedEvent.Companion.publish(new HandledScreenKeyPressedEvent(keyCode, scanCode, modifiers)).getCancelled()) {
|
if (HandledScreenKeyPressedEvent.Companion.publish(new HandledScreenKeyPressedEvent((HandledScreen<?>) (Object) this, keyCode, scanCode, modifiers)).getCancelled()) {
|
||||||
cir.setReturnValue(true);
|
cir.setReturnValue(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,16 @@
|
|||||||
|
|
||||||
package moe.nea.firmament.events
|
package moe.nea.firmament.events
|
||||||
|
|
||||||
|
import net.minecraft.client.gui.screen.ingame.HandledScreen
|
||||||
import net.minecraft.client.option.KeyBinding
|
import net.minecraft.client.option.KeyBinding
|
||||||
import moe.nea.firmament.keybindings.IKeyBinding
|
import moe.nea.firmament.keybindings.IKeyBinding
|
||||||
|
|
||||||
data class HandledScreenKeyPressedEvent(val keyCode: Int, val scanCode: Int, val modifiers: Int) : FirmamentEvent.Cancellable() {
|
data class HandledScreenKeyPressedEvent(
|
||||||
|
val screen: HandledScreen<*>,
|
||||||
|
val keyCode: Int,
|
||||||
|
val scanCode: Int,
|
||||||
|
val modifiers: Int
|
||||||
|
) : FirmamentEvent.Cancellable() {
|
||||||
companion object : FirmamentEventBus<HandledScreenKeyPressedEvent>()
|
companion object : FirmamentEventBus<HandledScreenKeyPressedEvent>()
|
||||||
|
|
||||||
fun matches(keyBinding: KeyBinding): Boolean {
|
fun matches(keyBinding: KeyBinding): Boolean {
|
||||||
|
|||||||
@@ -2,16 +2,25 @@ package moe.nea.firmament.features.debug
|
|||||||
|
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
|
import org.lwjgl.glfw.GLFW
|
||||||
import kotlin.io.path.absolute
|
import kotlin.io.path.absolute
|
||||||
import kotlin.io.path.exists
|
import kotlin.io.path.exists
|
||||||
import net.minecraft.client.MinecraftClient
|
import net.minecraft.client.MinecraftClient
|
||||||
|
import net.minecraft.text.ClickEvent
|
||||||
|
import net.minecraft.text.HoverEvent
|
||||||
|
import net.minecraft.text.Style
|
||||||
import net.minecraft.text.Text
|
import net.minecraft.text.Text
|
||||||
|
import net.minecraft.util.Formatting
|
||||||
import moe.nea.firmament.Firmament
|
import moe.nea.firmament.Firmament
|
||||||
|
import moe.nea.firmament.events.HandledScreenKeyPressedEvent
|
||||||
import moe.nea.firmament.features.FirmamentFeature
|
import moe.nea.firmament.features.FirmamentFeature
|
||||||
import moe.nea.firmament.gui.config.ManagedConfig
|
import moe.nea.firmament.gui.config.ManagedConfig
|
||||||
|
import moe.nea.firmament.keybindings.IKeyBinding
|
||||||
|
import moe.nea.firmament.mixins.accessor.AccessorHandledScreen
|
||||||
import moe.nea.firmament.util.MC
|
import moe.nea.firmament.util.MC
|
||||||
import moe.nea.firmament.util.TimeMark
|
import moe.nea.firmament.util.TimeMark
|
||||||
import moe.nea.firmament.util.iterate
|
import moe.nea.firmament.util.iterate
|
||||||
|
import moe.nea.firmament.util.skyBlockId
|
||||||
|
|
||||||
object DeveloperFeatures : FirmamentFeature {
|
object DeveloperFeatures : FirmamentFeature {
|
||||||
override val identifier: String
|
override val identifier: String
|
||||||
@@ -50,5 +59,23 @@ object DeveloperFeatures : FirmamentFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onLoad() {
|
override fun onLoad() {
|
||||||
|
HandledScreenKeyPressedEvent.subscribe {
|
||||||
|
if (it.matches(IKeyBinding.ofKeyCode(GLFW.GLFW_KEY_K))) {
|
||||||
|
it.screen as AccessorHandledScreen
|
||||||
|
val focussedSlot = it.screen.focusedSlot_NEU ?: return@subscribe
|
||||||
|
val item = focussedSlot.stack ?: return@subscribe
|
||||||
|
val ident = item.skyBlockId?.identifier.toString()
|
||||||
|
MinecraftClient.getInstance().inGameHud.chatHud.addMessage(
|
||||||
|
Text.translatable(
|
||||||
|
"firmament.debug.skyblockid",
|
||||||
|
ident
|
||||||
|
).setStyle(
|
||||||
|
Style.EMPTY.withColor(Formatting.AQUA)
|
||||||
|
.withClickEvent(ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, ident))
|
||||||
|
.withHoverEvent(HoverEvent(HoverEvent.Action.SHOW_TEXT, Text.translatable("firmament.debug.skyblockid.copy")))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import moe.nea.firmament.events.CustomItemModelEvent
|
|||||||
import moe.nea.firmament.events.TickEvent
|
import moe.nea.firmament.events.TickEvent
|
||||||
import moe.nea.firmament.features.FirmamentFeature
|
import moe.nea.firmament.features.FirmamentFeature
|
||||||
import moe.nea.firmament.gui.config.ManagedConfig
|
import moe.nea.firmament.gui.config.ManagedConfig
|
||||||
import moe.nea.firmament.util.extraAttributes
|
import moe.nea.firmament.util.skyBlockId
|
||||||
|
|
||||||
object CustomSkyBlockTextures : FirmamentFeature {
|
object CustomSkyBlockTextures : FirmamentFeature {
|
||||||
override val identifier: String
|
override val identifier: String
|
||||||
@@ -22,10 +22,8 @@ object CustomSkyBlockTextures : FirmamentFeature {
|
|||||||
override fun onLoad() {
|
override fun onLoad() {
|
||||||
CustomItemModelEvent.subscribe {
|
CustomItemModelEvent.subscribe {
|
||||||
if (!TConfig.enabled) return@subscribe
|
if (!TConfig.enabled) return@subscribe
|
||||||
val extra = it.itemStack.extraAttributes
|
val id = it.itemStack.skyBlockId ?: return@subscribe
|
||||||
val id = extra.getString("id")
|
it.overrideModel = ModelIdentifier("firmskyblock", id.identifier.path, "inventory")
|
||||||
if (id.isNotBlank())
|
|
||||||
it.overrideModel = ModelIdentifier("firmskyblock", id.lowercase(), "inventory")
|
|
||||||
}
|
}
|
||||||
TickEvent.subscribe {
|
TickEvent.subscribe {
|
||||||
if (it.tickCount % TConfig.cacheDuration == 0)
|
if (it.tickCount % TConfig.cacheDuration == 0)
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
"firmament.price.bazaar.buy.price": "Buy Price: %s",
|
"firmament.price.bazaar.buy.price": "Buy Price: %s",
|
||||||
"firmament.price.bazaar.buy.order": "Buy orders: %d",
|
"firmament.price.bazaar.buy.order": "Buy orders: %d",
|
||||||
"firmament.pv.pets": "Pets",
|
"firmament.pv.pets": "Pets",
|
||||||
|
"firmament.debug.skyblockid": "SkyBlock ID: %s",
|
||||||
|
"firmament.debug.skyblockid.copy": "Click to copy SkyBlock ID",
|
||||||
"firmament.price.bazaar.sell.price": "Sell Price: %s",
|
"firmament.price.bazaar.sell.price": "Sell Price: %s",
|
||||||
"firmament.price.bazaar.sell.order": "Sell orders: %d",
|
"firmament.price.bazaar.sell.order": "Sell orders: %d",
|
||||||
"firmament.price.lowestbin": "Lowest BIN: %s",
|
"firmament.price.lowestbin": "Lowest BIN: %s",
|
||||||
|
|||||||
Reference in New Issue
Block a user