mirror of
https://github.com/chylex/Hardcore-Ender-Expansion-2.git
synced 2025-04-11 03:15:44 +02:00
Implement Ender Causatum stage triggers for entered territories
This commit is contained in:
parent
291a61162e
commit
08a14fddab
src/main/java/chylex/hee/game
@ -2,12 +2,15 @@ package chylex.hee.game.block
|
||||
import chylex.hee.game.block.entity.TileEntityEndPortalAcceptor
|
||||
import chylex.hee.game.block.entity.TileEntityPortalInner
|
||||
import chylex.hee.game.block.info.BlockBuilder
|
||||
import chylex.hee.game.mechanics.causatum.CausatumStage
|
||||
import chylex.hee.game.mechanics.causatum.EnderCausatum
|
||||
import chylex.hee.game.mechanics.portal.DimensionTeleporter
|
||||
import chylex.hee.game.mechanics.portal.EntityPortalContact
|
||||
import chylex.hee.init.ModBlocks
|
||||
import chylex.hee.system.util.Pos
|
||||
import chylex.hee.system.util.closestTickingTile
|
||||
import net.minecraft.entity.Entity
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.tileentity.TileEntity
|
||||
import net.minecraft.util.math.BlockPos
|
||||
import net.minecraft.world.World
|
||||
@ -33,6 +36,10 @@ class BlockEndPortalInner(builder: BlockBuilder) : BlockAbstractPortal(builder){
|
||||
(min, max) -> DimensionTeleporter.LastEndPortal.updateForEntity(entity, Pos((min.x + max.x) / 2, pos.y, (min.z + max.z) / 2))
|
||||
}
|
||||
|
||||
if (entity is EntityPlayer){
|
||||
EnderCausatum.triggerStage(entity, CausatumStage.S2_ENTERED_END)
|
||||
}
|
||||
|
||||
entity.changeDimension(1, DimensionTeleporter.EndSpawnPortal)
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import chylex.hee.game.block.entity.TileEntityPortalInner
|
||||
import chylex.hee.game.block.entity.TileEntityVoidPortalStorage
|
||||
import chylex.hee.game.block.info.BlockBuilder
|
||||
import chylex.hee.game.block.util.Property
|
||||
import chylex.hee.game.mechanics.causatum.EnderCausatum
|
||||
import chylex.hee.game.mechanics.portal.DimensionTeleporter
|
||||
import chylex.hee.game.mechanics.portal.EntityPortalContact
|
||||
import chylex.hee.game.mechanics.portal.SpawnInfo
|
||||
@ -48,6 +49,10 @@ class BlockVoidPortalInner(builder: BlockBuilder) : BlockAbstractPortal(builder)
|
||||
val targetVec = info.pos.center.subtractY(0.45)
|
||||
|
||||
if (entity is EntityLivingBase){
|
||||
if (entity is EntityPlayer){
|
||||
TerritoryInstance.fromPos(info.pos)?.let { EnderCausatum.triggerStage(entity, it.territory.stage) }
|
||||
}
|
||||
|
||||
info.yaw?.let { entity.rotationYaw = it }
|
||||
entity.rotationPitch = 0F
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
package chylex.hee.game.world.territory
|
||||
import chylex.hee.game.mechanics.causatum.CausatumStage
|
||||
import chylex.hee.game.mechanics.causatum.CausatumStage.S2_ENTERED_END
|
||||
import chylex.hee.game.mechanics.causatum.CausatumStage.S3_FINISHED_CURSED_LIBRARY
|
||||
import chylex.hee.game.world.generation.SegmentedWorld
|
||||
import chylex.hee.game.world.generation.TerritoryGenerationInfo
|
||||
import chylex.hee.game.world.territory.descriptions.Territory_ArcaneConjunctions
|
||||
@ -21,7 +24,8 @@ enum class TerritoryType(
|
||||
val desc: ITerritoryDescription,
|
||||
val gen: ITerritoryGenerator,
|
||||
val chunks: Int,
|
||||
val height: IntRange
|
||||
val height: IntRange,
|
||||
val stage: CausatumStage = S2_ENTERED_END
|
||||
){
|
||||
THE_HUB(
|
||||
title = "the_hub",
|
||||
@ -108,7 +112,8 @@ enum class TerritoryType(
|
||||
desc = TerritoryDummy,
|
||||
gen = GeneratorDummy,
|
||||
chunks = 34,
|
||||
height = 128 until 256
|
||||
height = 128 until 256,
|
||||
stage = S3_FINISHED_CURSED_LIBRARY
|
||||
);
|
||||
|
||||
companion object{
|
||||
|
Loading…
Reference in New Issue
Block a user