From de53f204202e2d2cd3848b97f8e1b169f16a58e0 Mon Sep 17 00:00:00 2001 From: Runemoro Date: Sat, 23 Dec 2017 19:06:56 -0500 Subject: [PATCH] A few fixes --- build.gradle | 2 +- .../dimdoors/shared/VirtualLocation.java | 1 - .../shared/blocks/BlockDimensionalDoor.java | 27 +------------------ .../blocks/BlockDimensionalDoorPersonal.java | 1 + .../dimdoors/shared/blocks/IRiftProvider.java | 6 +++-- 5 files changed, 7 insertions(+), 30 deletions(-) diff --git a/build.gradle b/build.gradle index 0b0fff8e..05a487b8 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ compileJava { minecraft { version = "1.12.2-14.23.1.2555" runDir = "run" - mappings = "snapshot_20171216" + mappings = "snapshot_20171007" replace '${version}', project.version //replace '${spongeSchematicVersion}', spongeSchematicVersion // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. diff --git a/src/main/java/com/zixiken/dimdoors/shared/VirtualLocation.java b/src/main/java/com/zixiken/dimdoors/shared/VirtualLocation.java index 6fb12f0e..7f73e038 100644 --- a/src/main/java/com/zixiken/dimdoors/shared/VirtualLocation.java +++ b/src/main/java/com/zixiken/dimdoors/shared/VirtualLocation.java @@ -53,7 +53,6 @@ public class VirtualLocation { // TODO: use BlockPos/Location return nbt; } - // TODO: move to VirtualLocation public static VirtualLocation fromLocation(Location location) { // TODO: reverse function too VirtualLocation virtualLocation = null; if (DimDoorDimensions.isPocketDimension(location.getDim())) { diff --git a/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoor.java b/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoor.java index 0a570495..9c96be43 100644 --- a/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoor.java +++ b/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoor.java @@ -117,32 +117,7 @@ public abstract class BlockDimensionalDoor extends BlockDoor implements IRiftPro @Override public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { super.onBlockAdded(worldIn, pos, state); - if (hasTileEntity(state) && !DimDoors.disableRiftSetup) { // TODO: better check for disableRiftSetup (support other plugins such as WorldEdit, support doors being placed while schematics are being placed) - TileEntityEntranceRift rift = createNewTileEntity(worldIn, getMetaFromState(state)); - - // Set the virtual location based on where the door was placed - VirtualLocation virtualLocation = null; - if (DimDoorDimensions.isPocketDimension(WorldUtils.getDim(worldIn))) { - Pocket pocket = PocketRegistry.getForDim(WorldUtils.getDim(worldIn)).getPocketFromLocation(pos.getY(), pos.getY(), pos.getZ()); - if (pocket != null) { - virtualLocation = pocket.getVirtualLocation(); - } else { - virtualLocation = new VirtualLocation(0, 0, 0, 0, 0); // TODO: door was placed in a pocket dim but outside of a pocket... - } - } - if (virtualLocation == null) { - virtualLocation = new VirtualLocation(WorldUtils.getDim(worldIn), pos.getX(), pos.getY(), pos.getZ(), 0); - } - rift.setVirtualLocation(virtualLocation); - - // Configure the rift to its default functionality - setupRift(rift); - - // Set the tile entity and register it - worldIn.setTileEntity(pos, rift); - rift.markDirty(); - rift.register(); - } + handleRiftPlaced(worldIn, pos, state); } @Override diff --git a/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoorPersonal.java b/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoorPersonal.java index 7b364386..c612bfe9 100644 --- a/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoorPersonal.java +++ b/src/main/java/com/zixiken/dimdoors/shared/blocks/BlockDimensionalDoorPersonal.java @@ -26,6 +26,7 @@ public class BlockDimensionalDoorPersonal extends BlockDimensionalDoor { @Override public void setupRift(TileEntityEntranceRift rift) { + DimDoors.log.info("Setting up the rift!"); RiftDestination.PrivateDestination destination = RiftDestination.PrivateDestination.builder().build(); rift.setSingleDestination(destination); rift.setChaosWeight(0); diff --git a/src/main/java/com/zixiken/dimdoors/shared/blocks/IRiftProvider.java b/src/main/java/com/zixiken/dimdoors/shared/blocks/IRiftProvider.java index 80efbee3..0aa5b6df 100644 --- a/src/main/java/com/zixiken/dimdoors/shared/blocks/IRiftProvider.java +++ b/src/main/java/com/zixiken/dimdoors/shared/blocks/IRiftProvider.java @@ -6,8 +6,10 @@ import com.zixiken.dimdoors.shared.rifts.TileEntityRift; import ddutils.Location; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.state.IBlockState; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; public interface IRiftProvider extends ITileEntityProvider { @@ -21,11 +23,11 @@ public interface IRiftProvider extends ITileEntityProv public T createNewTileEntity(World world, int meta); public default void handleRiftPlaced(World world, BlockPos pos, IBlockState state) { - if (hasTileEntity(state) && !DimDoors.disableRiftSetup) { // TODO: better check for disableRiftSetup (support other plugins such as WorldEdit, support doors being placed while schematics are being placed) + if (hasTileEntity(state) && !DimDoors.disableRiftSetup) { T rift = createNewTileEntity(world, state.getBlock().getMetaFromState(state)); // Set the rift's virtual position - rift.setVirtualLocation(VirtualLocation.fromLocation(new Location(rift.getWorld(), rift.getPos()))); + rift.setVirtualLocation(VirtualLocation.fromLocation(new Location(world, pos))); // Configure the rift to its default functionality setupRift(rift);