Skip to content

Commit 9bd0350

Browse files
committed
Synced with 1.15.2.
Signed-off-by: Pavel Erokhin (MairwunNx) <[email protected]>
1 parent 96a7271 commit 9bd0350

File tree

4 files changed

+34
-15
lines changed

4 files changed

+34
-15
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ kotlin.code.style=official
1515
kotlin_version=1.3.72
1616
kotlinx_serialization_version=0.20.0
1717
# Module informatation.
18-
module_version=2.0.1-RC.1+MC-1.14.4
18+
module_version=2.0.1+MC-1.14.4
1919
module_name=Project Essentials Spawn
2020
module_id=project_essentials_spawn
2121
module_vendor=MairwunNx (Pavel Erokhin)

readme.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/LICENSEs) [![GitHub Release](https://img.shields.io/github/release/ProjectEssentials/ProjectEssentials-Spawn.svg?style=flat)]() [![Donate](https://img.shields.io/badge/$-support-ff69b4.svg?style=flat)](https://paypal.me/mairwunnx) [![Discord Chat](https://img.shields.io/discord/308323056592486420.svg)](https://discord.gg/VU9XZAt)
2+
13
### What is it
24

35
How we control spawn point! Adds literally two commands to configure players spawn point in the game world.
46

57
### Explore
68

7-
#### [Download mod](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/releases/download/2.0.0%2BMC-1.14.4/Project.Essentials.Spawn-2.0.0+MC-1.14.4.jar) · [User guide](https://mairwunnx.gitbook.io/project-essentials/project-essentials-spawn#how-to-install) · [Troubleshooting](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/issues/new/choose) · [Telegram](https://t.me/minecraftforge) · [Discord](https://discord.gg/VU9XZAt) · [Change log](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/changelog.md)
9+
#### [Download mod](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/releases/download/2.0.1%2BMC-1.14.4/Project.Essentials.Spawn-2.0.1+MC-1.14.4.jar) · [Documentation and Guides](https://projectessentials.github.io/manual) · [Troubleshooting](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/issues/new/choose) · [Telegram](https://t.me/minecraftforge) · [Discord](https://discord.gg/VU9XZAt) · [CurseForge](https://www.curseforge.com/minecraft/mc-mods/project-essentials-spawn) · [Change log](https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/changelog.md)
810

911
[![](https://github.com/ProjectEssentials/ProjectEssentials-Assets/raw/ASSETS-20-Q2/assets/common/support.png)](https://gist.github.com/MairwunNx/fda95062618db6880ef8ee06e1bba54f)
1012

src/main/kotlin/com/mairwunnx/projectessentials/spawn/ModuleObject.kt

+27-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
@file:Suppress("unused", "SENSELESS_COMPARISON")
1+
@file:Suppress("unused", "SENSELESS_COMPARISON", "UNNECESSARY_SAFE_CALL")
22

33
package com.mairwunnx.projectessentials.spawn
44

55
import com.mairwunnx.projectessentials.core.api.v1.configuration.ConfigurationAPI.getConfigurationByName
6+
import com.mairwunnx.projectessentials.core.api.v1.extensions.asPlayerEntity
67
import com.mairwunnx.projectessentials.core.api.v1.localization.LocalizationAPI
78
import com.mairwunnx.projectessentials.core.api.v1.module.IModule
89
import com.mairwunnx.projectessentials.core.api.v1.providers.ProviderAPI
910
import com.mairwunnx.projectessentials.spawn.commands.SetSpawnCommand
1011
import com.mairwunnx.projectessentials.spawn.commands.SpawnCommand
1112
import com.mairwunnx.projectessentials.spawn.configurations.SpawnConfiguration
13+
import net.minecraft.entity.player.PlayerEntity
1214
import net.minecraft.entity.player.ServerPlayerEntity
1315
import net.minecraft.world.dimension.DimensionType
16+
import net.minecraft.world.dimension.DimensionType.getById
1417
import net.minecraftforge.common.MinecraftForge.EVENT_BUS
1518
import net.minecraftforge.event.entity.player.PlayerEvent
1619
import net.minecraftforge.eventbus.api.EventPriority
@@ -25,7 +28,7 @@ val spawnConfiguration by lazy {
2528

2629
fun forceTeleportToSpawn(player: ServerPlayerEntity) {
2730
val targetWorld = player.server.getWorld(
28-
DimensionType.getById(spawnConfiguration.take().dimensionId) ?: DimensionType.OVERWORLD
31+
getById(spawnConfiguration.take().dimensionId) ?: DimensionType.OVERWORLD
2932
)
3033
with(spawnConfiguration.take()) {
3134
player.teleport(targetWorld, xPos + 0.5, yPos + 0.5, zPos + 0.5, yaw, pitch)
@@ -75,20 +78,33 @@ class ModuleObject : IModule {
7578
}
7679
}
7780

81+
private val handledForSpawn = mutableSetOf<String>()
82+
7883
@SubscribeEvent(priority = EventPriority.HIGHEST)
7984
fun onPlayerRespawn(event: PlayerEvent.Clone) {
85+
if (!event.isWasDeath) return
8086
val player = event.original as ServerPlayerEntity
81-
if (player.bedPosition.isPresent) {
82-
player.server.worlds.forEach {
83-
val pos = player.getBedLocation(it.dimension.type)
84-
if (pos != null) {
87+
player.server.worlds.forEach {
88+
player.getBedLocation(it.dimension.type)?.let { pos ->
89+
if (
90+
PlayerEntity.func_213822_a(
91+
player.server.getWorld(player.dimension), pos, false
92+
).isPresent
93+
) {
8594
player.teleport(
86-
it,
87-
pos.x.toDouble() + 0.5, pos.y.toDouble() + 0.5, pos.z.toDouble() + 0.5,
95+
it, pos.x.toDouble() + 0.5, pos.y.toDouble() + 0.5, pos.z.toDouble() + 0.5,
8896
player.rotationYaw, player.rotationPitch
89-
)
90-
}
97+
).let { return }
98+
} else handledForSpawn.add(player.name.string)
9199
}
92-
} else forceTeleportToSpawn(player)
100+
}
101+
handledForSpawn.add(player.name.string)
102+
}
103+
104+
@SubscribeEvent(priority = EventPriority.HIGHEST)
105+
fun onPlayerRespawnPost(event: PlayerEvent.PlayerRespawnEvent) {
106+
if (event.player.name.string !in handledForSpawn) return
107+
handledForSpawn.remove(event.player.name.string)
108+
forceTeleportToSpawn(event.player.asPlayerEntity)
93109
}
94110
}

updatev2.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
22
"homepage": "https://github.com/ProjectEssentials/ProjectEssentials-Spawn",
33
"1.14.4": {
4+
"2.0.1": "change log -> https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/changelog.md#201---2020-06-20",
45
"2.0.1-RC.1": "change log -> https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/changelog.md#201-rc.1---2020-06-13",
56
"2.0.0": "change log -> https://github.com/ProjectEssentials/ProjectEssentials-Spawn/blob/master/changelog.md#200---2020-06-08"
67
},
78
"promos": {
8-
"1.14.4-latest": "2.0.1-RC.1",
9-
"1.14.4-recommended": "2.0.0"
9+
"1.14.4-latest": "2.0.1",
10+
"1.14.4-recommended": "2.0.1"
1011
}
1112
}

0 commit comments

Comments
 (0)