Show teleportation location and phase-through blocks
This commit is contained in:
parent
6e90378656
commit
3fa0933ac8
@ -2,9 +2,9 @@ package ru.dbotthepony.mc.otm.android.feature
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
import com.mojang.math.Quaternion
|
||||
import com.mojang.math.Vector3f
|
||||
import net.minecraft.ChatFormatting
|
||||
import net.minecraft.client.renderer.LevelRenderer
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
@ -15,11 +15,11 @@ import net.minecraft.sounds.SoundSource
|
||||
import net.minecraft.world.level.ClipContext
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.material.Material
|
||||
import net.minecraft.world.phys.BlockHitResult
|
||||
import net.minecraft.world.phys.HitResult
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraftforge.client.event.RenderLevelStageEvent
|
||||
import net.minecraftforge.event.entity.living.LivingDeathEvent
|
||||
import org.lwjgl.opengl.GL11.GL_ALWAYS
|
||||
import org.lwjgl.opengl.GL11.GL_LESS
|
||||
import ru.dbotthepony.mc.otm.NULLABLE_MINECRAFT_SERVER
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
@ -29,8 +29,12 @@ import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability
|
||||
import ru.dbotthepony.mc.otm.capability.extractEnergyInnerExact
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.minecraft
|
||||
import ru.dbotthepony.mc.otm.client.render.DynamicBufferSource
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.mc.otm.client.render.element
|
||||
import ru.dbotthepony.mc.otm.client.render.linesIgnoreZRenderType
|
||||
import ru.dbotthepony.mc.otm.core.ImmutableList
|
||||
import ru.dbotthepony.mc.otm.core.Vector
|
||||
import ru.dbotthepony.mc.otm.core.asVector
|
||||
import ru.dbotthepony.mc.otm.core.component1
|
||||
@ -86,7 +90,13 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
return false
|
||||
}
|
||||
|
||||
private fun trace(): BlockPos? {
|
||||
private data class TraceResult(val pos: BlockPos? = null, val phasedBlocks: Collection<BlockPos> = listOf()) {
|
||||
companion object {
|
||||
val EMPTY = TraceResult()
|
||||
}
|
||||
}
|
||||
|
||||
private fun trace(): TraceResult {
|
||||
val headPosition = ply.eyePosition
|
||||
val aimVector = ply.getViewVector(1f)
|
||||
|
||||
@ -99,7 +109,7 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
))
|
||||
|
||||
if (result.isInside || result.type == HitResult.Type.MISS) {
|
||||
return null
|
||||
return TraceResult.EMPTY
|
||||
}
|
||||
|
||||
if (
|
||||
@ -107,18 +117,18 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
isValidPosition(result.blockPos.above()) &&
|
||||
shortestDistanceBetween(ply.genericPositions(), result.blockPos.above().asVector()) <= ServerConfig.EnderTeleporter.MAX_DISTANCE
|
||||
) {
|
||||
return result.blockPos.above()
|
||||
return TraceResult(result.blockPos.above())
|
||||
}
|
||||
|
||||
for (y in 0 .. ServerConfig.EnderTeleporter.MAX_PHASE_DISTANCE) {
|
||||
val pos = result.blockPos + BlockPos(0, y + 1, 0)
|
||||
|
||||
if (isValidPosition(pos) && shortestDistanceBetween(ply.genericPositions(), pos.asVector()) <= ServerConfig.EnderTeleporter.MAX_DISTANCE) {
|
||||
return pos
|
||||
return TraceResult(pos, if (y != 0) ImmutableList(y + 1) { result.blockPos + BlockPos(0, it, 0) } else listOf())
|
||||
}
|
||||
}
|
||||
|
||||
return null
|
||||
return TraceResult.EMPTY
|
||||
}
|
||||
|
||||
override fun activate(isClient: Boolean): Boolean {
|
||||
@ -126,7 +136,8 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
return false
|
||||
}
|
||||
|
||||
val blockPos = trace() ?: return false
|
||||
val (blockPos) = trace()
|
||||
blockPos ?: return false
|
||||
|
||||
cooldown = ServerConfig.EnderTeleporter.COOLDOWN
|
||||
|
||||
@ -152,14 +163,19 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
}
|
||||
}
|
||||
|
||||
override val previewRenderStage: RenderLevelStageEvent.Stage
|
||||
get() = RenderLevelStageEvent.Stage.AFTER_PARTICLES
|
||||
|
||||
override fun renderPreview(event: RenderLevelStageEvent) {
|
||||
if (!canUse()) return
|
||||
val pos = trace()
|
||||
val (pos, phasedBlocks) = trace()
|
||||
|
||||
if (pos != null) {
|
||||
val (x, y, z) = pos.asVector()
|
||||
val (vx, vy, vz) = event.camera.position
|
||||
//event.poseStack.translate(x, y, z)
|
||||
|
||||
if (phasedBlocks.isNotEmpty())
|
||||
event.poseStack.pushPose()
|
||||
|
||||
event.poseStack.translate(x - vx, y - vy, z - vz)
|
||||
event.poseStack.mulPose(Vector3f.YP.rotationDegrees(-event.camera.yRot))
|
||||
@ -168,12 +184,36 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
val size = 1f + sin((System.nanoTime() / 1_000_000) / 250.0).toFloat() * 0.2f
|
||||
val half = size / -2f
|
||||
|
||||
RenderSystem.enableDepthTest()
|
||||
RenderSystem.depthFunc(GL_LESS)
|
||||
RenderSystem.disableDepthTest()
|
||||
|
||||
RenderSystem.setShaderColor(1f, 1f, 1f, 0.5f)
|
||||
SPRITE.render(event.poseStack, x = half, y = half, width = size, height = size)
|
||||
RenderSystem.setShaderColor(1f, 1f, 1f, 1f)
|
||||
|
||||
if (phasedBlocks.isNotEmpty()) {
|
||||
event.poseStack.popPose()
|
||||
val collisionContext = CollisionContext.of(ply)
|
||||
val builder = source.getBuffer(linesIgnoreZRenderType)
|
||||
|
||||
for (blockPos in phasedBlocks) {
|
||||
val blockState = ply.level.getBlockState(blockPos)
|
||||
val shape = blockState.getShape(ply.level, blockPos, collisionContext)
|
||||
|
||||
LevelRenderer.renderShape(
|
||||
event.poseStack,
|
||||
builder,
|
||||
shape,
|
||||
blockPos.x - vx,
|
||||
blockPos.y - vy,
|
||||
blockPos.z - vz,
|
||||
1f, 1f, 1f, 1f
|
||||
)
|
||||
}
|
||||
|
||||
source.endBatch(linesIgnoreZRenderType)
|
||||
}
|
||||
|
||||
RenderSystem.enableDepthTest()
|
||||
}
|
||||
}
|
||||
|
||||
@ -190,6 +230,10 @@ class EnderTeleporterFeature(capability: MatteryPlayerCapability) : AndroidActiv
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val source by lazy {
|
||||
DynamicBufferSource(maximalInitialBufferSize = 256)
|
||||
}
|
||||
|
||||
val SPRITE = ResourceLocation(OverdriveThatMatters.MOD_ID, "textures/item/black_hole.png").element(0f, 0f, 16f, 16f, 16f, 16f)
|
||||
|
||||
val POWER_COST_DESCRIPTION =
|
||||
|
@ -62,7 +62,12 @@ private fun equals(existing: ImmutableList<RenderType>?, types: ImmutableList<Re
|
||||
*
|
||||
* Allows to batch OTM's geometry
|
||||
*/
|
||||
class DynamicBufferSource(val minimalBufferSize: Int = 0) : MultiBufferSource {
|
||||
class DynamicBufferSource(val minimalInitialBufferSize: Int = 0, val maximalInitialBufferSize: Int = Int.MAX_VALUE) : MultiBufferSource {
|
||||
init {
|
||||
require(minimalInitialBufferSize >= 0) { "Invalid minimal buffer size $minimalInitialBufferSize" }
|
||||
require(maximalInitialBufferSize >= minimalInitialBufferSize) { "Maximal buffer size $maximalInitialBufferSize must be greater or equal to minimal buffer size $minimalInitialBufferSize" }
|
||||
}
|
||||
|
||||
private inner class State(
|
||||
val type: RenderType,
|
||||
var after: ImmutableList<RenderType>? = null,
|
||||
@ -95,7 +100,7 @@ class DynamicBufferSource(val minimalBufferSize: Int = 0) : MultiBufferSource {
|
||||
var priority = -1
|
||||
var dirty: Boolean = false
|
||||
val builder by lazy(LazyThreadSafetyMode.NONE) {
|
||||
BufferBuilder(type.bufferSize().coerceAtLeast(minimalBufferSize))
|
||||
BufferBuilder(type.bufferSize().coerceAtLeast(minimalInitialBufferSize).coerceAtMost(maximalInitialBufferSize))
|
||||
}
|
||||
}
|
||||
|
||||
@ -387,8 +392,8 @@ class DynamicBufferSource(val minimalBufferSize: Int = 0) : MultiBufferSource {
|
||||
}
|
||||
|
||||
companion object {
|
||||
val GUI = DynamicBufferSource()
|
||||
val WORLD = DynamicBufferSource(2 shl 16)
|
||||
val GUI = DynamicBufferSource(maximalInitialBufferSize = 2 shl 8)
|
||||
val WORLD = DynamicBufferSource(minimalInitialBufferSize = 2 shl 12)
|
||||
|
||||
/**
|
||||
* Called from LevelRenderer
|
||||
|
@ -6,13 +6,15 @@ import com.mojang.blaze3d.vertex.*
|
||||
import com.mojang.math.Matrix4f
|
||||
import net.minecraft.client.renderer.GameRenderer
|
||||
import net.minecraft.client.renderer.RenderStateShard
|
||||
import net.minecraft.client.renderer.RenderStateShard.LineStateShard
|
||||
import net.minecraft.client.renderer.RenderType
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite
|
||||
import org.lwjgl.opengl.GL11
|
||||
import org.lwjgl.opengl.GL11.GL_ALWAYS
|
||||
import org.lwjgl.opengl.GL11.GL_LESS
|
||||
import ru.dbotthepony.mc.otm.client.minecraft
|
||||
import ru.dbotthepony.mc.otm.core.RGBAColor
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayDeque
|
||||
import kotlin.math.PI
|
||||
import kotlin.math.acos
|
||||
import kotlin.math.cos
|
||||
@ -692,6 +694,28 @@ val coloredRectRenderType by lazy {
|
||||
builder.createCompositeState(false)) as RenderType
|
||||
}
|
||||
|
||||
val linesIgnoreZRenderType by lazy {
|
||||
@Suppress("INACCESSIBLE_TYPE")
|
||||
RenderType.create(
|
||||
"lines_ignore_z",
|
||||
DefaultVertexFormat.POSITION_COLOR_NORMAL,
|
||||
VertexFormat.Mode.LINES,
|
||||
256,
|
||||
false,
|
||||
false,
|
||||
RenderType.CompositeState.builder()
|
||||
.setShaderState(RenderStateShard.RENDERTYPE_LINES_SHADER)
|
||||
.setLineState(LineStateShard(OptionalDouble.empty()))
|
||||
.setLayeringState(RenderStateShard.VIEW_OFFSET_Z_LAYERING)
|
||||
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
|
||||
.setOutputState(RenderStateShard.ITEM_ENTITY_TARGET)
|
||||
.setWriteMaskState(RenderStateShard.COLOR_DEPTH_WRITE)
|
||||
.setCullState(RenderStateShard.NO_CULL)
|
||||
.setDepthTestState(RenderStateShard.NO_DEPTH_TEST)
|
||||
.createCompositeState(false)
|
||||
) as RenderType
|
||||
}
|
||||
|
||||
fun VertexConsumer.quad(
|
||||
pose: PoseStack,
|
||||
x: Float,
|
||||
|
@ -22,6 +22,7 @@ import ru.dbotthepony.mc.otm.NULLABLE_MINECRAFT_SERVER
|
||||
import ru.dbotthepony.mc.otm.block.entity.WorkerState
|
||||
import ru.dbotthepony.mc.otm.block.entity.matter.MatterReplicatorBlockEntity
|
||||
import ru.dbotthepony.mc.otm.client.minecraft
|
||||
import ru.dbotthepony.mc.otm.client.render.DynamicBufferSource
|
||||
import ru.dbotthepony.mc.otm.client.render.lockBlendFunc
|
||||
import ru.dbotthepony.mc.otm.client.render.popScissorRect
|
||||
import ru.dbotthepony.mc.otm.client.render.pushScissorRect
|
||||
@ -37,6 +38,7 @@ class MatterReplicatorRenderer(private val context: BlockEntityRendererProvider.
|
||||
companion object {
|
||||
private val smoke = DustParticleOptions(Vector3f(1f, 1f, 1f), 1f)
|
||||
private val rand = XoroshiroRandomSource(System.nanoTime(), System.currentTimeMillis())
|
||||
private val source = DynamicBufferSource(maximalInitialBufferSize = 2 shl 10)
|
||||
}
|
||||
|
||||
override fun render(
|
||||
@ -85,10 +87,6 @@ class MatterReplicatorRenderer(private val context: BlockEntityRendererProvider.
|
||||
0
|
||||
)
|
||||
|
||||
val source = minecraft.renderBuffers().bufferSource()
|
||||
|
||||
source.endBatch()
|
||||
|
||||
context.itemRenderer.render(
|
||||
item,
|
||||
ItemTransforms.TransformType.NONE,
|
||||
|
@ -79,3 +79,96 @@ public com.mojang.math.Matrix3f f_8142_ # m22
|
||||
|
||||
public-f net.minecraft.world.inventory.Slot f_40220_ # x
|
||||
public-f net.minecraft.world.inventory.Slot f_40221_ # y
|
||||
|
||||
public net.minecraft.client.renderer.LevelRenderer m_109782_(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/phys/shapes/VoxelShape;DDDFFFF)V # renderShape
|
||||
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110135_ # ADDITIVE_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173097_ # BLOCK_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110146_ # BLOCK_SHEET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110145_ # BLOCK_SHEET_MIPPED
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110128_ # CLOUDS_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110114_ # COLOR_DEPTH_WRITE
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110115_ # COLOR_WRITE
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110138_ # CRUMBLING_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110158_ # CULL
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110130_ # DEFAULT_LINE
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110148_ # DEFAULT_TEXTURING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110116_ # DEPTH_WRITE
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110151_ # ENTITY_GLINT_TEXTURING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110112_ # EQUAL_DEPTH_TEST
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110150_ # GLINT_TEXTURING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110137_ # GLINT_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110129_ # ITEM_ENTITY_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110113_ # LEQUAL_DEPTH_TEST
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110152_ # LIGHTMAP
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110136_ # LIGHTNING_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110123_ # MAIN_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173098_ # NEW_ENTITY_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110110_ # NO_CULL
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110111_ # NO_DEPTH_TEST
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110117_ # NO_LAYERING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110153_ # NO_LIGHTMAP
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110155_ # NO_OVERLAY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173096_ # NO_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110147_ # NO_TEXTURE
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110134_ # NO_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110124_ # OUTLINE_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110154_ # OVERLAY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110126_ # PARTICLES_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110118_ # POLYGON_OFFSET_LAYERING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173099_ # POSITION_COLOR_LIGHTMAP_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173104_ # POSITION_COLOR_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173103_ # POSITION_COLOR_TEX_LIGHTMAP_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173101_ # POSITION_COLOR_TEX_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173100_ # POSITION_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173102_ # POSITION_TEX_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173111_ # RENDERTYPE_ARMOR_CUTOUT_NO_CULL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173079_ # RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173078_ # RENDERTYPE_ARMOR_GLINT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173068_ # RENDERTYPE_BEACON_BEAM_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173085_ # RENDERTYPE_CRUMBLING_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173106_ # RENDERTYPE_CUTOUT_MIPPED_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173107_ # RENDERTYPE_CUTOUT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173094_ # RENDERTYPE_END_GATEWAY_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173093_ # RENDERTYPE_END_PORTAL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173074_ # RENDERTYPE_ENERGY_SWIRL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173072_ # RENDERTYPE_ENTITY_ALPHA_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173114_ # RENDERTYPE_ENTITY_CUTOUT_NO_CULL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173063_ # RENDERTYPE_ENTITY_CUTOUT_NO_CULL_Z_OFFSET_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173113_ # RENDERTYPE_ENTITY_CUTOUT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173069_ # RENDERTYPE_ENTITY_DECAL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173084_ # RENDERTYPE_ENTITY_GLINT_DIRECT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173083_ # RENDERTYPE_ENTITY_GLINT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173070_ # RENDERTYPE_ENTITY_NO_OUTLINE_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173071_ # RENDERTYPE_ENTITY_SHADOW_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173067_ # RENDERTYPE_ENTITY_SMOOTH_CUTOUT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173112_ # RENDERTYPE_ENTITY_SOLID_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173065_ # RENDERTYPE_ENTITY_TRANSLUCENT_CULL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_234323_ # RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173066_ # RENDERTYPE_ENTITY_TRANSLUCENT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173073_ # RENDERTYPE_EYES_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173082_ # RENDERTYPE_GLINT_DIRECT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173081_ # RENDERTYPE_GLINT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173080_ # RENDERTYPE_GLINT_TRANSLUCENT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173064_ # RENDERTYPE_ITEM_ENTITY_TRANSLUCENT_CULL_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173075_ # RENDERTYPE_LEASH_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173091_ # RENDERTYPE_LIGHTNING_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173095_ # RENDERTYPE_LINES_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173077_ # RENDERTYPE_OUTLINE_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173105_ # RENDERTYPE_SOLID_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173090_ # RENDERTYPE_TEXT_INTENSITY_SEE_THROUGH_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173087_ # RENDERTYPE_TEXT_INTENSITY_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173088_ # RENDERTYPE_TEXT_SEE_THROUGH_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173086_ # RENDERTYPE_TEXT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173109_ # RENDERTYPE_TRANSLUCENT_MOVING_BLOCK_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173110_ # RENDERTYPE_TRANSLUCENT_NO_CRUMBLING_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173108_ # RENDERTYPE_TRANSLUCENT_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173092_ # RENDERTYPE_TRIPWIRE_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173076_ # RENDERTYPE_WATER_MASK_SHADER
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110125_ # TRANSLUCENT_TARGET
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110139_ # TRANSLUCENT_TRANSPARENCY
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110119_ # VIEW_OFFSET_Z_LAYERING
|
||||
public net.minecraft.client.renderer.RenderStateShard f_173089_ # VIEW_SCALE_Z_EPSILON
|
||||
public net.minecraft.client.renderer.RenderStateShard f_110127_ # WEATHER_TARGET
|
||||
|
||||
public net.minecraft.client.renderer.RenderStateShard$LineStateShard
|
||||
|
Loading…
Reference in New Issue
Block a user