mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-31 06:18:54 -04:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78dfb30759 |
No files matched your search
@@ -69,11 +69,14 @@ import com.cobblemon.mod.common.client.tooltips.RecipeSeasoningAbsorbtionTooltip
|
|||||||
import com.cobblemon.mod.common.client.tooltips.SeasoningTooltipGenerator
|
import com.cobblemon.mod.common.client.tooltips.SeasoningTooltipGenerator
|
||||||
import com.cobblemon.mod.common.client.tooltips.TooltipManager
|
import com.cobblemon.mod.common.client.tooltips.TooltipManager
|
||||||
import com.cobblemon.mod.common.client.trade.ClientTrade
|
import com.cobblemon.mod.common.client.trade.ClientTrade
|
||||||
|
import com.cobblemon.mod.common.debug.RidingDebugRenderer
|
||||||
import com.cobblemon.mod.common.entity.boat.CobblemonBoatType
|
import com.cobblemon.mod.common.entity.boat.CobblemonBoatType
|
||||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||||
import com.cobblemon.mod.common.platform.events.PlatformEvents
|
import com.cobblemon.mod.common.platform.events.PlatformEvents
|
||||||
import com.cobblemon.mod.common.pokedex.scanner.PokedexUsageContext
|
import com.cobblemon.mod.common.pokedex.scanner.PokedexUsageContext
|
||||||
|
import com.cobblemon.mod.common.util.cobblemonResource
|
||||||
import com.cobblemon.mod.common.util.isLookingAt
|
import com.cobblemon.mod.common.util.isLookingAt
|
||||||
|
import io.github.flemmli97.debugutils.api.RegisterDebugRenderers
|
||||||
import net.minecraft.client.Minecraft
|
import net.minecraft.client.Minecraft
|
||||||
import net.minecraft.client.color.block.BlockColor
|
import net.minecraft.client.color.block.BlockColor
|
||||||
import net.minecraft.client.gui.GuiGraphics
|
import net.minecraft.client.gui.GuiGraphics
|
||||||
@@ -193,6 +196,11 @@ object CobblemonClient {
|
|||||||
}
|
}
|
||||||
ClientPlayerIcon.onTick()
|
ClientPlayerIcon.onTick()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val debugId = cobblemonResource("riding")
|
||||||
|
RegisterDebugRenderers.registerCustomDebugRenderer(debugId, RidingDebugRenderer)
|
||||||
|
RegisterDebugRenderers.registerServerToggle(debugId)
|
||||||
|
RegisterDebugRenderers.registerClientHandler(debugId) { RidingDebugRenderer.clientHandler(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun registerTooltipManagers() {
|
private fun registerTooltipManagers() {
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.cobblemon.mod.common.debug
|
||||||
|
|
||||||
|
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||||
|
import com.mojang.blaze3d.vertex.PoseStack
|
||||||
|
import net.minecraft.client.Minecraft
|
||||||
|
import net.minecraft.client.renderer.MultiBufferSource
|
||||||
|
import net.minecraft.client.renderer.debug.DebugRenderer
|
||||||
|
import net.minecraft.core.BlockPos
|
||||||
|
import net.minecraft.core.Position
|
||||||
|
import java.util.function.Consumer
|
||||||
|
|
||||||
|
object RidingDebugRenderer : DebugRenderer.SimpleDebugRenderer {
|
||||||
|
var enabled = false
|
||||||
|
|
||||||
|
override fun render(
|
||||||
|
poseStack: PoseStack,
|
||||||
|
buffer: MultiBufferSource,
|
||||||
|
camX: Double,
|
||||||
|
camY: Double,
|
||||||
|
camZ: Double
|
||||||
|
) {
|
||||||
|
val minecraft = Minecraft.getInstance() ?: return
|
||||||
|
val vehicle = minecraft.player?.vehicle
|
||||||
|
if (vehicle != null && vehicle is PokemonEntity) {
|
||||||
|
DebugRenderer.renderFloatingText(poseStack, buffer, "riding", camX, camY, camZ, -1, 1f, false, 0.5f, true)
|
||||||
|
renderRidingInfo(vehicle, poseStack, buffer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun renderRidingInfo(vehicle: PokemonEntity, poseStack: PoseStack, buffer: MultiBufferSource) {
|
||||||
|
val ridingController = vehicle.ridingController
|
||||||
|
if (ridingController != null) {
|
||||||
|
var i = 0
|
||||||
|
ridingController.context?.let { context ->
|
||||||
|
val debugString = "Currently active: ${context.behaviour}"
|
||||||
|
renderTextOverVehicle(poseStack, buffer, vehicle.position(), i, debugString, -1, 0.03f)
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
ridingController.behaviours.forEach { (style, settings) ->
|
||||||
|
val debugString = "Available: $style"
|
||||||
|
renderTextOverVehicle(poseStack, buffer, vehicle.position(), i, debugString, -1, 0.03f)
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun renderTextOverVehicle(poseStack: PoseStack, buffer: MultiBufferSource, pos: Position, layer: Int, text: String, color: Int, scale: Float) {
|
||||||
|
val blockPos = BlockPos.containing(pos)
|
||||||
|
val x = blockPos.x.toDouble() + 0.5
|
||||||
|
val y = blockPos.y.toDouble() + 2.4 + layer * 0.25
|
||||||
|
val z = blockPos.z.toDouble() + 0.5
|
||||||
|
DebugRenderer.renderFloatingText(poseStack, buffer, text, x, y, z, color, scale, false, 0.5f, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun clientHandler(enabled: Boolean) {
|
||||||
|
this.enabled = enabled
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -98,7 +98,7 @@ classgraph = { group = "io.github.classgraph", name = "classgraph", version.ref
|
|||||||
[bundles]
|
[bundles]
|
||||||
kotlin = [ "kotlin-stdlib", "kotlin-reflect" ]
|
kotlin = [ "kotlin-stdlib", "kotlin-reflect" ]
|
||||||
fabric = [ "fabric-kotlin", "fabric-permissions" ]
|
fabric = [ "fabric-kotlin", "fabric-permissions" ]
|
||||||
common-integrations-compileOnly = [ "adorn-fabric", "jei-api" ]
|
common-integrations-compileOnly = [ "adorn-fabric", "jei-api", "fabric-debugutils" ]
|
||||||
fabric-integrations-implementation = [ "mod-menu" ]
|
fabric-integrations-implementation = [ "mod-menu" ]
|
||||||
fabric-integrations-runtimeOnly = [ "jei-fabric", "c2me-fabric" ]
|
fabric-integrations-runtimeOnly = [ "jei-fabric", "c2me-fabric" ]
|
||||||
neoforge-integrations-runtimeOnly = [ "jei-neoforge", "c2me-neoforge" ]
|
neoforge-integrations-runtimeOnly = [ "jei-neoforge", "c2me-neoforge" ]
|
||||||
|
|||||||
Reference in new issue
Block a user