1
0
mirror of https://github.com/chylex/Hardcore-Ender-Expansion-2.git synced 2025-05-13 20:34:03 +02:00

Update Kotlin to 1.7.0

This commit is contained in:
chylex 2022-06-20 21:34:30 +02:00
parent 2b343108bc
commit 2cb463f0aa
Signed by: chylex
GPG Key ID: 4DE42C8F19A80548
9 changed files with 17 additions and 14 deletions
build.gradle
modules/util/src/main/java/chylex/hee/util/nbt
src/main/java/chylex/hee
client/render/entity
game

View File

@ -16,7 +16,7 @@ buildscript {
ext {
forge_gradle_version = "4.1.+"
mixin_gradle_version = "0.7-SNAPSHOT"
kotlin_version = "1.5.20"
kotlin_version = "1.7.0"
}
repositories {
@ -83,16 +83,13 @@ allprojects {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions {
jvmTarget = "1.8"
apiVersion = "1.5"
languageVersion = "1.5"
useIR = true
apiVersion = "1.7"
languageVersion = "1.7"
freeCompilerArgs = [
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
"-Xjvm-default=all",
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
"-XXLanguage:+InlineClasses"
"-XXLanguage:+InlineClasses",
]
}
}

View File

@ -15,6 +15,7 @@ import net.minecraftforge.common.util.Constants.NBT
import org.apache.logging.log4j.Logger
import java.util.Locale
import java.util.UUID
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
typealias NBTBase = net.minecraft.nbt.INBT
@ -54,12 +55,14 @@ inline fun TagCompound.hasKey(key: String, type: Int): Boolean {
return this.contains(key, type)
}
@OptIn(ExperimentalContracts::class)
@JvmName("isNotNullAndHasKey")
inline fun TagCompound?.hasKey(key: String): Boolean {
contract { returns(true) implies (this@hasKey != null) }
return this != null && this.hasKey(key)
}
@OptIn(ExperimentalContracts::class)
@JvmName("isNotNullAndHasKey")
inline fun TagCompound?.hasKey(key: String, type: Int): Boolean {
contract { returns(true) implies (this@hasKey != null) }

View File

@ -49,13 +49,13 @@ class RenderEntityTokenHolder(manager: EntityRendererManager) : EntityRenderer<E
matrix.rotateX(55F)
matrix.rotateZ(55F)
ModelEntityTokenHolder.render(matrix, buffer.getBuffer(RenderType.getEntityTranslucent(getEntityTexture(entity) ?: textures.getValue(NORMAL))), combinedLight, OverlayTexture.NO_OVERLAY, 1F, 1F, 1F, alpha)
ModelEntityTokenHolder.render(matrix, buffer.getBuffer(RenderType.getEntityTranslucent(getEntityTexture(entity))), combinedLight, OverlayTexture.NO_OVERLAY, 1F, 1F, 1F, alpha)
matrix.pop()
matrix.pop()
}
override fun getEntityTexture(entity: EntityTokenHolder): ResourceLocation? {
return textures[entity.tokenType]
override fun getEntityTexture(entity: EntityTokenHolder): ResourceLocation {
return textures.getValue(entity.tokenType)
}
}

View File

@ -36,6 +36,7 @@ abstract class TileEntityBasePortalController(type: TileEntityType<out TileEntit
when (clientRenderState) {
Invisible -> clientAnimationProgress.update(max(0F, clientAnimationProgress - clientAnimationFadeOutSpeed))
is Animating -> clientAnimationProgress.update(min(1F, clientAnimationProgress + clientAnimationFadeInSpeed))
else -> {}
}
}

View File

@ -128,6 +128,6 @@ abstract class EntityMobAbstractEnderman(type: EntityType<out EntityMobAbstractE
override fun isDamageAbsolute() = source.isDamageAbsolute
override fun canHarmInCreative() = source.canHarmInCreative()
override fun getDeathMessage(victim: LivingEntity): ITextComponent? = source.getDeathMessage(victim)
override fun getDeathMessage(victim: LivingEntity): ITextComponent = source.getDeathMessage(victim)
}
}

View File

@ -47,6 +47,7 @@ class AITargetAttackerFixed(entity: MobEntity, private val callReinforcements: B
private fun alertOthers() {
val maxDistance = targetDistance
val goalOwner = goalOwner
val (x, y, z) = goalOwner.posVec
val friendlies = goalOwner.world.getLoadedEntitiesWithinAABB(goalOwner.javaClass, AxisAlignedBB(x, y, z, x + 1.0, y + 1.0, z + 1.0).grow(maxDistance, 10.0, maxDistance))

View File

@ -5,7 +5,8 @@ import chylex.hee.game.mechanics.instability.region.IRegionEntryConstructor
import chylex.hee.util.math.shlong
import net.minecraft.util.math.BlockPos
inline class Entry5x5(override val compacted: Long) : IRegionEntry {
@JvmInline
value class Entry5x5(override val compacted: Long) : IRegionEntry {
private companion object {
private const val MASK_X = 0x00000_FFFFFL
private const val MASK_Z = 0xFFFFF_00000L

View File

@ -9,7 +9,7 @@ import net.minecraft.item.crafting.SpecialRecipeSerializer
abstract class RecipeBaseDynamic : ICraftingRecipe {
private val serializer = SpecialRecipeSerializer { this }
final override fun getId() = serializer.registryName
final override fun getId() = serializer.registryName!!
final override fun getSerializer() = serializer
final override fun isDynamic() = true

View File

@ -337,7 +337,7 @@ object Generator_ObsidianTowers : ITerritoryGenerator {
private fun generate(world: SegmentedWorld, rand: Random, island: Island, builder: ObsidianTowerBuilder) {
island.generateBase(world, rand)
island.generatePillars(world, rand, amount = (1 + island.radius).ceilToInt(), exclusionRadius = 8.0)
builder.build(rand)?.generate(OffsetStructureWorld(world, island.center.subtract(ObsidianTowerPieces.STRUCTURE_SIZE.getPos(CENTER, MIN, CENTER))))
builder.build(rand).generate(OffsetStructureWorld(world, island.center.subtract(ObsidianTowerPieces.STRUCTURE_SIZE.getPos(CENTER, MIN, CENTER))))
}
}