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.FrameType
|
||||
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.InventoryChangeTrigger
|
||||
import net.minecraft.advancements.critereon.ItemPredicate
|
||||
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.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
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.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
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.MNames
|
||||
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.KillAsAndroidTrigger
|
||||
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.ShockwaveTrigger
|
||||
import java.util.function.Consumer
|
||||
@ -139,23 +131,8 @@ fun addAndroidAdvancements(serializer: Consumer<Advancement>, existingFileHelper
|
||||
.addCriterion("become_humane", BecomeHumaneTrigger.Instance)
|
||||
.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()
|
||||
.parent(phantoms)
|
||||
.parent(root)
|
||||
.display(
|
||||
itemStack = ItemStack(MItems.PHANTOM_ATTRACTOR),
|
||||
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.BecomeAndroidTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.BecomeHumaneTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.PhantomSpawnDeniedTrigger
|
||||
import java.util.*
|
||||
import java.util.function.Predicate
|
||||
import java.util.stream.Stream
|
||||
import kotlin.collections.ArrayDeque
|
||||
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
|
||||
*/
|
||||
|
@ -45,7 +45,6 @@ import ru.dbotthepony.mc.otm.triggers.BlackHoleTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.EnderTeleporterFallDeathTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
||||
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.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