So I actually figured it out!
Here's my code, from the item I'm using as a "portal":
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
System.out.println(world.provider.getDimensionName());
switch(world.provider.dimensionId) {
case 1885:
travelTime(0, player);
break;
case 0:
travelTime(1885, player);
break;
}
return stack;
}
public void travelTime(int dimensionID, Entity player) {
if (!player.worldObj.isRemote && !player.isDead) {
MinecraftServer mcServer = MinecraftServer.getServer();
WorldServer newWorld = mcServer.worldServerForDimension(dimensionID);
mcServer.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP)player, dimensionID, new TimeTeleporter(newWorld));
}
}
My TimeTeleporter() class is just an extension of Teleporter, but to use the same basic Teleporter as default, you should use this:
mcServer.worldServerForDimension(dimensionID).func_85176_s()
as the third parameter