Current code
This commit is contained in:
parent
f93c4e3670
commit
2767e36e2c
13 changed files with 140 additions and 40 deletions
|
@ -1,8 +1,12 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.items.ModItems;
|
import com.zixiken.dimdoors.items.ModItems;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
|
import com.zixiken.dimdoors.shared.RiftRegistry;
|
||||||
|
import com.zixiken.dimdoors.tileentities.DDTileEntityBase;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
@ -19,7 +23,13 @@ public class BlockDimDoor extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
|
TileEntity te = location.getTileEntity();
|
||||||
|
|
||||||
|
if(te != null && te instanceof DDTileEntityBase) {
|
||||||
|
int id = ((DDTileEntityBase) te).riftID;
|
||||||
|
RiftRegistry.Instance.pair(id, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,7 +3,9 @@ package com.zixiken.dimdoors.blocks;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.DimDoors;
|
import com.zixiken.dimdoors.DimDoors;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import com.zixiken.dimdoors.shared.RiftRegistry;
|
import com.zixiken.dimdoors.shared.RiftRegistry;
|
||||||
|
import com.zixiken.dimdoors.shared.TeleportHelper;
|
||||||
import com.zixiken.dimdoors.tileentities.DDTileEntityBase;
|
import com.zixiken.dimdoors.tileentities.DDTileEntityBase;
|
||||||
import com.zixiken.dimdoors.tileentities.TileEntityDimDoor;
|
import com.zixiken.dimdoors.tileentities.TileEntityDimDoor;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -22,6 +24,7 @@ import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.RayTraceResult;
|
import net.minecraft.util.math.RayTraceResult;
|
||||||
|
import net.minecraft.world.Teleporter;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
@ -34,7 +37,21 @@ public abstract class BlockDimDoorBase extends BlockDoor implements IDimDoor, IT
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||||
enterDimDoor(world, pos, entity);
|
IBlockState down = world.getBlockState(pos.down());
|
||||||
|
if (!world.isRemote && down.getBlock() == this) {
|
||||||
|
if (down.getValue(BlockDoor.OPEN)
|
||||||
|
&& entity instanceof EntityPlayer
|
||||||
|
&& isEntityFacingDoor(down, (EntityLivingBase) entity)) {
|
||||||
|
enterDimDoor(world, pos, entity);
|
||||||
|
this.toggleDoor(world, pos, false);
|
||||||
|
DimDoors.log(BlockDimDoorBase.class, "RiftID = " + getRiftTile(world, pos, world.getBlockState(pos)).riftID + " Derp");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
BlockPos up = pos.up();
|
||||||
|
if (world.getBlockState(up).getBlock() == this) {
|
||||||
|
enterDimDoor(world, up, entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,8 +83,6 @@ public abstract class BlockDimDoorBase extends BlockDoor implements IDimDoor, IT
|
||||||
@Override
|
@Override
|
||||||
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
||||||
if (state.getValue(BlockDoor.HALF) == EnumDoorHalf.UPPER) {
|
if (state.getValue(BlockDoor.HALF) == EnumDoorHalf.UPPER) {
|
||||||
world.setTileEntity(pos, createNewTileEntity(world, 0));
|
|
||||||
updateAttachedTile(world, pos);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,24 +128,25 @@ public abstract class BlockDimDoorBase extends BlockDoor implements IDimDoor, IT
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(World world, int metadata) {
|
public TileEntity createNewTileEntity(World world, int metadata) {
|
||||||
return new TileEntityDimDoor();
|
TileEntityDimDoor dimDoor = new TileEntityDimDoor();
|
||||||
|
updateAttachedTile(world, dimDoor.getPos());
|
||||||
|
placeLink(new Location(world, dimDoor.getPos()));
|
||||||
|
|
||||||
|
return dimDoor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enterDimDoor(World world, BlockPos pos, Entity entity) {
|
public void enterDimDoor(World world, BlockPos pos, Entity entity) {
|
||||||
// Check that this is the top block of the door
|
TileEntity te = world.getTileEntity(pos);
|
||||||
IBlockState state = world.getBlockState(pos.down());
|
|
||||||
if (!world.isRemote && state.getBlock() == this) {
|
if(te != null && te instanceof DDTileEntityBase) {
|
||||||
if (state.getValue(BlockDoor.OPEN)
|
DDTileEntityBase base = (DDTileEntityBase) te;
|
||||||
&& entity instanceof EntityPlayer
|
Location loc = RiftRegistry.Instance.getRiftLocation(base.pairedRiftID);
|
||||||
&& isEntityFacingDoor(state, (EntityLivingBase) entity)) {
|
|
||||||
this.toggleDoor(world, pos, false);
|
if(loc != null && loc.getTileEntity() instanceof DDTileEntityBase) {
|
||||||
//DimDoors.log("RiftID = " + getRiftTile(world, pos, world.getBlockState(pos)).riftID);
|
loc = ((DDTileEntityBase) loc.getTileEntity()).getTeleportTarget();
|
||||||
}
|
|
||||||
} else {
|
TeleportHelper.teleport(entity, loc);
|
||||||
BlockPos up = pos.up();
|
|
||||||
if (world.getBlockState(up).getBlock() == this) {
|
|
||||||
enterDimDoor(world, up, entity);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.items.ModItems;
|
import com.zixiken.dimdoors.items.ModItems;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import com.zixiken.dimdoors.tileentities.TileEntityDimDoorGold;
|
import com.zixiken.dimdoors.tileentities.TileEntityDimDoorGold;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
@ -21,7 +22,7 @@ public class BlockDimDoorGold extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.items.ModItems;
|
import com.zixiken.dimdoors.items.ModItems;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
@ -18,7 +19,7 @@ public class BlockDimDoorPersonal extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
|
@ -41,7 +42,7 @@ public class BlockDimDoorTransient extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.items.ModItems;
|
import com.zixiken.dimdoors.items.ModItems;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
|
@ -23,7 +24,7 @@ public class BlockDimDoorUnstable extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.items.ModItems;
|
import com.zixiken.dimdoors.items.ModItems;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
@ -18,7 +19,7 @@ public class BlockDimDoorWarp extends BlockDimDoorBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.zixiken.dimdoors.blocks;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import com.zixiken.dimdoors.DimDoors;
|
import com.zixiken.dimdoors.DimDoors;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockTrapDoor;
|
import net.minecraft.block.BlockTrapDoor;
|
||||||
import net.minecraft.block.ITileEntityProvider;
|
import net.minecraft.block.ITileEntityProvider;
|
||||||
|
@ -77,7 +78,7 @@ public class BlockTransTrapdoor extends BlockTrapDoor implements IDimDoor, ITile
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
||||||
this.placeLink(world, pos);
|
this.placeLink(new Location(world, pos));
|
||||||
world.setTileEntity(pos, createNewTileEntity(world, getMetaFromState(state)));
|
world.setTileEntity(pos, createNewTileEntity(world, getMetaFromState(state)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +88,7 @@ public class BlockTransTrapdoor extends BlockTrapDoor implements IDimDoor, ITile
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placeLink(World world, BlockPos pos) {
|
public void placeLink(Location location) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zixiken.dimdoors.blocks;
|
package com.zixiken.dimdoors.blocks;
|
||||||
|
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -23,12 +24,9 @@ public interface IDimDoor {
|
||||||
/**
|
/**
|
||||||
* called when a door is placed to determine how it will place a link
|
* called when a door is placed to determine how it will place a link
|
||||||
*
|
*
|
||||||
* @param world
|
* @param location
|
||||||
* @param x
|
|
||||||
* @param y
|
|
||||||
* @param z
|
|
||||||
*/
|
*/
|
||||||
public void placeLink(World world, BlockPos pos);
|
public void placeLink(Location location);
|
||||||
|
|
||||||
public Item getItemDoor();
|
public Item getItemDoor();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zixiken.dimdoors.shared;
|
package com.zixiken.dimdoors.shared;
|
||||||
|
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.nbt.NBTBase;
|
import net.minecraft.nbt.NBTBase;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -13,22 +14,44 @@ import net.minecraftforge.common.DimensionManager;
|
||||||
*/
|
*/
|
||||||
public class Location {
|
public class Location {
|
||||||
|
|
||||||
public int dimensionID;
|
private int dimensionID;
|
||||||
public BlockPos pos;
|
private BlockPos pos;
|
||||||
|
|
||||||
Location(int dimID, int x, int y, int z) {
|
public Location(World world, BlockPos pos) {
|
||||||
this.dimensionID = dimID;
|
this(world.provider.getDimension(), pos);
|
||||||
pos = new BlockPos(x, y, z);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Location(int dimID, BlockPos pos) {
|
public Location(World world, int x, int y, int z) {
|
||||||
|
this(world, new BlockPos(x,y,z));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location(int dimID, int x, int y, int z) {
|
||||||
|
this(dimID, new BlockPos(x, y, z));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location(int dimID, BlockPos pos) {
|
||||||
this.dimensionID = dimID;
|
this.dimensionID = dimID;
|
||||||
this.pos = pos.up(0); //copyOf
|
this.pos = pos.up(0); //copyOf
|
||||||
}
|
}
|
||||||
|
|
||||||
public TileEntity getTileEntity() {
|
public TileEntity getTileEntity() {
|
||||||
World world = DimensionManager.getWorld(dimensionID); //@todo HOW?
|
return getWorld().getTileEntity(pos);
|
||||||
return world.getTileEntity(pos);
|
}
|
||||||
|
|
||||||
|
public IBlockState getBlockState() {
|
||||||
|
return getWorld().getBlockState(getPos());
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlockPos getPos() {
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public World getWorld() {
|
||||||
|
return DimensionManager.getWorld(dimensionID); //@todo HOW?
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDimensionID() {
|
||||||
|
return dimensionID;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Location getLocation(TileEntity tileEntity) {
|
static Location getLocation(TileEntity tileEntity) {
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.zixiken.dimdoors.shared;
|
||||||
|
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.Teleporter;
|
||||||
|
import net.minecraft.world.WorldServer;
|
||||||
|
|
||||||
|
public class TeleportHelper extends Teleporter {
|
||||||
|
|
||||||
|
Location location;
|
||||||
|
|
||||||
|
public TeleportHelper(Location location) {
|
||||||
|
super((WorldServer) location.getWorld());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void placeInPortal(Entity entityIn, float rotationYaw) {
|
||||||
|
BlockPos pos = location.getPos();
|
||||||
|
entityIn.setPositionAndUpdate(pos.getX() + .5, pos.getY() + .05, pos.getZ() + .5);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void teleport(Entity entity, Location location) {
|
||||||
|
Teleporter tele = new TeleportHelper(location);
|
||||||
|
if (entity instanceof EntityPlayerMP) {
|
||||||
|
location.getWorld().getMinecraftServer().getPlayerList().transferPlayerToDimension((EntityPlayerMP) entity, location.getDimensionID(), tele);
|
||||||
|
} else {
|
||||||
|
location.getWorld().getMinecraftServer().getPlayerList().transferEntityToWorld(entity, entity.world.provider.getDimension(), (WorldServer) entity.world, (WorldServer) location.getWorld(), tele);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zixiken.dimdoors.tileentities;
|
package com.zixiken.dimdoors.tileentities;
|
||||||
|
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
import com.zixiken.dimdoors.shared.RiftRegistry;
|
import com.zixiken.dimdoors.shared.RiftRegistry;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
@ -84,4 +85,8 @@ public abstract class DDTileEntityBase extends TileEntity {
|
||||||
this.markDirty();
|
this.markDirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Location getTeleportTarget() {
|
||||||
|
return new Location(this.getWorld().provider.getDimension(), this.getPos());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,17 @@ package com.zixiken.dimdoors.tileentities;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import com.zixiken.dimdoors.blocks.BlockDimDoor;
|
||||||
|
import com.zixiken.dimdoors.shared.Location;
|
||||||
|
import com.zixiken.dimdoors.shared.RiftRegistry;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
|
|
||||||
public class TileEntityDimDoor extends DDTileEntityBase {
|
public class TileEntityDimDoor extends DDTileEntityBase {
|
||||||
|
|
||||||
public boolean openOrClosed;
|
public boolean openOrClosed;
|
||||||
public EnumFacing orientation;
|
public EnumFacing orientation = EnumFacing.SOUTH;
|
||||||
public boolean hasExit;
|
public boolean hasExit;
|
||||||
public byte lockStatus;
|
public byte lockStatus;
|
||||||
public boolean isDungeonChainLink;
|
public boolean isDungeonChainLink;
|
||||||
|
@ -30,7 +34,7 @@ public class TileEntityDimDoor extends DDTileEntityBase {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
|
public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
|
||||||
super.writeToNBT(nbt);
|
super.writeToNBT(nbt);
|
||||||
|
|
||||||
nbt.setBoolean("openOrClosed", this.openOrClosed);
|
nbt.setBoolean("openOrClosed", this.openOrClosed);
|
||||||
nbt.setBoolean("hasExit", this.hasExit);
|
nbt.setBoolean("hasExit", this.hasExit);
|
||||||
|
@ -55,4 +59,11 @@ public class TileEntityDimDoor extends DDTileEntityBase {
|
||||||
|
|
||||||
return rgbaColor;
|
return rgbaColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*@Override
|
||||||
|
public Location getTeleportTarget() {
|
||||||
|
EnumFacing facing = getWorld().getBlockState(getPos()).getValue(BlockDimDoor.FACING);
|
||||||
|
|
||||||
|
return new Location(world, pos.offset(facing));
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue