Remove "phantom not spawned" achievement
This commit is contained in:
parent
ce224d6fe7
commit
9f78291b79
@ -4,24 +4,17 @@ import net.minecraft.advancements.Advancement
|
|||||||
import net.minecraft.advancements.AdvancementRewards
|
import net.minecraft.advancements.AdvancementRewards
|
||||||
import net.minecraft.advancements.FrameType
|
import net.minecraft.advancements.FrameType
|
||||||
import net.minecraft.advancements.RequirementsStrategy
|
import net.minecraft.advancements.RequirementsStrategy
|
||||||
import net.minecraft.advancements.critereon.DamagePredicate
|
|
||||||
import net.minecraft.advancements.critereon.DamageSourcePredicate
|
|
||||||
import net.minecraft.advancements.critereon.EntityPredicate
|
import net.minecraft.advancements.critereon.EntityPredicate
|
||||||
import net.minecraft.advancements.critereon.InventoryChangeTrigger
|
|
||||||
import net.minecraft.advancements.critereon.ItemPredicate
|
import net.minecraft.advancements.critereon.ItemPredicate
|
||||||
import net.minecraft.advancements.critereon.MinMaxBounds.Doubles
|
import net.minecraft.advancements.critereon.MinMaxBounds.Doubles
|
||||||
import net.minecraft.advancements.critereon.PlayerHurtEntityTrigger
|
|
||||||
import net.minecraft.resources.ResourceLocation
|
|
||||||
import net.minecraft.world.entity.EntityType
|
import net.minecraft.world.entity.EntityType
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
import net.minecraft.world.item.Items
|
import net.minecraft.world.item.Items
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper
|
import net.minecraftforge.common.data.ExistingFileHelper
|
||||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
|
||||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
|
||||||
import ru.dbotthepony.mc.otm.registry.MItems
|
import ru.dbotthepony.mc.otm.registry.MItems
|
||||||
import ru.dbotthepony.mc.otm.registry.MNames
|
import ru.dbotthepony.mc.otm.registry.MNames
|
||||||
import ru.dbotthepony.mc.otm.triggers.AndroidBatteryTrigger
|
import ru.dbotthepony.mc.otm.triggers.AndroidBatteryTrigger
|
||||||
@ -35,7 +28,6 @@ import ru.dbotthepony.mc.otm.triggers.EnderTeleporterFallDeathTrigger
|
|||||||
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.KillAsAndroidTrigger
|
import ru.dbotthepony.mc.otm.triggers.KillAsAndroidTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.NanobotsArmorTrigger
|
import ru.dbotthepony.mc.otm.triggers.NanobotsArmorTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.PhantomSpawnDeniedTrigger
|
|
||||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger
|
import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger
|
import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
@ -139,23 +131,8 @@ fun addAndroidAdvancements(serializer: Consumer<Advancement>, existingFileHelper
|
|||||||
.addCriterion("become_humane", BecomeHumaneTrigger.Instance)
|
.addCriterion("become_humane", BecomeHumaneTrigger.Instance)
|
||||||
.save(serializer, modLocation("android/become_humane"), existingFileHelper)
|
.save(serializer, modLocation("android/become_humane"), existingFileHelper)
|
||||||
|
|
||||||
val phantoms = AdvancementBuilder()
|
|
||||||
.parent(root)
|
|
||||||
.display(
|
|
||||||
itemStack = ItemStack(Items.PHANTOM_MEMBRANE),
|
|
||||||
title = translation.add("phantom_spawn_denied", "Insomnia Immune") {
|
|
||||||
russian("Пере-бессоница")
|
|
||||||
},
|
|
||||||
description = translation.add("phantom_spawn_denied.desc", "Have Phantoms not come after you because you are not someone who needs to sleep") {
|
|
||||||
russian("Не привлеките внимание Фантомов, так как вы не тот, кому надо спать")
|
|
||||||
},
|
|
||||||
hidden = true
|
|
||||||
)
|
|
||||||
.addCriterion("phantom_spawn_denied", PhantomSpawnDeniedTrigger.Instance)
|
|
||||||
.save(serializer, modLocation("android/phantom_spawn_denied"), existingFileHelper)
|
|
||||||
|
|
||||||
val attractor = AdvancementBuilder()
|
val attractor = AdvancementBuilder()
|
||||||
.parent(phantoms)
|
.parent(root)
|
||||||
.display(
|
.display(
|
||||||
itemStack = ItemStack(MItems.PHANTOM_ATTRACTOR),
|
itemStack = ItemStack(MItems.PHANTOM_ATTRACTOR),
|
||||||
title = translation.add("phantom_attractor", "Eversleeping Decoy") {
|
title = translation.add("phantom_attractor", "Eversleeping Decoy") {
|
||||||
|
@ -78,9 +78,7 @@ import ru.dbotthepony.mc.otm.triggers.BecomeAndroidDeathTrigger
|
|||||||
import ru.dbotthepony.mc.otm.triggers.BecomeAndroidSleepTrigger
|
import ru.dbotthepony.mc.otm.triggers.BecomeAndroidSleepTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.BecomeAndroidTrigger
|
import ru.dbotthepony.mc.otm.triggers.BecomeAndroidTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.BecomeHumaneTrigger
|
import ru.dbotthepony.mc.otm.triggers.BecomeHumaneTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.PhantomSpawnDeniedTrigger
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.function.Predicate
|
|
||||||
import java.util.stream.Stream
|
import java.util.stream.Stream
|
||||||
import kotlin.collections.ArrayDeque
|
import kotlin.collections.ArrayDeque
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
@ -1261,32 +1259,6 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun canEntitySpawn(event: LivingSpawnEvent.CheckSpawn) {
|
|
||||||
if (event.spawnReason == MobSpawnType.NATURAL && event.entity is Phantom) {
|
|
||||||
for (ply in event.entity.level.players()) {
|
|
||||||
if (!ply.isSpectator && ply.matteryPlayer?.isAndroid == true) {
|
|
||||||
val feature = (ply.matteryPlayer?.getFeature(AndroidFeatures.PHANTOM_ATTRACTOR) as AndroidSwitchableFeature?)
|
|
||||||
|
|
||||||
if (feature?.isActive != true) {
|
|
||||||
if (
|
|
||||||
ply.position.y in event.y - 36.0 .. event.y - 19.0 &&
|
|
||||||
ply.position.x in event.x - 12.0 .. event.x + 12.0 &&
|
|
||||||
ply.position.z in event.z - 12.0 .. event.z + 12.0
|
|
||||||
) {
|
|
||||||
event.result = Event.Result.DENY
|
|
||||||
|
|
||||||
if (feature == null && ply is ServerPlayer) {
|
|
||||||
PhantomSpawnDeniedTrigger.trigger(ply)
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* this method is hooked through coremod transformer
|
* this method is hooked through coremod transformer
|
||||||
*/
|
*/
|
||||||
|
@ -45,7 +45,6 @@ import ru.dbotthepony.mc.otm.triggers.BlackHoleTrigger
|
|||||||
import ru.dbotthepony.mc.otm.triggers.EnderTeleporterFallDeathTrigger
|
import ru.dbotthepony.mc.otm.triggers.EnderTeleporterFallDeathTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.NanobotsArmorTrigger
|
import ru.dbotthepony.mc.otm.triggers.NanobotsArmorTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.PhantomSpawnDeniedTrigger
|
|
||||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger
|
import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger
|
||||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger
|
import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger
|
||||||
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
package ru.dbotthepony.mc.otm.triggers
|
|
||||||
|
|
||||||
import com.google.gson.JsonObject
|
|
||||||
import net.minecraft.advancements.critereon.AbstractCriterionTriggerInstance
|
|
||||||
import net.minecraft.advancements.critereon.DeserializationContext
|
|
||||||
import net.minecraft.advancements.critereon.EntityPredicate.Composite
|
|
||||||
import net.minecraft.advancements.critereon.SimpleCriterionTrigger
|
|
||||||
import net.minecraft.resources.ResourceLocation
|
|
||||||
import net.minecraft.server.level.ServerPlayer
|
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
|
||||||
|
|
||||||
object PhantomSpawnDeniedTrigger : SimpleCriterionTrigger<PhantomSpawnDeniedTrigger.Instance>() {
|
|
||||||
val ID = ResourceLocation(OverdriveThatMatters.MOD_ID, "phantom_spawn_denied")
|
|
||||||
|
|
||||||
override fun getId(): ResourceLocation {
|
|
||||||
return ID
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun createInstance(
|
|
||||||
p_66248_: JsonObject,
|
|
||||||
p_66249_: Composite,
|
|
||||||
p_66250_: DeserializationContext
|
|
||||||
): Instance {
|
|
||||||
return Instance
|
|
||||||
}
|
|
||||||
|
|
||||||
fun trigger(player: ServerPlayer) {
|
|
||||||
trigger(player) { true }
|
|
||||||
}
|
|
||||||
|
|
||||||
object Instance : AbstractCriterionTriggerInstance(ID, Composite.ANY)
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user