make sure monoliths will teleport people to limbo regardless of dimension.
This commit is contained in:
parent
1f6c71ec1b
commit
96ce1a8243
1 changed files with 3 additions and 1 deletions
|
@ -11,6 +11,7 @@ import net.minecraft.world.entity.ai.goal.Goal;
|
||||||
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
|
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import org.dimdev.dimdoors.DimensionalDoors;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
import org.dimdev.dimdoors.api.util.TeleportUtil;
|
||||||
import org.dimdev.dimdoors.entity.MonolithEntity;
|
import org.dimdev.dimdoors.entity.MonolithEntity;
|
||||||
import org.dimdev.dimdoors.entity.stat.ModStats;
|
import org.dimdev.dimdoors.entity.stat.ModStats;
|
||||||
import org.dimdev.dimdoors.item.ModItems;
|
import org.dimdev.dimdoors.item.ModItems;
|
||||||
|
@ -19,6 +20,7 @@ import org.dimdev.dimdoors.network.packet.s2c.MonolithAggroParticlesPacket;
|
||||||
import org.dimdev.dimdoors.network.packet.s2c.MonolithTeleportParticlesPacket;
|
import org.dimdev.dimdoors.network.packet.s2c.MonolithTeleportParticlesPacket;
|
||||||
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
||||||
import org.dimdev.dimdoors.tag.ModItemTags;
|
import org.dimdev.dimdoors.tag.ModItemTags;
|
||||||
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -112,7 +114,7 @@ public class MonolithAggroGoal extends Goal {
|
||||||
// Teleport the target player if various conditions are met
|
// Teleport the target player if various conditions are met
|
||||||
if (this.mob.getAggro() >= MAX_AGGRO && DimensionalDoors.getConfig().getMonolithsConfig().monolithTeleportation && !this.target.isCreative() && this.mob.isDangerous()) {
|
if (this.mob.getAggro() >= MAX_AGGRO && DimensionalDoors.getConfig().getMonolithsConfig().monolithTeleportation && !this.target.isCreative() && this.mob.isDangerous()) {
|
||||||
this.mob.setAggro(0);
|
this.mob.setAggro(0);
|
||||||
this.target.teleportTo(this.target.getX(), this.target.getY() + 256, this.target.getZ());
|
TeleportUtil.teleport(this.target, DimensionalDoors.getWorld(ModDimensions.LIMBO), this.target.position().add(0, 256, 0f), this.target.getVisualRotationYInDegrees());
|
||||||
this.target.level().playSound(null, new BlockPos(new Vec3i((int) this.target.position().x, (int) this.target.position().y, (int) this.target.position().z)), ModSoundEvents.CRACK.get(), SoundSource.HOSTILE, 13, 1);
|
this.target.level().playSound(null, new BlockPos(new Vec3i((int) this.target.position().x, (int) this.target.position().y, (int) this.target.position().z)), ModSoundEvents.CRACK.get(), SoundSource.HOSTILE, 13, 1);
|
||||||
this.target.awardStat(ModStats.TIMES_TELEPORTED_BY_MONOLITH);
|
this.target.awardStat(ModStats.TIMES_TELEPORTED_BY_MONOLITH);
|
||||||
ServerPacketHandler.get((ServerPlayer) this.target).sendPacket(new MonolithTeleportParticlesPacket());
|
ServerPacketHandler.get((ServerPlayer) this.target).sendPacket(new MonolithTeleportParticlesPacket());
|
||||||
|
|
Loading…
Reference in a new issue